Các bạn thân mến - Tôi đã nhận thấy một điều kỳ lạ mà tôi không thể giải thích, bạn có thể không? Tóm lại: cách tiếp cận thủ công để tính toán khoảng tin cậy trong mô hình hồi quy logistic và hàm R confint()
cho kết quả khác nhau.
Tôi đã trải qua hồi quy logistic ứng dụng của Hosmer & Lemeshow (ấn bản 2). Trong chương 3 có một ví dụ về tính toán tỷ lệ chênh lệch và khoảng tin cậy 95%. Sử dụng R, tôi có thể dễ dàng tái tạo mô hình:
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
Tuy nhiên, khi tôi tính khoảng tin cậy của các tham số, tôi nhận được một khoảng khác với khoảng được đưa ra trong văn bản:
> 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 gợi ý công thức sau:
và họ tính khoảng tin cậy as.factor(dataset$dich.age)1
là (2.9, 22.9).
Điều này có vẻ đơn giản để làm trong 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])
đưa ra câu trả lời giống như cuốn sách.
Tuy nhiên, bất kỳ suy nghĩ về lý do tại sao confint()
dường như cho kết quả khác nhau? Tôi đã thấy rất nhiều ví dụ về những người sử dụng confint()
.