गिनती प्रतिगमन के लिए नैदानिक ​​भूखंड


88

डायग्नोस्टिक प्लॉट (और शायद औपचारिक परीक्षण) क्या आप उन प्रतिगमन के लिए सबसे अधिक जानकारीपूर्ण पाते हैं जहां परिणाम एक गिनती चर है?

मैं विशेष रूप से पॉइसन और नकारात्मक द्विपद मॉडल, साथ ही प्रत्येक के शून्य-फुलाया और बाधा समकक्षों में दिलचस्पी रखता हूं। अधिकांश स्रोतों को मैंने पाया है कि इन प्लॉटों को "जैसा दिखना चाहिए" की चर्चा के बिना बस अवशेषों / सज्जित मूल्यों की साजिश रचते हैं।

बुद्धि और संदर्भ की बहुत सराहना की। मैं यह क्यों पूछ रहा हूं, अगर यह प्रासंगिक है, तो मेरी दूसरी कहानी है ।

संबंधित चर्चा:

जवाबों:


101

यहाँ वह है जो मैं आमतौर पर करना पसंद करता हूं (उदाहरण के लिए मैं ओवरडाइस्पर्ड का उपयोग करता हूं और बहुत आसानी से मॉडलिंग नहीं करता हूं पुतली के दिनों का स्कूल से अनुपस्थित MASS):

  1. अवलोकन की गई आवृत्तियों और सज्जित आवृत्तियों ( अनुकूल में अध्याय 2 देखें ) की साजिश रचकर मूल गणना डेटा का परीक्षण और ग्राफ़ करें जो बड़े भागों में vcdपैकेज द्वारा समर्थित है R। उदाहरण के लिए, goodfitएक और के साथ rootogram:

    library(MASS)
    library(vcd)
    data(quine) 
    fit <- goodfit(quine$Days) 
    summary(fit) 
    rootogram(fit)
    

    या साधारण भूखंडों के साथ जो पहचानने में मदद करते हैं कि कौन सा डेटा मॉडल अंतर्निहित है (उदाहरण के लिए, यहां ढलान सकारात्मक है और अवरोधन सकारात्मक है जो नकारात्मक द्विपद वितरण के लिए बोलता है):

    Ord_plot(quine$Days)

    या "XXXXXXness" भूखंडों के साथ जहां XXXXX पसंद का वितरण है, पॉइसनॉट प्लॉट (जो पॉइसन के खिलाफ बोलता है, कोशिश भी करें type="nbinom"):

    distplot(quine$Days, type="poisson")
  2. सामान्य अच्छाई-से-फिट उपायों (जैसे संभावना अनुपात आँकड़े बनाम एक अशक्त मॉडल या इसी तरह) का निरीक्षण करें :

    mod1 <- glm(Days~Age+Sex, data=quine, family="poisson")
    summary(mod1)
    anova(mod1, test="Chisq")
    
  3. के लिए जाँच करें अधिक / underdispersion को देखकर residual deviance/dfया एक औपचारिक परीक्षण आंकड़ा पर (जैसे, इस जवाब को देखने )। यहाँ हमारे पास स्पष्ट रूप से अतिविशिष्टता है:

    library(AER)
    deviance(mod1)/mod1$df.residual
    dispersiontest(mod1)
    
  4. के लिए जाँच करें प्रभावशाली और लाभ उठाने अंक , जैसे, साथ influencePlotमें carपैकेज। यहाँ निश्चित रूप से कई बिंदु अत्यधिक प्रभावशाली हैं क्योंकि पॉइज़न एक बुरा मॉडल है:

    library(car)
    influencePlot(mod1)
    
  5. एक गणना डेटा मॉडल और उसके ज़ीरोफ्लिफ़ेट / बाधा काउंटर की फिटिंग करके शून्य मुद्रास्फीति की जांच करें और उनकी तुलना करें (आमतौर पर एआईसी के साथ)। यहाँ एक शून्य फुलाया हुआ मॉडल सरल पॉइसन (फिर शायद अतिप्रवाह के कारण) से बेहतर होगा:)

    library(pscl)
    mod2 <- zeroinfl(Days~Age+Sex, data=quine, dist="poisson")
    AIC(mod1, mod2)
    
  6. Y- अक्ष बनाम (लॉग) अनुमानित मान (या रैखिक पूर्वसूचक) पर x- अक्ष पर अवशिष्ट (कच्चे, विचलन या स्केल्ड) प्लॉट करें । यहां हम कुछ बहुत बड़े अवशेषों और सामान्य से अवशिष्ट अवशिष्टों का पर्याप्त अवमूल्यन देखते हैं (पॉसन के खिलाफ बोलते हुए; संपादित करें: @ फ्लोरियनहार्टिग का उत्तर बताता है कि इन अवशेषों की सामान्यता की उम्मीद नहीं की जा सकती है कि यह एक निर्णायक सुराग नहीं है):

    res <- residuals(mod1, type="deviance")
    plot(log(predict(mod1)), res)
    abline(h=0, lty=2)
    qqnorm(res)
    qqline(res)
    
  7. यदि दिलचस्पी है, तो साजिश रचने के लिए अवशिष्ट के आधे सामान्य संभावना वाले प्लॉट को पूर्ण अवशिष्ट बनाम अपेक्षित सामान्य मूल्यों एटकिंसन (1981) द्वारा प्लॉट किया जाता है । एक विशेष विशेषता एक संदर्भ 'लाइन' का अनुकरण और नकली / बूटस्ट्रैप्ड आत्मविश्वास अंतराल के साथ लिफाफा होगा (हालांकि नहीं):

    library(faraway)
    halfnorm(residuals(mod1))
    
  8. गिनती डेटा के लिए लॉग रैखिक मॉडल के लिए डायग्नोस्टिक प्लॉट (देखें अनुकूल पुस्तक में अध्याय 7.2 और 7.7)। प्लॉट की भविष्यवाणी की। शायद कुछ अंतराल के अनुमान के साथ मूल्यों का अवलोकन किया गया है (मैंने सिर्फ आयु समूहों के लिए किया था - यहां हम फिर से देखते हैं कि हम अतिव्यापी के कारण अपने अनुमानों से बहुत दूर हैं, शायद, समूह F3 में। गुलाबी बिंदु हैं। बिंदु भविष्यवाणी एक मानक त्रुटि):±

    plot(Days~Age, data=quine) 
    prs  <- predict(mod1, type="response", se.fit=TRUE)
    pris <- data.frame("pest"=prs[[1]], "lwr"=prs[[1]]-prs[[2]], "upr"=prs[[1]]+prs[[2]])
    points(pris$pest ~ quine$Age, col="red")
    points(pris$lwr  ~ quine$Age, col="pink", pch=19)
    points(pris$upr  ~ quine$Age, col="pink", pch=19)
    

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


6
महान पूरी तरह से जवाब! इन निदानों के माध्यम से पॉइसन-सिम्युलेटेड डेटा के साथ मेरी आंख को प्रशिक्षित करने के लिए भी मदद मिली जो कि भूखंडों की तरह दिखना चाहिए।
अर्ध-पास

क्या मुझे और स्पष्टीकरण देना चाहिए था कि इस तरह से प्लॉट करना ठीक था या नहीं?
मोमो

2
दिलचस्प पक्ष ध्यान दें: मुझे पता चल रहा है कि NB वितरण शायद ही कभी GOST परीक्षण, रूटोग्राम, ऑर्ड प्लॉट और NB-ness प्लॉट के आधार पर सिम्युलेटेड NB डेटा के अनुरूप प्रतीत होता है। अपवाद बहुत "tame" NB डेटा है जो लगभग सममित है - उच्च म्यू, उच्च थीटा लगता है।
आधा पास

1
हम्म, क्या आप सुनिश्चित हैं कि आप तर्क के रूप में टाइप = "नैबिनोमियल" का उपयोग करते हैं? जैसे fm <- glm.nb (दिन ~।, डेटा = क्वीन); डमी <- रेनबिन (फिटेड (एफएम), थीटा = 4.5) ठीक काम करता है।
मोमो

@Momo, धन्यवाद - मैं x = rnegbin (n = 1000, mu = 10, theta = 1) जैसा कुछ कर रहा था; fit = goodfit (x, type = "nbinomial"); सारांश (फिट)। थीटा सेट करना = 4.5 फिट में सुधार करता है, लेकिन यह अभी भी अक्सर पी <0.05 है और रूटोग्राम काफी खराब लग सकता है। बस इसलिए मैं हमारे सिमुलेशन के बीच के अंतर को समझता हूं: आप में, डमी के प्रत्येक मूल्य को एक अलग मतलब पैरामीटर (फिटेड (एफएम) में एक मान) से सिम्युलेटेड किया गया था, है ना? मेरा, वे सभी का मतलब है 10.
अर्ध-पास

14

मानक नैदानिक ​​भूखंडों का उपयोग करने के दृष्टिकोण के लिए, लेकिन यह जानना चाहते हैं कि उन्हें क्या देखना चाहिए, मुझे कागज पसंद है:

 Buja, A., Cook, D. Hofmann, H., Lawrence, M. Lee, E.-K., Swayne,
 D.F and Wickham, H. (2009) Statistical Inference for exploratory
 data analysis and model diagnostics Phil. Trans. R. Soc. A 2009
 367, 4361-4383 doi: 10.1098/rsta.2009.0120

वहाँ वर्णित दृष्टिकोणों में से एक कई सिम्युलेटेड डेटासेट बनाने के लिए है जहाँ ब्याज की धारणाएँ सच हैं और इन नकली डेटासेट के लिए डायग्नोस्टिक प्लॉट बनाते हैं और वास्तविक डेटा के लिए डायग्नोस्टिक प्लॉट भी बनाते हैं। इन सभी भूखंडों को एक ही समय पर स्क्रीन पर रखें (यादृच्छिक रूप से वास्तविक डेटा के आधार पर रखने)। अब आपके पास इस बात का एक दृश्य संदर्भ है कि भूखंडों को क्या देखना चाहिए और यदि धारणाएं वास्तविक डेटा के लिए हैं, तो उस प्लॉट को दूसरों की तरह दिखना चाहिए (यदि आप यह नहीं बता सकते हैं कि असली डेटा कौन सा है, तो परीक्षण की जाने वाली धारणाएं संभवतः करीब हैं काफी हद तक सही है), लेकिन अगर वास्तविक डेटा प्लॉट दूसरे से स्पष्ट रूप से अलग दिखता है, तो इसका मतलब है कि कम से कम एक धारणा पकड़ में नहीं आती है। vis.testआर के लिए TeachingDemos पैकेज में समारोह एक परीक्षण के रूप में यह लागू मदद करता है।


6
रिकॉर्ड के लिए उपरोक्त डेटा के साथ एक उदाहरण: mod1 <- glm (दिन ~ आयु + लिंग, डेटा = क्वीन, परिवार = "पॉइसन"); अगर (इंटरैक्टिव ()) {vis.test (बच (mod1, type = "प्रतिक्रिया"), vt.qqnorm, Nrow = 5, ncol = 5, npage = 3)}
आधा-पास

13

यह एक पुराना प्रश्न है, लेकिन मुझे लगा कि मेरे DHARMa R पैकेज (CRAN से उपलब्ध है, यहाँ देखें ) को जोड़ना उपयोगी होगा अब GLMs और GLMMs के लिए मानकीकृत अवशिष्ट प्रदान करता है, जो @GregSnow द्वारा सुझाए गए अनुकार दृष्टिकोण के समान है। ।

पैकेज विवरण से:

DHARMA पैकेज फिट सामान्यीकृत रैखिक मिश्रित मॉडल से आसानी से व्याख्या योग्य स्केल अवशेष बनाने के लिए एक सिमुलेशन-आधारित दृष्टिकोण का उपयोग करता है। वर्तमान में समर्थित 4 lme4 ’(od lmerMod’, mer glmerMod ’), 'glm’ (' MASS ’से bin नीग्रिन’ सहित, लेकिन अर्ध-वितरण को छोड़कर) और M lm ’मॉडल वर्ग से सभी supported मेरिमोड’ वर्ग समर्थित हैं। वैकल्पिक रूप से, बाहरी रूप से बनाए गए सिमुलेशन, उदाहरण के लिए बायेसियन सॉफ़्टवेयर जैसे 'JAGS', 'STAN', या 'BUGS' से पूर्ववर्ती पूर्वानुमानित सिमुलेशन भी संसाधित किए जा सकते हैं। परिणामी अवशिष्टों को 0 और 1 के बीच के मानों में मानकीकृत किया जाता है और एक रेखीय प्रतिगमन से अवशिष्ट के रूप में सहज रूप से व्याख्या की जा सकती है। पैकेज भी विशिष्ट मॉडल mispecification समस्या के लिए कई साजिश और परीक्षण कार्य प्रदान करता है,

@ मैमो - आप अपनी सिफारिश 6 को अपडेट करना चाह सकते हैं, यह भ्रामक है। भक्ति अवशिष्टों की सामान्यता एक पोइसन के तहत सामान्य रूप से अपेक्षित नहीं है , जैसा कि DHARMa विगनेट या यहाँ बताया गया है ; और सीलिंग अवशिष्ट अवशिष्ट (या कोई भी अन्य मानक अवशिष्ट) जो एक क्यूकॉर्म प्लॉट में एक सीधी रेखा से भिन्न होता है, इसलिए सामान्य रूप से कोई चिंता नहीं है । DHARMA पैकेज एक qq प्लॉट प्रदान करता है जो पोइसन या अन्य GLM परिवारों से विचलन के निदान के लिए विश्वसनीय है। मैंने एक उदाहरण बनाया है जो यहाँ अवशिष्ट अवशिष्टों के साथ समस्या को प्रदर्शित करता है ।


4

जीएलएम के लिए नैदानिक ​​भूखंडों को उत्पन्न करने के लिए glm.diag.plotsपैकेज में एक फ़ंक्शन है boot। यह क्या करता है:

रैखिक भविष्यवक्ता, मानकीकृत अवशिष्ट अवशिष्टों के सामान्य स्कोर भूखंडों, उत्तोलन / (1-उत्तोलन) के खिलाफ अनुमानित कुक आँकड़ों के प्लॉट और कुक स्टेटिस्टिक के केस प्लॉट के खिलाफ कटहल भटकाव अवशेषों के कथानक बनाता है।

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