चमक में फिट की अच्छाई की गणना कैसे करें (R)


21

मेरे पास glm फ़ंक्शन चलाने के निम्नलिखित परिणाम हैं।

मैं निम्नलिखित मूल्यों की व्याख्या कैसे कर सकता हूं:

  • अशक्त विचलन
  • अवशिष्ट अवतरण
  • AIC

क्या उनके पास फिट होने की भलाई के लिए कुछ करना है? क्या मैं इन परिणामों से फिट माप की कुछ अच्छाई की गणना कर सकता हूं जैसे कि आर-स्क्वायर या कोई अन्य उपाय?

Call:
glm(formula = tmpData$Y ~ tmpData$X1 + tmpData$X2 + tmpData$X3 + 
    as.numeric(tmpData$X4) + tmpData$X5 + tmpData$X6 + tmpData$X7)

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-0.52628  -0.24781  -0.02916   0.25581   0.48509  

Coefficients:
                     Estimate Std. Error  t value Pr(>|t|)    
(Intercept         -1.305e-01  1.391e-01   -0.938   0.3482    
tmpData$X1         -9.999e-01  1.059e-03 -944.580   <2e-16 ***
tmpData$X2         -1.001e+00  1.104e-03 -906.787   <2e-16 ***
tmpData$X3         -5.500e-03  3.220e-03   -1.708   0.0877 .  
tmpData$X4         -1.825e-05  2.716e-05   -0.672   0.5017    
tmpData$X5          1.000e+00  5.904e-03  169.423   <2e-16 ***
tmpData$X6          1.002e+00  1.452e-03  690.211   <2e-16 ***
tmpData$X7          6.128e-04  3.035e-04    2.019   0.0436 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

(Dispersion parameter for gaussian family taken to be 0.08496843)

    Null deviance: 109217.71  on 3006  degrees of freedom
Residual deviance:    254.82  on 2999  degrees of freedom
  (4970 observations deleted due to missingness)
AIC: 1129.8

Number of Fisher Scoring iterations: 2

मुझे लगता है कि यह एसओ से माइग्रेट किया गया था, जहां कोई भी इन सांख्यिकीय शर्तों के बारे में जानकारी के लिए सामान्य रूप से नहीं देखेगा। आपके पास यहाँ एक बढ़िया संसाधन है! उदाहरण के लिए, देखें कि आप अपनी कुछ शर्तों पर खोज से क्या सीख सकते हैं, जैसे कि AIC । ऐसा करने में बिताया गया थोड़ा समय या तो आपके प्रश्न का पूरी तरह से उत्तर देना चाहिए या कम से कम आपको अधिक विशिष्ट पूछने के लिए मार्गदर्शन करना चाहिए।
whuber

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

जवाबों:


15

glmR2glmR2R2

आरजीएल2=1-(Σमैंमैं,एल2)2/एन(Σमैंमैं,nयूएलएल2)2/एन        =        1-एसएस/n[एल]एसएसटी/n[टीटीएल]=आरहेएलएस2

There is some debate about how such a measure on the LHS gets interpreted, but only when the models depart from the simpler Gaussian/OLS situation. But in GLMs where the link function may not be "identity", as was here, and the "squared error" may not have the same clear interpretation, so the Akaike Information Criterion is also reported because it appears to be more general. There are several other contenders in the GLM GOF sweepstakes with no clear winner.

You might want to consider not reporting a GOF measure if you are going to be using GLMs with other error structures: Which pseudo-R2 measure is the one to report for logistic regression (Cox & Snell or Nagelkerke)?


7
Where exactly is the " Nagelkerke-pseudo-"R2"" in the above output?
Tom

1
मैं टॉम के प्रश्न की प्रतिध्वनि कर रहा हूं। आउटपुट में नागेलकेके-छद्म- "आर 2" कहां है, या मुझे यह कैसे पता चलेगा? मैं मूल्य के बारे में अधिक जानकारी नहीं ढूंढ रहा हूं, बल्कि जहां मैं इसे आर के आउटपुट में पा सकता हूं। प्रश्न के उदाहरण आउटपुट में ऐसा कुछ भी नहीं है जो मुझे रेंज में फिट वैल्यू की अच्छाई की तरह दिखता है [0-1], इसलिए मैं भ्रमित हूं।
Kevin - Reinstate Monica

आँकड़े देखें ।stackexchange.com/questions/8511/… और stackoverflow.com/questions/6242818 …… ... I don't see any R^2 in either the glm object or the summary output. I may have been thinking of the usual output from rms summary functions, since that is my favorite modeling environment.
DWin

9

Use the Null Deviance and the Residual Deviance, specifically:

1 - (Residual Deviance/Null Deviance)

If you think about it, you're trying to measure the ratio of the deviance in your model to the null; how much better your model is (residual deviance) than just the intercept (null deviance). If that ratio is tiny, you're 'explaining' most of the deviance in the null; 1 minus that gets you your R-squared.

In your instance you'd get .998.

यदि आप केवल glm के बजाय रैखिक मॉडल (lm) को कॉल करते हैं, तो यह आपको सारांश में एक R-squared स्पष्ट रूप से देगा और आप देख सकते हैं कि यह एक ही नंबर है।


5

यदि आप एक बाइनरी लॉजिस्टिक मॉडल चला रहे हैं, तो आप अपने ग्लम () मॉडल पर होसर्ड लेमेशो गुडनेस ऑफ़ फिट टेस्ट भी चला सकते हैं। रिसोर्ससेशन लाइब्रेरी का उपयोग करना।

library(ResourceSelection)

model <- glm(tmpData$Y ~ tmpData$X1 + tmpData$X2 + tmpData$X3 + 
           as.numeric(tmpData$X4) + tmpData$X5 + tmpData$X6 + tmpData$X7, family = binomial)

summary(model)
hoslem.test(model$y, model$fitted)

हालांकि ध्यान दें कि यह केवल द्विआधारी निर्भर चर मॉडल के लिए काम करता है (जैसे अगर ओपी ने सेट किया था family = "binomial। ओपी का उदाहरण रैखिक प्रतिगमन है।
मैथ्यू

@ मैथ्यू यह सच है, मुझे खेद है कि मैं चूक गया। मैं बाइनरी लॉजिस्टिक रिग्रेशन का इस्तेमाल कर रहा हूं, हाल ही में मेरा दिमाग अभी-अभी गयाhoslem.test()
dylanjm

समझने योग्य :) मैंने आपकी पोस्ट को संपादित करने का सुझाव दिया लेकिन आर कोड को भी अपडेट करना भूल गया। आप स्पष्टता के लिए इसे बदलना चाह सकते हैं।
मत्ती
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.