不同的 GLM 结果(R 与 julia)

Different GLM Result (R vs. julia)

我 运行 R 和 Julia 中的基本逻辑回归。尽管使用相同的数据,但我得到了不同的结果。我使用了以下代码:

回复:

glm(Yi ~ welfare + married + college + agestar + smokernew + wprestar, 
    data=glm_data, family=binomial())

R Output:
Coefficients:
             Estimate Std. Error z value Pr(>|z|)  
(Intercept)  -2.44746    1.02790  -2.381   0.0173 *
welfare     -13.90825  554.61491  -0.025   0.9800  
married      -0.45701    0.37610  -1.215   0.2243  
college      -0.91454    0.54504  -1.678   0.0934 .
agestar       0.07857    0.13986   0.562   0.5743  
smokernew     0.78939    0.45357   1.740   0.0818 .
wprestar     -0.27257    0.11423  -2.386   0.0170 *

茱莉亚:

glm(Yi ~ welfare + married + college + agestar + smokernew + wprestar,
    glm_data, Binomial(), LogitLink())

Julia Output:
Coefficients:
              Estimate Std.Error   z value Pr(>|z|)
(Intercept)   -2.44746    1.0279  -2.38104   0.0173
welfare       -9.90825   75.0597 -0.132005   0.8950
married      -0.457005  0.376097  -1.21513   0.2243
college      -0.914541  0.545042  -1.67793   0.0934
agestar      0.0785672  0.139856  0.561774   0.5743
smokernew     0.789386  0.453571   1.74038   0.0818
wprestar      -0.27257  0.114234  -2.38605   0.0170

为什么?

除福利变量外,所有系数都相同。我检查了我的数据框,它们完全相同。

在不查看您的数据的情况下,我猜测您对 welfare 变量的响应 类 几乎完全分离。在逻辑尺度上估计 (+/-) 13 本质上是 (+/-) 无穷大,对应于零或一的估计概率。 Julia 对 -9.9 的估计基本上是相同的,只是它可能会提前一点终止迭代,因此 returns 无穷大的值略小。

这被称为 Hauck-Donner phenomenon and you can find questions about it on CrossValidated.com(statistics/ML StackExchange 站点)。