亲爱的大家-我注意到我无法解释的怪事,可以吗?总之:在logistic回归模型中计算置信区间的手动方法和R函数confint()得出不同的结果。
我一直在研究Hosmer&Lemeshow的Applied Logistic回归(第二版)。在第3章中,有一个计算比值比和95%置信区间的示例。使用R,我可以轻松地重现模型:
Call:
glm(formula = dataset$CHD ~ as.factor(dataset$dich.age), family = "binomial")
Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.734  -0.847  -0.847   0.709   1.549  
Coefficients:
                             Estimate Std. Error z value Pr(>|z|)    
(Intercept)                   -0.8408     0.2551  -3.296  0.00098 ***
as.factor(dataset$dich.age)1   2.0935     0.5285   3.961 7.46e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 
(Dispersion parameter for binomial family taken to be 1)
    Null deviance: 136.66  on 99  degrees of freedom
Residual deviance: 117.96  on 98  degrees of freedom
AIC: 121.96
Number of Fisher Scoring iterations: 4
但是,当我计算参数的置信区间时,我得到的间隔与文本中给出的间隔不同:
> exp(confint(model))
Waiting for profiling to be done...
                                 2.5 %     97.5 %
(Intercept)                  0.2566283  0.7013384
as.factor(dataset$dich.age)1 3.0293727 24.7013080
Hosmer&Lemeshow建议使用以下公式:
他们计算出的置信区间为as.factor(dataset$dich.age)1(2.9,22.9)。
这在R中似乎很简单:
# upper CI for beta
exp(summary(model)$coefficients[2,1]+1.96*summary(model)$coefficients[2,2])
# lower CI for beta
exp(summary(model)$coefficients[2,1]-1.96*summary(model)$coefficients[2,2])
给出与本书相同的答案。
但是,对于为什么confint()似乎会给出不同结果的任何想法?我已经看到了许多使用的示例confint()。