क्या "बाधा मॉडल" वास्तव में एक मॉडल है? या सिर्फ दो अलग, अनुक्रमिक मॉडल?


25

yएक सामान्य भविष्यवक्ता से डेटा की भविष्यवाणी करने वाले बाधा मॉडल पर विचार करें x:

set.seed(1839)
# simulate poisson with many zeros
x <- rnorm(100)
e <- rnorm(100)
y <- rpois(100, exp(-1.5 + x + e))

# how many zeroes?
table(y == 0)

FALSE  TRUE 
   31    69 

इस मामले में, मेरे पास ६ ९ शून्य और ३१ धनात्मक गणनाओं वाला डेटा है। डेटा-जेनरेशन प्रक्रिया की परिभाषा के अनुसार, इस समय के लिए कोई बात नहीं, एक पॉइसन प्रक्रिया, क्योंकि मेरा सवाल बाधा मॉडल के बारे में है।

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

इसलिए मैंने एक "बाधा मॉडल" की कोशिश की, बस लॉजिस्टिक और शून्य-पृथक पॉइसन प्रतिगमन को अलग-अलग चलाने के लिए। उन्होंने मुझे समान उत्तर दिए (मैं संक्षिप्तता के लिए उत्पादन को संक्षिप्त कर रहा हूं):

> # hurdle output
> summary(pscl::hurdle(y ~ x))

Count model coefficients (truncated poisson with log link):
            Estimate Std. Error z value Pr(>|z|)  
(Intercept)  -0.5182     0.3597  -1.441   0.1497  
x             0.7180     0.2834   2.533   0.0113 *

Zero hurdle model coefficients (binomial with logit link):
            Estimate Std. Error z value Pr(>|z|)    
(Intercept)  -0.7772     0.2400  -3.238 0.001204 ** 
x             1.1173     0.2945   3.794 0.000148 ***

> # separate models output
> summary(VGAM::vglm(y[y > 0] ~ x[y > 0], family = pospoisson()))

Coefficients: 
            Estimate Std. Error z value Pr(>|z|)  
(Intercept)  -0.5182     0.3597  -1.441   0.1497  
x[y > 0]      0.7180     0.2834   2.533   0.0113 *

> summary(glm(I(y == 0) ~ x, family = binomial))

Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept)   0.7772     0.2400   3.238 0.001204 ** 
x            -1.1173     0.2945  -3.794 0.000148 ***
---

यह मेरे लिए बंद लगता है क्योंकि मॉडल के कई अलग-अलग गणितीय निरूपणों में यह संभावना शामिल है कि एक अवलोकन सकारात्मक गणना के मामलों के आकलन में गैर-शून्य है, लेकिन जिन मॉडलों को मैंने ऊपर किया था वे एक दूसरे को पूरी तरह से अनदेखा करते हैं। उदाहरण के लिए, यह अध्याय 5, स्मिथसन एंड मर्कल के सामान्यीकृत रैखिक मॉडल के श्रेणीबद्ध और सतत लिमिटेड पर निर्भर चर के लिए पृष्ठ 128 से है :

... दूसरा, संभावना है कि किसी भी मान (शून्य और धनात्मक पूर्णांक) को बराबर करता है। यह समीकरण (5.33) में गारंटी नहीं है। इस समस्या से निपटने के लिए, हम बर्नौली सफलता प्रायिकता द्वारा पोइसन संभावना को गुणा करते हैं ।      इन मुद्दों को हमें उपरोक्त बाधा मॉडल को जहां , ,π पी ( Y = y | एक्स , जेड , β , γ ) = { 1 - π के लिए  y = 0 π × exp ( - λ ) λ y / y !yπ

(5.34)P(Y=y|x,z,β,γ)={1π^for y=0π^×exp(λ^)λ^y/y!1exp(λ^)for y=1,2,
λ^=exp(xβ)π^=logit1(zγ)x मॉडल के लिए हैं, लॉजिस्टिक रिग्रेशन मॉडल के लिए हैं, और और संबंधित रिग्रेशन गुणांक हैं ... । zβ^γ^

दो मॉडल ऐसा करने से पूरी तरह से एक दूसरे के-जो क्या बाधा मॉडल हो रहा है से अलग कर-मुझे नजर नहीं आता कि कैसे करते हैं सकारात्मक गिनती के मामलों की भविष्यवाणी में शामिल किया गया है। लेकिन इस आधार पर कि मैं कैसे दो अलग-अलग मॉडल चलाकर फ़ंक्शन को दोहराने में सक्षम था , मैं नहीं देखता कि कैसे छंटे हुए पोइसन में एक भूमिका निभाता है प्रतिगमन।π^hurdlelogit1(zγ^)

क्या मैं बाधा मॉडल को सही ढंग से समझ रहा हूं? उन्हें लगता है कि दो केवल दो अनुक्रमिक मॉडल चल रहे हैं: पहला, एक लॉजिस्टिक; दूसरा, एक पॉइसन, पूरी तरह से उन मामलों को अनदेखा करता है जहां । मैं सराहना करता हूं कि अगर कोई व्यक्ति मेरी व्यवसाय के साथ मेरे भ्रम को साफ कर सकता है ।y=0π^


अगर मैं सही हूं कि जो बाधा मॉडल हैं, वह "बाधा" मॉडल की परिभाषा क्या है, अधिक आम तौर पर? दो अलग-अलग परिदृश्यों की कल्पना करें:

  • कल्पना करें कि प्रतिस्पर्धा के स्कोर (1 - (वोट का विजेता अनुपात - मत का अनुपात)) को देखते हुए चुनावी दौड़ की प्रतिस्पर्धात्मकता की मॉडलिंग करें। यह [0, 1) है, क्योंकि कोई संबंध नहीं हैं (जैसे, 1)। एक बाधा मॉडल यहां समझ में आता है, क्योंकि एक प्रक्रिया है (ए) चुनाव निर्विरोध था? और (बी) यदि यह नहीं था, तो प्रतिस्पर्धा की भविष्यवाणी क्या थी? इसलिए हम पहले 0 बनाम (0, 1) का विश्लेषण करने के लिए एक लॉजिस्टिक रिग्रेशन करते हैं। तब हम (0, 1) मामलों का विश्लेषण करने के लिए बीटा रिग्रेशन करते हैं।

  • एक सामान्य मनोवैज्ञानिक अध्ययन की कल्पना करें। प्रतिक्रियाएं [1, 7] हैं, पारंपरिक लिक्टर स्केल की तरह, 7. पर एक विशाल छत प्रभाव के साथ, एक ऐसा बाधा मॉडल कर सकता है जो लॉजिस्टिक रिग्रेशन [1, 7) बनाम 7 और फिर सभी मामलों के लिए एक टोबिट रिग्रेशन हो जहां मनाया प्रतिक्रियाओं <7 हैं।

क्या इन दोनों स्थितियों को "बाधा" मॉडल कहना सुरक्षित होगा , भले ही मैं उन्हें दो अनुक्रमिक मॉडल के साथ अनुमान लगाऊं (पहले मामले में बीटा और फिर दूसरे में बीटा, लॉजिस्टिक और फिर टॉबिट)?


5
मेरा मानना ​​है कि बाधा मॉडल दो अलग-अलग (बाइनरी + शून्य-ट्रेंकेटेड) मॉडल को चलाने के बराबर हैं । तकनीकी कारण यह काम करता है यह है कि पहले मॉडल का उपयोग करता है केवल शून्य / गैर शून्य अनुमान लगाने के लिए ; गैर-शून्य प्रतिक्रिया पर दूसरा मॉडल स्थिति अनुमान लगाने के लिए । πλ
बेन बोल्कर

तो तब हर लिए होगा जिसका ? π^1iy>0
मार्क व्हाइट 20

3
नहीं। सशर्त मॉडल शब्द, यानी पी(Y=y|Y>0)=exp( - λ )आदिπ^P(Y=y|Y>0)=exp(λ^)etc.
निकलता है

आह आपका धन्यवाद। इसलिए मुझे लगता है कि स्मिथसन और मर्कले के समीकरण से अलग मॉडल का वर्णन किया गया है pscl::hurdle, जिसमें लागू किया गया है , लेकिन यह समीकरण 5 में यहां एक जैसा दिखता है: cran.r-project.org/web/packages/pscl/vignettes/countreg.pdf या शायद मैं अभी भी कुछ बुनियादी याद आ रही है जो इसे मेरे लिए क्लिक करेगी?
मार्क व्हाइट

4
यह एक ही मॉडल है। माइक और एड सरलतम मामले (लॉगिट + पॉइसन) पर ध्यान केंद्रित करते हैं जो कि डिफ़ॉल्ट है hurdle()। हमारे युग्मित / विगनेट में, हम अधिक सामान्य बिल्डिंग ब्लॉक्स पर जोर देने की कोशिश करते हैं, हालांकि।
अचिम जाइलिस

जवाबों:


35

लॉग-संभावना को अलग करना

यह सही है कि अधिकांश बाधा मॉडल का अनुमान अलग से लगाया जा सकता है (मैं कहूंगा, बजाय क्रमिक रूप से )। कारण यह है कि लॉग-लाइबिलिटी को दो भागों में विघटित किया जा सकता है जिन्हें अलग से अधिकतम किया जा सकता है। ऐसा इसलिए है क्योंकि (5.34) में एक स्केलिंग फैक्टर है, जो लॉग-वेवडैलिटी में एक एडिटिव टर्म बन जाता है।π^

स्मिथसन और : जहां ((असत्य) Poisson वितरण और का घनत्व है ) शून्य ट्रंकेशन का कारक है।

(β,γ;y,x,z)=1(γ;y,z)+2(β;y,x)=i:yi=0log{1logit1(ziγ)}+i:yi>0log{logit1(ziγ)}+i:yi>0[log{f(yi;exp(xiβ)}log{1f(0;exp(xiβ)}]
f(y;λ)=exp(λ)λy/y!1f(0;λ)=1exp(λ)

तब यह स्पष्ट हो जाता है कि (बाइनरी मॉडल) और (शून्य- मॉडल) को अलग-अलग अधिकतम किया जा सकता है, जिससे एक ही पैरामीटर अनुमान, सहसंयोजन, इत्यादि के लिए अग्रणी हो सकता है। जहां उन्हें संयुक्त रूप से अधिकतम किया जाता है।2 ( β )1(γ)2(β)

एक ही तर्क भी काम करता है यदि शून्य बाधा प्रायिकता एक लॉजिट मॉडल के माध्यम से पैरामीट्रिक नहीं है लेकिन किसी भी अन्य बाइनरी रिग्रेशन मॉडल, उदाहरण के लिए, 1. पर एक काउंट वितरण राइट-सेंसर किया गया है और निश्चित रूप से, भी हो सकता है एक और गणना वितरण, जैसे, नकारात्मक द्विपद। संपूर्ण बाधा केवल तभी टूट जाती है जब शून्य बाधा और काटे गए भाग के बीच साझा किए गए पैरामीटर होते हैं।( π )πf()

एक प्रमुख उदाहरण होगा यदि अलग-अलग लेकिन सामान्य मापदंडों के साथ नकारात्मक द्विपद वितरण मॉडल के दो घटकों में कार्यरत हैं। (यह आर-फोर्ज, कार्यान्वयन के उत्तराधिकारी से पैकेज में उपलब्ध है ।)θμθhurdle(..., separate = FALSE, dist = "negbin", zero.dist = "negbin")countregpscl

ठोस सवाल

(ए) पूरी तरह से अच्छा डेटा फेंकना: आपके मामले में हां, सामान्य रूप से नहीं। आपके पास अतिरिक्त शून्य (यद्यपि कई शून्य ) के बिना एक एकल पॉइसन मॉडल से डेटा है । इसलिए, शून्य और गैर-शून्य के लिए अलग-अलग मॉडल का अनुमान लगाना आवश्यक नहीं है। हालांकि, अगर दो हिस्सों को वास्तव में विभिन्न मापदंडों द्वारा संचालित किया जाता है, तो इसके लिए आवश्यक है।

(बी) के बाद से बिजली के मुद्दों को जन्म दे सकता है क्योंकि बहुत सारे डेटा शून्य हैं: जरूरी नहीं। यहां, आपके पास टिप्पणियों का एक तिहाई है जो "सफलताओं" (बाधा पार) हैं। बाइनरी रिग्रेशन मॉडल में इसे बहुत चरम नहीं माना जाएगा। (बेशक, अगर अलग-अलग मॉडलों का अनुमान लगाना अनावश्यक है तो आप शक्ति प्राप्त करेंगे।)

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

(d) क्या इन दोनों स्थितियों को 'बाधा' मॉडल कहना सुरक्षित होगा: सिद्धांत रूप में हाँ। हालाँकि, शब्दजाल समुदायों में भिन्न हो सकते हैं। उदाहरण के लिए, शून्य-बाधा बीटा प्रतिगमन अधिक सामान्यतः (और बहुत भ्रामक है) जिसे शून्य-फुलाया बीटा प्रतिगमन कहा जाता है। व्यक्तिगत रूप से, मुझे लगता है कि उत्तरार्द्ध बहुत भ्रामक है क्योंकि बीटा वितरण में कोई शून्य नहीं है जिसे फुलाया जा सकता है - लेकिन यह वैसे भी साहित्य में मानक शब्द है। इसके अलावा, tobit मॉडल एक सेंसर मॉडल है और इसलिए बाधा मॉडल नहीं है। इसे बढ़ाया जा सकता है, हालांकि, एक प्रोबिट (या लॉजिट) मॉडल के साथ-साथ एक छोटा सामान्य मॉडल। अर्थमिति साहित्य में इसे क्रैग दो-भाग मॉडल के रूप में जाना जाता है।

सॉफ्टवेयर टिप्पणियाँ

countregपर आर-फोर्ज पर पैकेज https://R-Forge.R-project.org/R/?group_id=522 के उत्तराधिकारी के कार्यान्वयन है hurdle()/ zeroinfl()से pscl। मुख्य कारण यह है कि (अभी भी) सीआरएएन पर नहीं है कि हम predict()इंटरफ़ेस को संशोधित करना चाहते हैं , संभवतः एक तरह से जो पूरी तरह से पिछड़े संगत नहीं है। अन्यथा कार्यान्वयन बहुत स्थिर है। इसकी तुलना में psclकुछ अच्छी विशेषताएं हैं, जैसे:

  • एक zerotrunc()फ़ंक्शन जो hurdle()मॉडल के शून्य-काटे गए भाग के लिए बिल्कुल उसी कोड का उपयोग करता है । इस प्रकार, यह एक विकल्प प्रदान करता है VGAM

  • इसके अलावा, यह शून्य-छंटनी, बाधा, और शून्य-फुलाया गणना वितरण के लिए डी / पी / क्यू / आर के रूप में कार्य करता है। यह उन्हें अलग-अलग मॉडल के बजाय "एक" मॉडल के रूप में देखने की सुविधा देता है।

  • फिट की अच्छाई का आकलन करने के लिए, रूटोग्राम और यादृच्छिक क्वांटाइल अवशिष्ट प्लॉट जैसे ग्राफिकल डिस्प्ले उपलब्ध हैं। (क्लीबेर और ज़ेलिस को देखें, 2016, अमेरिकी सांख्यिकीविद् , 70 (3), 296–303) doi: 10.1080 / 00031305.2016.1173590 ।)

नकली डेटा

आपका सिम्युलेटेड डेटा एकल पॉइज़न प्रक्रिया से आता है। यदि eएक ज्ञात प्रतिपक्षी के रूप में माना जाता है तो यह एक मानक पॉइसन GLM होगा। यदि eकोई अज्ञात शोर घटक है, तो कुछ अप्रतिष्ठित विषमता है, जिसके कारण थोड़ी अतिवृद्धि होती है, जिसे एक नकारात्मक द्विपद मॉडल या कुछ अन्य प्रकार के निरंतर मिश्रण या यादृच्छिक प्रभाव आदि द्वारा कैप्चर किया जा सकता है, हालांकि, जैसा कि प्रभाव eयहां छोटा है। , इससे कोई फर्क नहीं पड़ता। नीचे, मैं eएक प्रतिगामी के रूप में व्यवहार कर रहा हूं (यानी, 1 के सच्चे गुणांक के साथ) लेकिन आप इसे छोड़ भी सकते हैं और नकारात्मक द्विपद या पॉसन मॉडल का उपयोग कर सकते हैं। गुणात्मक रूप से, ये सभी समान अंतर्दृष्टि की ओर ले जाते हैं।

## Poisson GLM
p <- glm(y ~ x + e, family = poisson)
## Hurdle Poisson (zero-truncated Poisson + right-censored Poisson)
library("countreg")
hp <- hurdle(y ~ x + e, dist = "poisson", zero.dist = "poisson")
## all coefficients very similar and close to true -1.5, 1, 1
cbind(coef(p), coef(hp, model = "zero"), coef(hp, model = "count"))
##                   [,1]       [,2]      [,3]
## (Intercept) -1.3371364 -1.2691271 -1.741320
## x            0.9118365  0.9791725  1.020992
## e            0.9598940  1.0192031  1.100175

यह दर्शाता है कि सभी तीन मॉडल लगातार सच्चे मापदंडों का अनुमान लगा सकते हैं। इसी मानक त्रुटियों को देखने से पता चलता है कि इस परिदृश्य में (बाधा भाग की आवश्यकता के बिना) पॉसन जीएलएम अधिक कुशल है:

serr <- function(object, ...) sqrt(diag(vcov(object, ...)))
cbind(serr(p), serr(hp, model = "zero"), serr(hp, model = "count"))
##                  [,1]      [,2]      [,3]
## (Intercept) 0.2226027 0.2487211 0.5702826
## x           0.1594961 0.2340700 0.2853921
## e           0.1640422 0.2698122 0.2852902

मानक सूचना मानदंड सही पॉइज़न GLM को सर्वश्रेष्ठ मॉडल के रूप में चुनेंगे:

AIC(p, hp)
##    df      AIC
## p   3 141.0473
## hp  6 145.9287

और एक वाल्ड परीक्षण सही ढंग से पता लगाएगा कि बाधा मॉडल के दो घटक काफी अलग नहीं हैं:

hurdletest(hp)
## Wald test for hurdle models
## 
## Restrictions:
## count_((Intercept) - zero_(Intercept) = 0
## count_x - zero_x = 0
## count_e - zero_e = 0
## 
## Model 1: restricted model
## Model 2: y ~ x + e
## 
##   Res.Df Df  Chisq Pr(>Chisq)
## 1     97                     
## 2     94  3 1.0562     0.7877

अंत में दोनों rootogram(p)और qqrplot(p)दिखाते हैं कि पॉइज़न जीएलएम डेटा को बहुत अच्छी तरह से फिट करता है और आगे की चूक पर कोई अतिरिक्त शून्य या संकेत नहीं हैं।

rootogram + qqrplot


अतिरिक्त शून्य और कई शून्य के बीच अंतर क्या है?
ततमी

1
एक उदाहरण: उम्मीद के साथ एक पॉसों का वितरण के बारे में संभावना है । यह निश्चित रूप से कई शून्य है । हालांकि, यदि आपके पास एक वितरण है जिसमें एक पॉइसन (0.5) का आकार है, लेकिन अधिक शून्य है, तो अतिरिक्त शून्य हैं( 0 ; λ = 0.5 ) 60 %λ=0.5f(0;λ=0.5)60%
अचिम जाइलिस

4

मैं मानता हूं कि शून्य-फुलाया और बाधा मॉडल के बीच अंतर समझना मुश्किल है। दोनों एक तरह के मिश्रण मॉडल हैं। जो मैं बता सकता हूं, उससे महत्वपूर्ण अंतर शून्य-फुलाया गया मॉडल में, आप एक वितरण \ textit {जो मान शून्य भी ले सकते हैं} के साथ शून्य पर एक द्रव्यमान मिलाते हैं। बाधा मॉडल के लिए, आप एक वितरण के साथ शून्य पर एक द्रव्यमान का मिश्रण करते हैं जो केवल मानों को 0. से अधिक लेता है। इस प्रकार, शून्य-फुलाए गए मॉडल में आप 'संरचनात्मक शून्य' (शून्य पर द्रव्यमान के अनुरूप) और 'नमूना शून्य' के बीच अंतर कर सकते हैं। 'जिस मॉडल में आप मिश्रण कर रहे हैं, उससे 0 होने की संभावना के अनुरूप। यह पहचान वितरण के सही विकल्प बनाने पर दृढ़ता से निर्भर करती है! लेकिन, यदि आपके पास शून्य-फुलाया हुआ पॉइसन है, उदाहरण के लिए, आप शून्य के बीच अंतर कर सकते हैं जो पोइसन घटक (नमूना शून्य) और शून्य से आते हैं जो शून्य (संरचनात्मक शून्य) पर द्रव्यमान से आते हैं। यदि आपके पास एक शून्य-फुलाया हुआ मॉडल है और जो वितरण आप मिश्रण कर रहे हैं वह शून्य पर कोई द्रव्यमान नहीं है, तो इसे बाधा मॉडल के रूप में व्याख्या किया जा सकता है।


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

1

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

एक अनुकार के साथ नीचे दिए गए कथानक में आप ज्यादातर ढलान और गिनती भाग के अवरोधन के बीच संबंध को देखते हैं। लेकिन गिनती भाग और बाधा भाग के बीच कुछ मामूली संबंध भी है। यदि आप पैरामीटर बदलते हैं, उदाहरण के लिए पॉसों के वितरण में लैम्ब्डा को छोटा या नमूना के आकार को छोटा बनाते हैं, तो सहसंबंध मजबूत हो जाता है।

तो मैं कहूंगा कि आपको इसे दो अलग-अलग मॉडल नहीं मानना ​​चाहिए । या कम से कम कुछ संबंध तब भी है जब व्यवहार में आप एक दूसरे से स्वतंत्र दो अनुमानों की गणना कर सकते हैं।

सहसंबंध

set.seed(1839)

Nrep <- 3000
Ns <- 100
pars <- matrix(rep(0,3*Nrep),Nrep)
colnames(pars) <- c("count_intercept","count_slope","hurdle_intercept")

# simulation-loop
# Note that a truncated poisson is used to generate data
# this will make the parameters from the hurdle function easier to interpret and compare
for (i in 1:Nrep) {
  x <- rnorm(Ns,0,1)
  e <- rbinom(Ns,1,exp(-0.7))
  y <- e*truncdist::rtrunc(n=Ns,spec='pois',a=0,b=Inf,lambda=exp(-1.5 + x))
  mod <- pscl::hurdle(y ~ 1+x|1, link="log")
  pars[i,1]<-mod$coefficients$count[1]
  pars[i,2]<-mod$coefficients$count[2]
  pars[i,3]<-mod$coefficients$zero[1]
}  

# viewing data
plotpars <- pars[pars[,1]>-7,] #clipping
pairs(plotpars,cex=0.7,pch=21,
      col= rgb(0,0,0,0.03),
      bg = rgb(0,0,0,0.03))

# demonstrating linear relation / significant correlation
summary(lm(pars[,1] ~ pars[,3]))

यह बहुत मायने नहीं रखता है कि दोनों भागों के बीच संबंध है। लेकिन यह शायद पॉइसन मॉडल में मापदंडों के अनुमानों के असतत स्तरों के कारण हो सकता है, और ये शून्य की संख्या से कैसे संबंधित हैं।


मैं इसे दोहरा नहीं सकता। मेरे लिए: truncdist::rtrunc(n = 100, spec = 'pois', a = 0, b = Inf, lambda = exp(-1.5 + rnorm(100)))एक त्रुटि देता है (संस्करण 1.0.2 का उपयोग करके) Error in if (G.a == G.b) { : the condition has length > 1:। किसी भी मामले में, आर-फोर्ज पर rhpois()पैकेज से उपयोग करने countregपर दिए गए बाधा क्रॉसिंग प्रायिकता piऔर अंतर्निहित (असंबद्ध) पॉइसन अपेक्षा के साथ बाधा पॉसों मॉडल से अनुकरण करना आसान है lambda। यदि मैं इनका उपयोग करता हूं तो मुझे शून्य बाधा और काटे गए भाग भागों के बीच केवल बहुत छोटे अनुभवजन्य सहसंबंध मिलते हैं।
अचिमे ज़लीलिस

डेटा जनरेट करने की प्रक्रिया: dgp <- function(n = 100, b = c(-0.5, 2), g = c(0.5, -2)) { x <- runif(n, -1, 1) ; y <- rhpois(n, lambda = exp(b[1] + b[2] * x), pi = plogis(g[1] + g[2] * x)); data.frame(x = x, y = y) }सिमुलेशन set.seed(1); cf <- t(replicate(3000, coef(hurdle(y ~ x, data = dgp())))):। मूल्यांकन: pairs(cf)और cor(cf)। जाँच से colMeans(cf)यह भी पता चलता है कि अनुमान ने काफी अच्छा काम किया है।
अचिम जाइलिस

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