Tại sao có sự khác biệt giữa tính toán thủ công hồi quy logistic khoảng tin cậy 95% và sử dụng hàm confint () trong R?


34

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:

e[β^1±z1-α/2×SE^(β^1)]

và họ tính khoảng tin cậy as.factor(dataset$dich.age)1là (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().


1
Bạn có phiền khi thêm tài liệu tham khảo chính xác cho Hosmer & Lemeshow không? Tôi đã tìm kiếm gợi ý trong các bài học và sách của họ trong một thời gian khá lâu, nhưng vẫn chưa tìm thấy nó.
DavidR

Câu trả lời:


36

Sau khi lấy dữ liệu từ trang web đi kèm , đây là cách tôi sẽ làm:

chdage <- read.table("chdage.dat", header=F, col.names=c("id","age","chd"))
chdage$aged <- ifelse(chdage$age>=55, 1, 0)
mod.lr <- glm(chd ~ aged, data=chdage, family=binomial)
summary(mod.lr)

95% TCTD dựa trên khả năng hồ sơ được lấy với

require(MASS)
exp(confint(mod.lr))

Điều này thường là mặc định nếu MASSgói được tự động tải. Trong trường hợp này, tôi nhận được

                2.5 %     97.5 %
(Intercept) 0.2566283  0.7013384
aged        3.0293727 24.7013080

Bây giờ, nếu tôi muốn so sánh với 95% Wald CIs (dựa trên tính quy tắc tiệm cận) như cách bạn tính toán bằng tay, tôi sẽ sử dụng confint.default()thay thế; năng suất này

                2.5 %     97.5 %
(Intercept) 0.2616579  0.7111663
aged        2.8795652 22.8614705

Wald CIs tốt trong hầu hết các tình huống, mặc dù khả năng dựa trên hồ sơ có thể hữu ích với các chiến lược lấy mẫu phức tạp. Nếu bạn muốn nắm bắt ý tưởng về cách chúng hoạt động, đây là một tổng quan ngắn gọn về các nguyên tắc chính: Khoảng tin cậy theo phương pháp khả năng hồ sơ, với các ứng dụng trong dịch tễ học thú y . Bạn cũng có thể xem cuốn sách MASS của Venables và Ripley, §8.4, trang 220-221.


25

Theo dõi: khoảng tin cậy của hồ sơ đáng tin cậy hơn (chọn mức cắt thích hợp cho khả năng có liên quan đến giả định tiệm cận (mẫu lớn), nhưng đây là giả định yếu hơn nhiều so với giả định bề mặt bậc hai nằm dưới khoảng tin cậy Wald). Theo như tôi biết, không có tranh luận về số liệu thống kê Wald về khoảng tin cậy của hồ sơ ngoại trừ số liệu thống kê Wald nhanh hơn nhiều để tính toán và có thể "đủ tốt" trong nhiều trường hợp (nhưng đôi khi lại tắt: tìm kiếm Hauck- Hiệu ứng Donner).


2
Cảm ơn vì điều này, và vì đã gợi ý tôi tìm kiếm hiệu ứng Hauck-Donner. Hiệu quả không được điều trị nhiều trong sách giáo khoa nhưng có vẻ khá quan trọng!
Andrew

18

Tôi tin rằng nếu bạn xem xét tệp trợ giúp cho confint () bạn sẽ thấy rằng khoảng tin cậy được xây dựng là khoảng "hồ sơ" thay vì khoảng tin cậy Wald (công thức của bạn từ HL).


5
À Điều đó trả lời câu hỏi. Tuy nhiên, nó dẫn đến cái tiếp theo - cái nào được ưa thích hơn?
Andrew
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.