我正在尝试计算通货膨胀率为零的glmmTMB模型所做预测的置信区间。
我浏览了github上发布的一些问题以及描述glmmTMB的原始论文。但是,似乎glmmTMB发生了些微变化,我对使用的正确方法感到非常困惑。
这是我到目前为止所看的内容: -https://github.com/glmmTMB/glmmTMB/issues/324 -https://github.com/glmmTMB/glmmTMB/issues/378 -https://www.biorxiv.org/content/biorxiv/suppl/2017/05/01/132753.DC1/132753-2.pdf
当前,我只是在响应量表上进行预测和预测(因为这也应包括ZI项),转换回对数标度,计算0.95的置信区间,然后转换回响应量表。 (请参见下面的代码)。
library(glmmTMB)
data("Salamanders")
fit = glmmTMB(count~spp + cover + mined +(1|site),
ziformula=~spp + mined,
dispformula = ~DOY,
data = Salamanders,
family=nbinom2)
newdata <- expand.grid(
site = "new",
spp = unique(Salamanders$spp),
mined = factor(c("yes", "no"), levels = levels(Salamanders$mined)),
cover = seq(from = min(Salamanders$cover),
to = max(Salamanders$cover),
length = 25
),
DOY = mean(Salamanders$DOY)
)
preds <- predict(fit, newdata, se=T, allow.new.levels = T, type='response')
newdata$pred=preds$fit
newdata$se = preds$se.fit
newdata$ulimit = exp(log(newdata$pred)+(qnorm(0.975)*log(newdata$se)))
newdata$llimit = exp(log(newdata$pred)-(qnorm(0.975)*log(newdata$se)))
library(ggplot2)
ggplot(data=newdata, aes(x=cover, y = pred))+
geom_ribbon(aes(ymin=llimit, ymax=ulimit, fill=mined), alpha = 0.25)+
geom_line(aes(color = mined), size=1)+
facet_wrap(~spp)
由于文档显示了其他方法,因此我希望可以放心,我正确地计算了上限和下限。