사랑하는 여러분, 제가 설명 할 수없는 이상한 것을 발견했습니다. 요약 : 로지스틱 회귀 모델에서 신뢰 구간을 계산하는 수동 방법과 R 함수 confint()
는 다른 결과를 제공합니다.
Hosmer & Lemeshow의 Applied Logistic Regression (2 판)을 진행했습니다. 세 번째 장에는 승산 비와 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()
.