R शून्य-फुलाया गया काउंट डेटा प्रतिगमन से मानक त्रुटियां कैसे प्राप्त करें? [बन्द है]


9

निम्नलिखित कोड

PredictNew <- predict (glm.fit, newdata = Predict, X1 =X1, Y1= Y1, 
                       type = "response", se.fit = TRUE)

एक 3-कॉलम data.frame--PredictNew, फिट किए गए मान, मानक त्रुटियां और एक अवशिष्ट स्केल शब्द का उत्पादन करता है।

बिल्कुल सही ... हालाँकि इसके साथ फिट किए गए मॉडल का उपयोग करना zeroinfl {pscl}:

PredictNew <- predict (zeroinfl.fit, newdata = Predict, X1 =X1, Y1= Y1, 
                       type = "response", se.fit = TRUE)

या

PredictNew <- predict (zeroinfl.fit, newdata = Predict, X1 =X1, Y1= Y1, 
                       type = "response", se.fit = TRUE, MC = 2500, conf = .95))

केवल सज्जित मूल्यों के एकल स्तंभ वेक्टर का उत्पादन करें। हालाँकि, मैं मानक त्रुटियों के लिए बहुत उत्सुक हूँ। मैंने जो कुछ पढ़ा है, वह कहता है कि उनका उत्पादन किया जाना चाहिए।

(कोड को कुछ हद तक सरलीकृत किया गया है, मेरे पास वास्तव में चार चर हैं और एक ऑफसेट है - predict.glmऔर se.fit = TRUEउत्पादन एसई के साथ कोई प्रोब नहीं है )।


5
आर-हेल्प पर इस सूत्र पर एक नज़र डालें: stat.ethz.ch/pipermail/r-help/2008-Deuled/thread.html#182806 (विशेषकर अचिम ज़ाइलिस का संदेश जो आपको लगता है कि आपको लगता है कि ऐसा करने के लिए कोड प्रदान करता है। करने का प्रयत्न)। ऐसा नहीं लगता है कि इस समय predict()फ़ंक्शन में मानक त्रुटियां लागू की गई हैं zeroinfl()
स्मालिग

धन्यवाद, यह कोड बहुत ही उचित परिणाम देने के लिए लग रहा था। दूसरों को ध्यान देना चाहिए कि se.fit = TRUE के लिए नए zeroinfl.predict फ़ंक्शन में पूर्वानुमान () पैरामीटर se = TRUE में बदल दिया गया था, ताकि अनुमानित अंतराल और se निकालने के लिए
KalahariKev

जवाबों:


4

मेरी जानकारी के लिए, predictपरिणामों के लिए विधि zeroinflमें मानक त्रुटियां शामिल नहीं हैं। यदि आपका लक्ष्य आत्मविश्वास अंतराल का निर्माण करना है, तो बूटस्ट्रैपिंग का उपयोग करने के लिए एक आकर्षक विकल्प है। मैं आकर्षक कहता हूं क्योंकि बूटस्ट्रैपिंग में अधिक मजबूत होने की क्षमता है (दक्षता की हानि पर अगर एसई के लिए सभी धारणाएं पूरी होती हैं)।

यहां कुछ मोटे कोड हैं जो आप चाहते हैं। यह बिल्कुल काम नहीं करेगा, लेकिन उम्मीद है कि आप आवश्यक सुधार कर सकते हैं।

## load boot package
require(boot)
## output coefficients from your original model
## these can be used as starting values for your bootstrap model
## to help speed up convergence and the bootstrap
dput(round(coef(zeroinfl.fit, "count"), 3))
dput(round(coef(zeroinfl.fit, "zero"), 3))

## function to pass to the boot function to fit your model
## needs to take data, an index (as the second argument!) and your new data
f <- function(data, i, newdata) {
  require(pscl)
  m <- zeroinfl(count ~ child + camper | persons, data = data[i, ], start = list(count = c(1.598, -1.0428, 0.834), zero = c(1.297, -0.564)))
  mparams <- as.vector(t(do.call(rbind, coef(summary(m)))[, 1:2]))
  yhat <- predict(m, newdata, type = "response")
  return(c(mparams, yhat))    
}

## set the seed and do the bootstrap, make sure to set your number of cpus
## note this requires a fairly recent version of R
set.seed(10)
res <- boot(dat, f, R = 1200, newdata = Predict, parallel = "snow", ncpus = 4)

## get the bootstrapped percentile CIs
## the 10 here is because in my initial example, there were 10 parameters before predicted values
yhat <- t(sapply(10 + (1:nrow(Predict)), function(i) {
  out <- boot.ci(res, index = i, type = c("perc"))
  with(out, c(Est = t0, pLL = percent[4], pUL = percent[5]))
}))

## merge CIs with predicted values
Predict<- cbind(Predict, yhat)

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


मैंने आपके कोड को VGAM पैकेज में एक शून्य-छिन्न नकारात्मक द्विपद मॉडल के लिए अपनाने की कोशिश की, लेकिन एक त्रुटि प्राप्त हुई। क्या मुझे CV पर एक नया प्रश्न बनाना चाहिए और यहाँ लिंक करना चाहिए? मैं वास्तव में इस के साथ आपकी मदद की सराहना करेंगे। विशेष रूप से, यह वह त्रुटि है जो मुझे मिलती है Error in X.vlm.save %*% coefstart : non-conformable arguments:।
राफेल के
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.