准分离在 R 二项式 GLM 中重要吗?

Does Quasi Separation matter in R binomial GLM?

我正在学习准分离如何影响 R 二项式 GLM。我开始认为在某些情况下没有关系。

在我的理解中,我们说数据有准分离,当 一些因子水平的线性组合可以完全识别 failure/non-failure.

所以我在 R 中创建了一个具有准分离的人工数据集:

fail <- c(100,100,100,100)
nofail <- c(100,100,0,100)
x1 <- c(1,0,1,0)
x2 <- c(0,0,1,1)
data <- data.frame(fail,nofail,x1,x2)
rownames(data) <- paste("obs",1:4)

然后当x1=1 和x2=1 (obs 3) 数据总是不会失败。 在此数据中,我的协变量矩阵具有三列:截距、x1 和 x2。

在我的理解中,准分离导致无限值的估计。所以 glm fit 应该会失败。但是,以下 glm 拟合不会失败:

summary(glm(cbind(fail,nofail)~x1+x2,data=data,family=binomial))

结果是:

Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept)  -0.4342     0.1318  -3.294 0.000986 ***
x1            0.8684     0.1660   5.231 1.69e-07 ***
x2            0.8684     0.1660   5.231 1.69e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

标准。即使有准分离,错误似乎也很合理。 谁能告诉我为什么准分离不影响 glm 拟合结果?

您构建了一个有趣的示例,但您没有测试一个模型,该模型实际检查您描述为准分离的情况。当您说:"when x1=1 and x2=1 (obs 3) the data always fails." 时,您是在暗示模型中需要一个交互项。请注意,这会产生 "more interesting" 结果:

> summary(glm(cbind(fail,nofail)~x1*x2,data=data,family=binomial))

Call:
glm(formula = cbind(fail, nofail) ~ x1 * x2, family = binomial, 
    data = data)

Deviance Residuals: 
[1]  0  0  0  0

Coefficients:
              Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.367e-17  1.414e-01   0.000        1
x1           2.675e-17  2.000e-01   0.000        1
x2           2.965e-17  2.000e-01   0.000        1
x1:x2        2.731e+01  5.169e+04   0.001        1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1.2429e+02  on 3  degrees of freedom
Residual deviance: 2.7538e-10  on 0  degrees of freedom
AIC: 25.257

Number of Fisher Scoring iterations: 22

人们通常需要非常怀疑 2.731e+01 的 beta 系数:隐式优势比 i:

 > exp(2.731e+01)
[1] 725407933166

在这个工作环境下,Inf 和 725,407,933,166 确实没有 material 区别。