यहाँ वह है जो मैं आमतौर पर करना पसंद करता हूं (उदाहरण के लिए मैं ओवरडाइस्पर्ड का उपयोग करता हूं और बहुत आसानी से मॉडलिंग नहीं करता हूं पुतली के दिनों का स्कूल से अनुपस्थित MASS
):
अवलोकन की गई आवृत्तियों और सज्जित आवृत्तियों ( अनुकूल में अध्याय 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")
सामान्य अच्छाई-से-फिट उपायों (जैसे संभावना अनुपात आँकड़े बनाम एक अशक्त मॉडल या इसी तरह) का निरीक्षण करें :
mod1 <- glm(Days~Age+Sex, data=quine, family="poisson")
summary(mod1)
anova(mod1, test="Chisq")
के लिए जाँच करें अधिक / underdispersion को देखकर residual deviance/df
या एक औपचारिक परीक्षण आंकड़ा पर (जैसे, इस जवाब को देखने )। यहाँ हमारे पास स्पष्ट रूप से अतिविशिष्टता है:
library(AER)
deviance(mod1)/mod1$df.residual
dispersiontest(mod1)
के लिए जाँच करें प्रभावशाली और लाभ उठाने अंक , जैसे, साथ influencePlot
में car
पैकेज। यहाँ निश्चित रूप से कई बिंदु अत्यधिक प्रभावशाली हैं क्योंकि पॉइज़न एक बुरा मॉडल है:
library(car)
influencePlot(mod1)
एक गणना डेटा मॉडल और उसके ज़ीरोफ्लिफ़ेट / बाधा काउंटर की फिटिंग करके शून्य मुद्रास्फीति की जांच करें और उनकी तुलना करें (आमतौर पर एआईसी के साथ)। यहाँ एक शून्य फुलाया हुआ मॉडल सरल पॉइसन (फिर शायद अतिप्रवाह के कारण) से बेहतर होगा:)
library(pscl)
mod2 <- zeroinfl(Days~Age+Sex, data=quine, dist="poisson")
AIC(mod1, mod2)
Y- अक्ष बनाम (लॉग) अनुमानित मान (या रैखिक पूर्वसूचक) पर x- अक्ष पर अवशिष्ट (कच्चे, विचलन या स्केल्ड) प्लॉट करें । यहां हम कुछ बहुत बड़े अवशेषों और सामान्य से अवशिष्ट अवशिष्टों का पर्याप्त अवमूल्यन देखते हैं (पॉसन के खिलाफ बोलते हुए; संपादित करें: @ फ्लोरियनहार्टिग का उत्तर बताता है कि इन अवशेषों की सामान्यता की उम्मीद नहीं की जा सकती है कि यह एक निर्णायक सुराग नहीं है):
res <- residuals(mod1, type="deviance")
plot(log(predict(mod1)), res)
abline(h=0, lty=2)
qqnorm(res)
qqline(res)
यदि दिलचस्पी है, तो साजिश रचने के लिए अवशिष्ट के आधे सामान्य संभावना वाले प्लॉट को पूर्ण अवशिष्ट बनाम अपेक्षित सामान्य मूल्यों एटकिंसन (1981) द्वारा प्लॉट किया जाता है । एक विशेष विशेषता एक संदर्भ 'लाइन' का अनुकरण और नकली / बूटस्ट्रैप्ड आत्मविश्वास अंतराल के साथ लिफाफा होगा (हालांकि नहीं):
library(faraway)
halfnorm(residuals(mod1))
गिनती डेटा के लिए लॉग रैखिक मॉडल के लिए डायग्नोस्टिक प्लॉट (देखें अनुकूल पुस्तक में अध्याय 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)
इससे आपको अपने विश्लेषण के बारे में बहुत सारी उपयोगी जानकारी मिलनी चाहिए और सभी स्टेप्स सभी स्टैंडर्ड काउंट डेटा डिस्ट्रीब्यूशन के लिए काम करते हैं (जैसे, पॉइसन, नेगेटिव बिनोमियल, कॉम पॉइसन, पावर लॉज़)।