Giải thích mô hình hồi quy logistic với nhiều yếu tố dự đoán


12

Tôi đã thực hiện hồi quy logistic đa biến với biến phụ thuộc Ylà tử vong tại viện dưỡng lão trong một khoảng thời gian nhập cảnh nhất định và nhận được các kết quả sau (lưu ý nếu các biến bắt đầu trong Ađó là một giá trị liên tục trong khi các biến bắt đầu Blà phân loại):

Call:
glm(Y ~ A1 + B2 + B3 + B4 + B5 + A6 + A7 + A8 + A9, data=mydata, family=binomial)
Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.0728  -0.2167  -0.1588  -0.1193   3.7788  

Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept)  20.048631  6.036637   3.321 0.000896 ***
A1           0.051167   0.016942   3.020 0.002527 ** 
B2          -0.664940   0.304299  -2.185 0.028878 *  
B3          -2.825281   0.633072  -4.463 8.09e-06 ***
B4          -2.547931   0.957784  -2.660 0.007809 ** 
B5          -2.862460   1.385118  -2.067 0.038774 *  
A6          -0.129808   0.041286  -3.144 0.001666 ** 
A7           0.020016   0.009456   2.117 0.034276 *  
A8          -0.707924   0.253396  -2.794 0.005210 ** 
A9           0.003453   0.001549   2.229 0.025837 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 485.10  on 2206  degrees of freedom
Residual deviance: 417.28  on 2197  degrees of freedom
AIC: 437.28

Number of Fisher Scoring iterations: 7

 (Intercept)           A1           B2           B3           B4           B5           A6           A7           A8           A9 
5.093426e+08 1.052499e+00 5.143045e-01 5.929197e-02 7.824340e-02 5.712806e-02 8.782641e-01 1.020218e+00 4.926657e-01 1.003459e+00 

                   2.5 %       97.5 %
(Intercept) 3.703525e+03 7.004944e+13
A1          1.018123e+00 1.088035e+00
B2          2.832698e-01 9.337710e-01
B3          1.714448e-02 2.050537e-01
B4          1.197238e-02 5.113460e-01
B5          3.782990e-03 8.627079e-01
A6          8.099945e-01 9.522876e-01
A7          1.001484e+00 1.039302e+00
A8          2.998207e-01 8.095488e-01
A9          1.000416e+00 1.006510e+00

Như bạn có thể thấy, tất cả các biến là "đáng kể" trong đó giá trị p của chúng nằm dưới ngưỡng 0,05 thông thường. Tuy nhiên, nhìn vào các hệ số, tôi không chắc chắn nên làm gì với những kết quả này. Có vẻ như mặc dù các biến này đóng góp cho mô hình, nhìn vào tỷ lệ cược, chúng dường như không thực sự có sức mạnh dự đoán nhiều. Đáng chú ý, khi tôi tính AUC, tôi nhận được khoảng 0,8.

Tôi có thể nói rằng mô hình này tốt hơn trong việc dự đoán tỷ lệ tử vong (ví dụ như dự đoán rằng người cao niên sẽ sống qua thời gian quy định) so với dự đoán về tỷ lệ tử vong?


4
Đây không phải là mô hình nhiều biến số của Viking vì bạn chỉ có một biến kết quả / phụ thuộc. Ghép một mô hình với một số yếu tố dự đoán được gọi là hồi quy nhiều nhiều.
Gala

Tôi thực sự đánh giá cao các ý kiến ​​và câu trả lời - Tôi chắc chắn sẽ xem qua gói rms. Tuy nhiên, câu hỏi của tôi vẫn còn tồn tại - hầu hết các tỷ lệ cược là <1, điều đó có nghĩa là các biến đó trong mô hình này sẽ tốt hơn trong việc dự đoán kết quả?
oort

Câu trả lời:


18

0.8

#-----------------------------------------------------------------------------
# Load packages
#-----------------------------------------------------------------------------

library(rms)

#-----------------------------------------------------------------------------
# Load data
#-----------------------------------------------------------------------------

mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv")

mydata$rank <- factor(mydata$rank)

#-----------------------------------------------------------------------------
# Fit logistic regression model
#-----------------------------------------------------------------------------

mylogit <- lrm(admit ~ gre + gpa + rank, x=TRUE, y=TRUE, data = mydata)
mylogit

                      Model Likelihood     Discrimination    Rank Discrim.    
                         Ratio Test            Indexes          Indexes       
Obs           400    LR chi2      41.46    R2       0.138    C       0.693    
 0            273    d.f.             5    g        0.838    Dxy     0.386    
 1            127    Pr(> chi2) <0.0001    gr       2.311    gamma   0.387    
max |deriv| 2e-06                          gp       0.167    tau-a   0.168    
                                           Brier    0.195                     

          Coef    S.E.   Wald Z Pr(>|Z|)
Intercept -3.9900 1.1400 -3.50  0.0005  
gre        0.0023 0.0011  2.07  0.0385  
gpa        0.8040 0.3318  2.42  0.0154  
rank=2    -0.6754 0.3165 -2.13  0.0328  
rank=3    -1.3402 0.3453 -3.88  0.0001  
rank=4    -1.5515 0.4178 -3.71  0.0002 

pC0.51DxyDxyDxyDxy=2(c0.5)Dxy0Dxy=10.693>0.8

Như đã nói ở trên, mô hình có khả năng quá mức. Bây giờ chúng tôi sử dụng bootstrap để định lượng sự lạc quan:

#-----------------------------------------------------------------------------
# Validate model using bootstrap
#-----------------------------------------------------------------------------

my.valid <- validate(mylogit, method="boot", B=1000)
my.valid

          index.orig training    test optimism index.corrected    n
Dxy           0.3857   0.4033  0.3674   0.0358          0.3498 1000
R2            0.1380   0.1554  0.1264   0.0290          0.1090 1000
Intercept     0.0000   0.0000 -0.0629   0.0629         -0.0629 1000
Slope         1.0000   1.0000  0.9034   0.0966          0.9034 1000
Emax          0.0000   0.0000  0.0334   0.0334          0.0334 1000
D             0.1011   0.1154  0.0920   0.0234          0.0778 1000
U            -0.0050  -0.0050  0.0015  -0.0065          0.0015 1000
Q             0.1061   0.1204  0.0905   0.0299          0.0762 1000
B             0.1947   0.1915  0.1977  -0.0062          0.2009 1000
g             0.8378   0.9011  0.7963   0.1048          0.7331 1000
gp            0.1673   0.1757  0.1596   0.0161          0.1511 1000

Dxy0.3857optimismindex.correctedDxyc=1+Dxy2=0.6749

Chúng ta cũng có thể tính toán đường cong hiệu chuẩn bằng cách lấy mẫu lại:

#-----------------------------------------------------------------------------
# Calibration curve using bootstrap
#-----------------------------------------------------------------------------

my.calib <- calibrate(mylogit, method="boot", B=1000)

par(bg="white", las=1)
plot(my.calib, las=1)

n=400   Mean absolute error=0.016   Mean squared error=0.00034
0.9 Quantile of absolute error=0.025

Hiệu chuẩn LogReg

0.3

Xây dựng mô hình dự đoán là một chủ đề lớn và tôi khuyên bạn nên đọc ghi chú khóa học của Frank Harrell .


5
Cảm ơn rất nhiều về các ví dụ tuyệt vời và cách làm cho rmsgói @COOLSerdash và Nick.
Frank Harrell

Cảm ơn bạn rất nhiều vì câu trả lời của bạn, nó cũng giúp tôi rất nhiều! Tôi có một câu hỏi nhanh, ý của bạn là gì khi ước tính hệ thống trong khoảng 0,3? Và bạn có thể vui lòng xem biểu đồ của tôi không? s23.postimg.org/9cucdg6e3/calibr_curve.png Tôi nên diễn giải kết quả này như thế nào
CanCeylan 23/07/13

2
@CanCeylan Trong biểu đồ của tôi, có một đường cong nhỏ trong đường thẳng khoảng 0,3 (đường nằm dưới đường lý tưởng). Về biểu đồ của bạn: Vui lòng thêm biểu đồ của bạn vào câu hỏi ban đầu của bạn để những người khác cũng có thể nhìn thấy nó. Có vẻ như mô hình của bạn đang đánh giá thấp các xác suất một cách có hệ thống trên toàn bộ không gian.
COOLSerdash

@COOLSerdash cảm ơn. Tôi cũng đã cập nhật câu hỏi của mình. Nhưng từ đó, tôi nên quyết định hủy mô hình hay sử dụng nó như thế nào? Vì giá trị c không tệ (0,7755), sai số tuyệt đối trung bình (0,002) và lỗi bình phương trung bình (5e-05) rất nhỏ, nhưng biểu đồ hiệu chuẩn có vẻ xấu. \
CanCeylan

@CanCeylan Cảm ơn bạn đã cập nhật câu hỏi của bạn. Hừm, tôi không chắc. Các âm mưu hiệu chuẩn trông không quá tốt. Tôi sẽ chờ thêm ý kiến ​​(từ Frank Harrell hoặc những người khác). Tôi không cảm thấy đủ tự tin để đưa ra một đề nghị dứt khoát, xin lỗi.
COOLSerdash

6

Một lưu ý về việc giải thích các hệ số: hãy nhớ lại chúng phụ thuộc vào cách các yếu tố dự đoán được viết dưới dạng số. Vì vậy, đối với các biến liên tục, chúng phụ thuộc vào các đơn vị mà chúng được đo; cho các dự đoán phân loại, sơ đồ mã hóa. Đừng cố nghĩ rằng, giả sử, A9 là 'không quan trọng' chỉ vì hệ số 0,003453 của nó nhỏ A9 có thể dao động trong một số bậc độ lớn trong một số dân quan tâm trong khi các yếu tố dự đoán khác chỉ thay đổi một chút, hoặc có thể là dễ dàng đặt thành giá trị rất cao hoặc thấp trong khi những cái khác khó thay đổi nhiều.

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.