计算具有零通胀的glmmTMB预测的置信区间

时间:2018-12-31 21:15:39

标签: r

我正在尝试计算通货膨胀率为零的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)

由于文档显示了其他方法,因此我希望可以放心,我正确地计算了上限和下限。

0 个答案:

没有答案