Kiểm tra tỷ lệ khả năng và kiểm tra Wald cung cấp kết luận khác nhau cho glm trong R


11

Tôi đang sao chép một ví dụ từ Mô hình tổng quát, tuyến tính và hỗn hợp . MWE của tôi ở bên dưới:

Dilution <- c(1/128, 1/64, 1/32, 1/16, 1/8, 1/4, 1/2, 1, 2, 4)
NoofPlates <- rep(x=5, times=10)
NoPositive <- c(0, 0, 2, 2, 3, 4, 5, 5, 5, 5)
Data <- data.frame(Dilution,  NoofPlates, NoPositive)

fm1 <- glm(formula=NoPositive/NoofPlates~log(Dilution), family=binomial("logit"), data=Data)
summary(object=fm1)

Đầu ra


Call:
glm(formula = NoPositive/NoofPlates ~ log(Dilution), family = binomial("logit"), 
    data = Data)

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-0.38326  -0.20019   0.00871   0.15607   0.48505  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)
(Intercept)      4.174      2.800   1.491    0.136
log(Dilution)    1.623      1.022   1.587    0.112

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 8.24241  on 9  degrees of freedom
Residual deviance: 0.64658  on 8  degrees of freedom
AIC: 6.8563

Number of Fisher Scoring iterations: 6


anova(object=fm1, test="Chisq")

Đầu ra


Analysis of Deviance Table

Model: binomial, link: logit

Response: NoPositive/NoofPlates

Terms added sequentially (first to last)


              Df Deviance Resid. Df Resid. Dev Pr(>Chi)   
NULL                              9     8.2424            
log(Dilution)  1   7.5958         8     0.6466  0.00585 **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1


library(aod)
wald.test(b=coef(object=fm1), Sigma=vcov(object=fm1), Terms=2)

Đầu ra


Wald test:
----------

Chi-squared test:
X2 = 2.5, df = 1, P(> X2) = 0.11

Các hệ số ước tính hoàn toàn phù hợp với kết quả được đưa ra trong cuốn sách nhưng SE cách xa nhau. Dựa trên thử nghiệm LRT độ dốc là đáng kể nhưng dựa trên hệ số độ dốc thử nghiệm Wald và Z là không đáng kể. Tôi tự hỏi nếu tôi bỏ lỡ một cái gì đó cơ bản. Cảm ơn trước sự giúp đỡ của bạn.


Câu trả lời:


12

Vấn đề chính là nếu bạn sẽ sử dụng tỷ lệ làm biến phản hồi của mình, bạn nên sử dụng weightsđối số. Bạn phải bỏ qua một cảnh báo về "số nguyên không phải là số nguyên trong một nhị thức" ...

Dilution <- c(1/128, 1/64, 1/32, 1/16, 1/8, 1/4, 1/2, 1, 2, 4)
NoofPlates <- rep(x=5, times=10)
NoPositive <- c(0, 0, 2, 2, 3, 4, 5, 5, 5, 5)
Data <- data.frame(Dilution,  NoofPlates, NoPositive)


fm1 <- glm(formula=NoPositive/NoofPlates~log(Dilution),
     family=binomial("logit"), data=Data, weights=NoofPlates)

coef(summary(fm1))
##               Estimate Std. Error  z value     Pr(>|z|)
## (Intercept)   4.173698  1.2522190 3.333042 0.0008590205
## log(Dilution) 1.622552  0.4571016 3.549653 0.0003857398

anova(fm1,test="Chisq")
##               Df Deviance Resid. Df Resid. Dev  Pr(>Chi)    
## NULL                              9     41.212              
## log(Dilution)  1   37.979         8      3.233 7.151e-10 ***

Kết quả kiểm tra LRT và Wald vẫn khá khác nhau (giá trị của so với ), nhưng với mục đích thực tế, chúng tôi có thể tiếp tục nói rằng cả hai đều là rất có ý nghĩa ... (Trong trường hợp này (với một tham số duy nhất), cung cấp chính xác giá trị p giống như .)p4×1047×1010aod::wald.test()summary()

Khoảng tin cậy Wald vs hồ sơ cũng khác nhau vừa phải, nhưng liệu các TCTD [hiển thị bên dưới] của (0,7,2,5) (Wald) và (0,9, 2,75) (LRT) thực tế khác nhau tùy thuộc vào tình huống cụ thể.

Wald:

confint.default(fm1)
##                   2.5 %   97.5 %
## (Intercept)   1.7193940 6.628002
## log(Dilution) 0.7266493 2.518455

Hồ sơ:

confint(fm1)
##                   2.5 %   97.5 %
## (Intercept)   2.2009398 7.267565
## log(Dilution) 0.9014053 2.757092
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.