Giải thích sau đây không giới hạn ở hồi quy logistic mà áp dụng như nhau trong hồi quy tuyến tính thông thường và các GLM khác. Thông thường, Rloại trừ một cấp độ phân loại và hệ số biểu thị sự khác biệt của từng lớp đối với lớp tham chiếu này (hoặc đôi khi được gọi là lớp cơ sở) (đây được gọi là mã hóa giả hoặc tương phản điều trị R, xem ở đây để biết tổng quan tuyệt vời về các tùy chọn tương phản khác nhau ). Để xem sự tương phản hiện tại trong R, gõ options("contrasts"). Thông thường, sắp Rxếp các mức của biến phân loại theo thứ tự abc và lấy đầu tiên làm lớp tham chiếu. Điều này không phải lúc nào cũng tối ưu và có thể được thay đổi bằng cách gõ (ở đây, chúng tôi sẽ đặt lớp tham chiếu thành "c" trong biến mới)new.variable <- relevel(old.variable, ref="c")zpanova(model1, model2, test="LRT")R
mydata <- read.csv("https://stats.idre.ucla.edu/stat/data/binary.csv")
mydata$rank <- factor(mydata$rank)
my.mod <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial")
summary(my.mod)
Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept) -3.989979   1.139951  -3.500 0.000465 ***
gre          0.002264   0.001094   2.070 0.038465 *  
gpa          0.804038   0.331819   2.423 0.015388 *  
rank2       -0.675443   0.316490  -2.134 0.032829 *  
rank3       -1.340204   0.345306  -3.881 0.000104 ***
rank4       -1.551464   0.417832  -3.713 0.000205 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
rank1rankrank1rankrank1rank2- 0,675rank1rank2- 3,99 - 0,675 = - 4,67rank1rank1. Bạn cũng có thể điều chỉnh mô hình mà không bị chặn bằng cách thêm - 1vào công thức mô hình để xem trực tiếp tất cả các hệ số:
my.mod2 <- glm(admit ~ gre + gpa + rank - 1, data = mydata, family = "binomial")
summary(my.mod2) # no intercept model
Coefficients:
       Estimate Std. Error z value Pr(>|z|)    
gre    0.002264   0.001094   2.070 0.038465 *  
gpa    0.804038   0.331819   2.423 0.015388 *  
rank1 -3.989979   1.139951  -3.500 0.000465 ***
rank2 -4.665422   1.109370  -4.205 2.61e-05 ***
rank3 -5.330183   1.149538  -4.637 3.54e-06 ***
rank4 -5.541443   1.138072  -4.869 1.12e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Lưu ý rằng việc đánh chặn đã biến mất ngay bây giờ và hệ số rank1chính xác là đánh chặn của mô hình đầu tiên. Ở đây, kiểm tra Wald kiểm tra không phải sự khác biệt theo cặp giữa các hệ số mà là giả thuyết rằng mỗi hệ số riêng lẻ bằng không. Một lần nữa, chúng tôi có bằng chứng rằng mọi hệ số rankkhác 0. Cuối cùng, để kiểm tra xem toàn bộ biến có rankcải thiện sự phù hợp của mô hình hay không, chúng ta khớp một mô hình với ( my.mod1) và một mô hình không có biến rank( my.mod2) và tiến hành kiểm tra tỷ lệ khả năng. Điều này kiểm tra giả thuyết rằng tất cả các hệ số rankbằng không:
my.mod1 <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial") # with rank
my.mod2 <- glm(admit ~ gre + gpa, data = mydata, family = "binomial") # without rank
anova(my.mod1, my.mod2, test="LRT")
Analysis of Deviance Table
Model 1: admit ~ gre + gpa + rank
Model 2: admit ~ gre + gpa
  Resid. Df Resid. Dev Df Deviance  Pr(>Chi)    
1       394     458.52                          
2       397     480.34 -3  -21.826 7.088e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Kiểm tra tỷ lệ khả năng là rất quan trọng và chúng tôi sẽ kết luận rằng biến ranknên vẫn còn trong mô hình.
Bài này cũng rất thú vị.
               
              
admit ~ 1vsadmit ~ rank - 1?