कई भविष्यवक्ताओं के साथ लॉजिस्टिक रिग्रेशन मॉडल की व्याख्या करना


12

मैंने Yप्रवेश के एक निश्चित समय के भीतर नर्सिंग होम में आश्रित चर की मृत्यु के साथ बहुभिन्न लॉजिस्टिक रिग्रेशन का प्रदर्शन किया और निम्नलिखित परिणाम प्राप्त किए (ध्यान दें कि यदि चर शुरू होता है Aतो यह एक निरंतर मूल्य है, जबकि शुरू में Bवे स्पष्ट हैं)

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

जैसा कि आप देख सकते हैं, सभी चर "महत्वपूर्ण" हैं कि उनके पी मान 0.05 की सामान्य सीमा से नीचे हैं। हालांकि, गुणांक को देखते हुए, मुझे यकीन नहीं है कि इन परिणामों का क्या करना है। ऐसा लगता है कि हालांकि ये चर मॉडल में योगदान करते हैं, लेकिन बाधाओं को देखते हुए, वे वास्तव में बहुत पूर्वानुमानित शक्ति प्रतीत नहीं होते हैं। ध्यान से, जब मैंने एयूसी की गणना की, तो मुझे लगभग 0.8 मिली।

क्या मैं यह कह सकता हूं कि यह मॉडल मृत्यु दर के खिलाफ भविष्यवाणी करने में बेहतर है (उदाहरण के लिए कि मृत्यु दर की भविष्यवाणी करने की तुलना में वरिष्ठ नागरिक निर्धारित अवधि से अधिक जीवित रहेंगे)?


4
यह एक "मल्टीवेरेट" मॉडल नहीं है क्योंकि आपके पास केवल एक परिणाम / निर्भर चर है। कई भविष्यवक्ताओं के साथ एक मॉडल फिट करना "एकाधिक" प्रतिगमन कहा जाता है।
गाला

मैं वास्तव में टिप्पणियों और उत्तरों की सराहना करता हूं - मैं निश्चित रूप से आरएमएस पैकेज पर एक नज़र डालूंगा। हालाँकि मेरा प्रश्न अभी भी अशुभ है- अधिकांश बाधाओं का अनुपात <1 है, क्या इसका अर्थ यह होगा कि इस मॉडल के वे चर परिणाम के खिलाफ भविष्यवाणी करने में बेहतर हैं?
ऊर्ट

जवाबों:


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 

तल पर आप इसी अंतराल के साथ सामान्य प्रतिगमन गुणांक देखते हैं । शीर्ष दाईं ओर, आप कई भेदभाव सूचकांकों को देखते हैं। सी सूचकांक (एयूसी), और के सी सूचकांक दर्शाता है जबकि की एक सी सूचकांक को दर्शाता है यादृच्छिक बंटवारे अर्थ है सही भविष्यवाणी। सोमरस की अनुमानित संभावनाओं और देखे गए प्रतिक्रियाओं के बीच रैंक सहसंबंध है। का सी-इंडेक्स के साथ सरल संबंध है: । एक के तब होता है जब मॉडल के पूर्वानुमान यादृच्छिक कर रहे हैं और जब , मॉडल पूरी तरह से भेदभाव कर रहा है। इस मामले में, सी-इंडेक्स है0.5 1 डी एक्स वाई डी x y डी एक्स y = 2 ( - 0.5 ) डी x y 0 डी x y = 1 .693 > 0.8pC0.51DxyDxyDxyDxy=2(c0.5)Dxy0Dxy=10.693 जो संयोग से थोड़ा बेहतर है लेकिन व्यक्तियों के परिणामों की भविष्यवाणी करने के लिए का c-index काफी अच्छा है।>0.8

जैसा कि ऊपर कहा गया है, मॉडल की संभावना अधिक है। अब हम बूटस्ट्रैप का उपयोग आशावाद को निर्धारित करने के लिए करते हैं:

#-----------------------------------------------------------------------------
# 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

आइए पर ध्यान केंद्रित करें जो सबसे ऊपर है। पहला कॉलम मूल सूचकांक को दर्शाता है, जो था । कहा जाता है कि स्तंभ मॉडल द्वारा अनुमानित overestimation की मात्रा को दर्शाता है। स्तंभ मूल अनुमान का अनुमान है। इस मामले में, पूर्वाग्रह-सही मूल से थोड़ा छोटा है। पूर्वाग्रह-सुधारित c-index (AUC) । 0.3857 D x y c = 1 + D x yDxy0.3857optimismindex.correctedDxyc=1+Dxy2=0.6749

हम पुनरावर्तन का उपयोग करके एक अंशांकन वक्र की गणना भी कर सकते हैं:

#-----------------------------------------------------------------------------
# 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

LogReg अंशांकन

प्लॉट कुछ प्रमाण प्रदान करता है कि हमारे मॉडल ओवरफिट कर रहे हैं: मॉडल कम संभावनाओं को कम करके आंकता है और उच्च संभावनाओं को कम करता है। आसपास एक व्यवस्थित ओवरस्टिमेशन भी है ।0.3

प्रिडिक्टिव मॉडल बिल्डिंग एक बड़ा विषय है और मैं फ्रैंक हरेल के पाठ्यक्रम नोट्स को पढ़ने का सुझाव देता हूं ।


5
अद्भुत उदाहरणों के लिए बहुत बहुत धन्यवाद और rmsपैकेज @COOLSerdash और Nick के लिए कैसे ।
फ्रैंक हरेल

आपके उत्तर के लिए बहुत बहुत धन्यवाद, इसने भी मेरी बहुत मदद की! मेरे पास एक त्वरित प्रश्न है, 0.3 के आसपास के अनुमान पर व्यवस्थित से आपका क्या मतलब है? और क्या आप कृपया मेरे ग्राफ पर एक नज़र डाल सकते हैं? s23.postimg.org/9cucdg6e3/calibration_curve.png मुझे इस आउटपुट की व्याख्या कैसे करनी चाहिए
CanCeylan

2
@CanCeylan मेरे ग्राफ में, लगभग 0.3 की रेखा में एक छोटा वक्र है (लाइन आदर्श रेखा के नीचे जाती है)। अपने ग्राफ के बारे में: कृपया अपने ग्राफ को अपने मूल प्रश्न में जोड़ें, ताकि अन्य लोग भी इसे देख सकें। ऐसा लगता है जैसे आपका मॉडल पूरी जगह पर व्यवस्थित रूप से संभावनाओं को कम कर रहा है।
COOLSerdash

@COOLSerdash धन्यवाद मैंने अपना प्रश्न भी अपडेट कर दिया है। लेकिन वहां से, मुझे कैसे तय करना चाहिए कि क्या मॉडल को रद्द करना है या इसका उपयोग करना है? चूँकि c मान ख़राब नहीं है (0.7755), मीन निरपेक्ष त्रुटि (0.002) और माध्य चुकता त्रुटि (5e-05) इतनी छोटी है, लेकिन अंशांकन ग्राफ़ ख़राब जैसा दिखता है। \
CanCeylan

@CanCeylan अपने प्रश्न को अपडेट करने के लिए धन्यवाद। हम्म, मैं अनिश्चित हूँ। अंशांकन भूखंड बहुत अच्छा नहीं लगता है। मैं अधिक राय (फ्रैंक हारेल या अन्य से) की प्रतीक्षा करूंगा। मैं एक निश्चित सिफारिश देने के लिए पर्याप्त आत्मविश्वास महसूस नहीं करता, क्षमा करें।
COOLSerdash

6

गुणांक की व्याख्या पर एक नोट: याद रखें कि वे इस बात पर निर्भर करते हैं कि भविष्यवक्ता कैसे संख्या के रूप में लिखे गए हैं। तो निरंतर चर के लिए वे उन इकाइयों पर निर्भर करते हैं जिनमें वे मापा जाता है; श्रेणीबद्ध भविष्यवक्ताओं के लिए, कोडिंग योजना। यह सोचने के लिए ललचाओ मत, कि A9 'महत्वहीन' है, क्योंकि इसका 0.003453 का गुणांक छोटा है- A9 ब्याज की कुछ आबादी में परिमाण के कई आदेशों तक हो सकता है जबकि अन्य भविष्यवक्ता थोड़े भिन्न होते हैं, या यह हो सकता है बहुत उच्च या निम्न मूल्यों के लिए सेट करना आसान है, जबकि दूसरों को बहुत बदलना मुश्किल है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.