Tại sao giá trị p của tôi khác nhau giữa đầu ra hồi quy logistic, kiểm tra chi bình phương và khoảng tin cậy cho OR?


37

Tôi đã xây dựng một hồi quy logistic trong đó biến kết quả đang được chữa khỏi sau khi được điều trị ( Cureso với No Cure). Tất cả bệnh nhân trong nghiên cứu này được điều trị. Tôi quan tâm xem liệu có bị tiểu đường có liên quan đến kết quả này không.

Trong R đầu ra hồi quy logistic của tôi trông như sau:

Call:
glm(formula = Cure ~ Diabetes, family = binomial(link = "logit"), data = All_patients)
...
Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept)   1.2735     0.1306   9.749   <2e-16 ***
Diabetes     -0.5597     0.2813  -1.990   0.0466 *  
...
    Null deviance: 456.55  on 415  degrees of freedom
Residual deviance: 452.75  on 414  degrees of freedom
  (2 observations deleted due to missingness)
AIC: 456.75

Tuy nhiên, khoảng tin cậy cho tỷ lệ cược bao gồm 1 :

                   OR     2.5 %   97.5 %
(Intercept) 3.5733333 2.7822031 4.646366
Diabetes    0.5713619 0.3316513 1.003167

Khi tôi thực hiện kiểm tra chi bình phương trên các dữ liệu này, tôi nhận được như sau:

data:  check
X-squared = 3.4397, df = 1, p-value = 0.06365

Nếu bạn muốn tự mình tính toán thì việc phân phối bệnh tiểu đường trong các nhóm được chữa khỏi và không được chữa khỏi như sau:

Diabetic cure rate:      49 /  73 (67%)
Non-diabetic cure rate: 268 / 343 (78%)

Câu hỏi của tôi là: Tại sao giá trị p và khoảng tin cậy bao gồm 1 đồng ý?


Làm thế nào là khoảng tin cậy cho bệnh tiểu đường được tính toán? Nếu bạn sử dụng ước tính tham số và lỗi tiêu chuẩn để tạo Wald CI, bạn sẽ nhận được exp (-. 5597 + 1.96 * .2813) = .99168 làm điểm cuối trên.
hard2fathom

@ hard2fathom, rất có thể OP đã sử dụng confint(). Tức là, khả năng đã được định hình. Bằng cách đó, bạn có được các TCTD tương tự như LRT. Tính toán của bạn là đúng, nhưng tạo thành Wald CIs thay thế. Có nhiều thông tin hơn trong câu trả lời của tôi dưới đây.
gung - Tái lập Monica

Tôi đã nâng cấp nó sau khi tôi đọc nó cẩn thận hơn. Có ý nghĩa.
hard2fathom

Câu trả lời:


64

Với các mô hình tuyến tính tổng quát, có ba loại thử nghiệm thống kê khác nhau có thể được chạy. Đó là: kiểm tra Wald, kiểm tra tỷ lệ khả năng và kiểm tra điểm số. Trang web trợ giúp thống kê UCLA tuyệt vời có một cuộc thảo luận về chúng ở đây . Hình dưới đây (được sao chép từ trang web của họ) giúp minh họa chúng:

nhập mô tả hình ảnh ở đây

  1. Các thử nghiệm Wald giả định rằng khả năng được phân phối bình thường, và trên cơ sở đó, sử dụng các mức độ cong để ước tính sai số chuẩn. Sau đó, ước tính tham số chia cho SE mang lại một điểm . Điều này giữ dưới lớn , nhưng không hoàn toàn đúng với s nhỏ hơn . Thật khó để nói khi của bạn đủ lớn để tài sản này nắm giữ, vì vậy thử nghiệm này có thể hơi rủi ro. zNNN
  2. Các thử nghiệm tỷ lệ khả năng xem xét tỷ lệ của khả năng (hoặc sự khác biệt về khả năng đăng nhập) ở mức tối đa và ở mức không. Đây thường được coi là thử nghiệm tốt nhất.
  3. Bài kiểm tra điểm dựa trên độ dốc của khả năng ở giá trị null. Điều này thường ít mạnh mẽ hơn, nhưng có những lúc khả năng đầy đủ không thể được tính toán và vì vậy đây là một tùy chọn dự phòng tốt đẹp.

Các xét nghiệm đi kèm summary.glm()là các xét nghiệm Wald. Bạn không nói làm thế nào bạn có được khoảng tin cậy của mình, nhưng tôi cho rằng bạn đã sử dụng confint(), lần lượt gọi profile(). Cụ thể hơn, các khoảng tin cậy đó được tính bằng cách định hình khả năng (đây là cách tiếp cận tốt hơn so với nhân SE với ). Đó là, chúng tương tự như thử nghiệm tỷ lệ khả năng, không phải thử nghiệm Wald. Lần lượt -test là bài kiểm tra điểm. 1.96χ2

Khi của bạn trở nên lớn vô hạn, ba khác nhau sẽ hội tụ về cùng một giá trị, nhưng chúng có thể khác nhau đôi chút khi bạn không có dữ liệu vô hạn. Điều đáng chú ý là giá trị (Wald) trong đầu ra ban đầu của bạn chỉ là đáng kể và có rất ít sự khác biệt thực sự giữa chỉ hơn và chỉ dưới ( trích dẫn ). Dòng đó không phải là "ma thuật". Cho rằng hai bài kiểm tra đáng tin cậy hơn chỉ hơn , tôi sẽ nói rằng dữ liệu của bạn không hoàn toàn 'đáng kể' theo tiêu chí thông thường. Nppα=.05.05.05

Dưới đây tôi mô tả các hệ số theo thang đo của bộ dự báo tuyến tính và chạy thử nghiệm tỷ lệ khả năng một cách rõ ràng (thông qua anova.glm()). Tôi nhận được kết quả tương tự như bạn:

library(MASS)
x = matrix(c(343-268,268,73-49,49), nrow=2, byrow=T);  x
#      [,1] [,2]
# [1,]   75  268
# [2,]   24   49
D = factor(c("N","Diabetes"), levels=c("N","Diabetes"))
m = glm(x~D, family=binomial)
summary(m)
# ...
# Coefficients:
#             Estimate Std. Error z value Pr(>|z|)    
# (Intercept)  -1.2735     0.1306  -9.749   <2e-16 ***
# DDiabetes     0.5597     0.2813   1.990   0.0466 *  
# ...
confint(m)
# Waiting for profiling to be done...
#                    2.5 %    97.5 %
# (Intercept) -1.536085360 -1.023243
# DDiabetes   -0.003161693  1.103671
anova(m, test="LRT")
# ...
#      Df Deviance Resid. Df Resid. Dev Pr(>Chi)  
# NULL                     1     3.7997           
# D     1   3.7997         0     0.0000  0.05126 .
chisq.test(x)
#         Pearson's Chi-squared test with Yates' continuity correction
# 
# X-squared = 3.4397, df = 1, p-value = 0.06365

Như @JWilliman đã chỉ ra trong một nhận xét (hiện đã bị xóa), trong đó R, bạn cũng có thể nhận được giá trị p dựa trên điểm số bằng cách sử dụng anova.glm(model, test="Rao"). Trong ví dụ bên dưới, lưu ý rằng giá trị p không hoàn toàn giống như trong phép thử chi bình phương ở trên, bởi vì theo mặc định, R's chisq.test()áp dụng hiệu chỉnh liên tục. Nếu chúng ta thay đổi cài đặt đó, giá trị p khớp với:

anova(m, test="Rao")
# ...
#      Df Deviance Resid. Df Resid. Dev   Rao Pr(>Chi)  
# NULL                     1     3.7997                 
# D     1   3.7997         0     0.0000 4.024  0.04486 *
chisq.test(x, correct=FALSE)
#   Pearson's Chi-squared test
# 
# data:  x
# X-squared = 4.024, df = 1, p-value = 0.04486

12
+1 Đây là một phân tích rất nhiều thông tin, giải quyết một số hành vi bí ẩn rõ ràng và có thẩm quyền và cung cấp hướng dẫn hữu ích.
whuber

Câu trả lời rất hay, mặc dù tôi không hiểu ý của bạn là gì bởi "Tôi sẽ nói rằng dữ liệu của bạn không hoàn toàn" đáng kể "theo tiêu chí thông thường".
mark999

@ mark999, các bài kiểm tra đáng tin cậy nhất ở đây (LRT & chi bình phương) đều nhỉnh hơn 0,05.
gung - Tái lập Monica
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.