[英]Confidence Intervals for negative binomial GLMM: uncertainty in the variance parameters
我想使用lme4
package 計算負二項式 GLMM 預測的 95 個置信區間。 但是,默認情況下無法計算預測標准誤差的原因是我嘗試:
#Package
library(lme4)
# Create a data set
set.seed(101)
dd <- expand.grid(f1 = factor(1:3),
f2 = LETTERS[1:2], g=1:9, rep=1:15,
f3 = rnorm(10,25),
KEEP.OUT.ATTRS=FALSE)
mu <- 5*(-4 + with(dd, as.integer(f1) + 4*as.numeric(f2)))
dd$y <- rnbinom(nrow(dd), mu = mu, size = 0.5)
str(dd)
# Create a negative binomial generalized mixed model
m.nb <- glmer.nb(y ~ f1 + f2 + poly(f3,2) + (1|g), data=dd, verbose=TRUE)
m.nb
#Compute the confidence interval for model predictions
mm<-model.matrix(~f1+f2+poly(f3,2),dd)
dd$y_est<-mm%*%fixef(m.nb) #predicted values
pvar <- diag(mm %*% tcrossprod(vcov(m.nb),mm))
CIupper <- dd$y_est+sqrt(pvar) * 1.96
CIlower <- dd$y_est-sqrt(pvar) * 1.96
但我不太確定這是否是將不確定性納入方差參數的有效方法,尤其是使用poly()
變量。 請問,這有什么幫助嗎?
在上面的代碼中計算 model 預測的置信區間是可以的,但它需要將反向鏈接 function ( exp()
) 應用於dd$y_est
和pvar
+ sigma(m.nb)^2
:
mm<-model.matrix(~f1+f2+poly(f3,2),dd)
dd$y_est<-exp(mm%*%fixef(m.nb)) #predicted values
pvar <- diag(mm %*% tcrossprod(vcov(m.nb),mm))
CIupper <- dd$y_est+sqrt(pvar+sigma(m.nb)^2) * 1.96
CIlower <- dd$y_est-sqrt(pvar+sigma(m.nb)^2) * 1.96
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.