Насколько мне известно, predict
метод для получения результатов zeroinfl
не включает стандартные ошибки. Если ваша цель - построить доверительные интервалы, одной из привлекательных альтернатив является использование начальной загрузки. Я считаю привлекательным, потому что у начальной загрузки есть потенциал, чтобы быть более устойчивым (с потерей эффективности, если все предположения для SE выполнены).
Вот примерный код для того, чтобы делать то, что вы хотите. Это не будет работать точно, но, надеюсь, вы сможете внести необходимые исправления.
## 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
нулевым раздувом с нулевым раздувом Пуассона, а другая - как получить доверительные интервалы с начальной загрузкой для прогнозируемых значений из отрицательной биномиальной модели с нулевым усечением , Надеемся, что в совокупности это даст вам достаточное количество примеров, чтобы заставить его работать с прогнозируемыми значениями из нулевого раздувания Пуассона. Вы также можете получить некоторые графические идеи :)
predict()
функцию были встроены стандартные ошибкиzeroinfl()
.