Theo hiểu biết của tôi, predict
phương pháp cho kết quả từ zeroinfl
không bao gồm các lỗi tiêu chuẩn. Nếu mục tiêu của bạn là xây dựng các khoảng tin cậy, một lựa chọn hấp dẫn là sử dụng bootstrapping. Tôi nói hấp dẫn bởi vì bootstrapping có tiềm năng mạnh mẽ hơn (mất hiệu quả nếu tất cả các giả định cho các SE được đáp ứng).
Đây là một số mã thô để làm những gì bạn muốn. Nó sẽ không hoạt động chính xác, nhưng hy vọng bạn có thể thực hiện các chỉnh sửa cần thiết.
## 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)
Tôi đã thu hút mã này từ hai trang tôi đã viết, một thông số bootstrapping từ hồi quy Poisson zero-thổi phồng với zeroinfl
Poisson Zero-thổi phồng và một chứng minh rằng để có được bootstrapped khoảng tin cậy cho các giá trị dự đoán từ một mô hình nhị phân âm zero-cắt ngắn Zero-cắt ngắn nhị thức tiêu cực . Kết hợp lại, hy vọng rằng nó cung cấp cho bạn các ví dụ đầy đủ để làm cho nó hoạt động với các giá trị dự đoán từ một poisson không bị thổi phồng. Bạn cũng có thể nhận được một số ý tưởng đồ thị :)
predict()
chức năngzeroinfl()
tại thời điểm này.