R में शून्य-फुलाया गया गणना मॉडल: वास्तविक लाभ क्या है?


11

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

library(pscl)
data("bioChemists", package = "pscl")

## standard count data models
fm_pois  <- glm(art ~ .,    data = bioChemists, family = poisson)
fm_qpois <- glm(art ~ .,    data = bioChemists, family = quasipoisson)
fm_nb    <- glm.nb(art ~ ., data = bioChemists)

## with simple inflation (no regressors for zero component)
fm_zip  <- zeroinfl(art ~ . | 1, data = bioChemists)
fm_zinb <- zeroinfl(art ~ . | 1, data = bioChemists, dist = "negbin")

## inflation with regressors
fm_zip2  <- zeroinfl(art ~ fem + mar + kid5 + phd + ment | fem + mar + kid5 + phd + 
                     ment, data = bioChemists)
fm_zinb2 <- zeroinfl(art ~ fem + mar + kid5 + phd + ment | fem + mar + kid5 + phd + 
                     ment, data = bioChemists, dist = "negbin")

## histograms
breaks <- seq(-0.5,20.5,1)
par(mfrow=c(4,2))
hist(bioChemists$art,  breaks=breaks)
hist(fitted(fm_pois),  breaks=breaks)
hist(fitted(fm_qpois), breaks=breaks)
hist(fitted(fm_nb),    breaks=breaks)
hist(fitted(fm_zip),   breaks=breaks)
hist(fitted(fm_zinb),  breaks=breaks)
hist(fitted(fm_zip2),  breaks=breaks)
hist(fitted(fm_zinb2), breaks=breaks)!

मनाया और सज्जित डेटा का हिस्टोग्राम

मैं विभिन्न मॉडलों के बीच कोई मूलभूत अंतर नहीं देख सकता (इसके अलावा उदाहरण डेटा मेरे लिए बहुत "शून्य-फुलाया" नहीं दिखता ...); वास्तव में कोई भी मॉडल शून्य की संख्या का आधा उचित अनुमान नहीं देता है। क्या कोई समझा सकता है कि शून्य-फुलाया गया मॉडल का क्या फायदा है? मुझे लगता है कि फ़ंक्शन के लिए उदाहरण के रूप में इसे चुनने का एक कारण रहा होगा।

जवाबों:


15

मुझे लगता है कि यह शून्य फुलाया गया मॉडल के फायदों की खोज के लिए खराब तरीके से चुना गया डेटा सेट है, क्योंकि, जैसा कि आप ध्यान दें, इतना शून्य मुद्रास्फीति नहीं है।

plot(fitted(fm_pois), fitted(fm_zinb))

दर्शाता है कि अनुमानित मूल्य लगभग समान हैं।

अधिक शून्य-मुद्रास्फीति के साथ डेटा सेट में, ज़ी मॉडल पॉइज़न की तुलना में अलग (और आमतौर पर बेहतर फिटिंग) परिणाम देते हैं।

मॉडल के फिट की तुलना करने का एक और तरीका अवशेषों के आकार की तुलना करना है:

boxplot(abs(resid(fm_pois) - resid(fm_zinb)))

यह दर्शाता है कि, यहां तक ​​कि पोइसन के अवशेष ZINB से छोटे हैं। यदि आपके पास अवशिष्ट के परिमाण का कुछ विचार है जो वास्तव में समस्याग्रस्त है, तो आप देख सकते हैं कि प्रत्येक मॉडल में अवशिष्ट के अनुपात क्या हैं। उदा। यदि 1 से अधिक होने से अस्वीकार्य था

sum(abs(resid(fm_pois) > 1))
sum(abs(resid(fm_zinb) > 1))

उत्तरार्द्ध थोड़ा बेहतर है - 20 कम बड़े अवशिष्ट।

फिर सवाल यह है कि क्या मॉडलों की जोड़ा जटिलता आपके लिए लायक है।


6

XiPois(μ)xiμ^ixiXiPois(μ^)xixi


आप किस अन्य प्रकार की तुलना की सलाह देंगे?
14:74 पर user7417

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