glmmTMB负二项式模型的置信区间

时间:2019-08-01 18:27:58

标签: r lme4 emmeans

我正在尝试为glmmTMB(家族:nbinom1)中的模型估计计算95%的置信区间。

我可以使用glmer.nb模型和emmeans,并使用type = "response"对估计和置信区间进行反变换。

model = glmer.nb (response ~ p1 + p2 + (1|block))
emmeans(model, ~ p1 + p2, type = "response")

我认为glmmTMB中的类似功能是confint(model),但它不会对估计值进行反变换。

有人能以glmmTMB的方式使用glmer模型帮助我完成这项工作吗?

2 个答案:

答案 0 :(得分:1)

这是苹果与橙色的对比。

emmeans调用在p1p2的每种组合中根据模型计算预测。那些可以逆变换。

但是,confint(model)要求对回归系数进行推断。这些系数实质上是斜率。它们不像EMM那样处于日志级别,并且不能进行反向转换。

答案 1 :(得分:1)

emmeans() 应该也适用于 glmmTMB 模型。对我来说,它有效,并且CI也经过了逆变换( 对数刻度):

library(glmmTMB)
data(Salamanders)

m <- glmmTMB(
  count ~ spp + mined + (1 | site),
  ziformula = ~ spp + mined,
  family = truncated_poisson,
  data = Salamanders
)

emmeans::emmeans(m, "spp", type = "response")
#>  spp    rate    SE  df lower.CL upper.CL
#>  GP    1.553 0.223 627    1.171     2.06
#>  PR    0.922 0.251 627    0.540     1.57
#>  DM    1.944 0.250 627    1.511     2.50
#>  EC-A  1.277 0.246 627    0.875     1.86
#>  EC-L  2.965 0.337 627    2.372     3.71
#>  DES-L 2.844 0.321 627    2.280     3.55
#>  DF    1.626 0.222 627    1.244     2.13
#> 
#> Results are averaged over the levels of: mined 
#> Confidence level used: 0.95 
#> Intervals are back-transformed from the log scale

reprex package(v0.3.0)于2019-08-09创建

如果您需要具有零膨胀的混合模型的预测值(置信区间),则计算会更加复杂,但可以在{{ 3}}。您可以找到更多详细信息ggeffects-package

默认情况下,predict()emmeans()都不返回最合适的置信区间,正如Brooks等人提出的那样。 (请参阅附录in this vignette

在此处查看示例:

library(glmmTMB)
data(Salamanders)

m <- glmmTMB(
  count ~ spp + mined + (1 | site),
  ziformula = ~ spp + mined,
  family = truncated_poisson,
  data = Salamanders
)

# emmeans, not taking zero-inflation component into account
emmeans::emmeans(m, "spp", type = "response")
#>  spp    rate    SE  df lower.CL upper.CL
#>  GP    1.553 0.223 627    1.171     2.06
#>  PR    0.922 0.251 627    0.540     1.57
#>  DM    1.944 0.250 627    1.511     2.50
#>  EC-A  1.277 0.246 627    0.875     1.86
#>  EC-L  2.965 0.337 627    2.372     3.71
#>  DES-L 2.844 0.321 627    2.280     3.55
#>  DF    1.626 0.222 627    1.244     2.13
#> 
#> Results are averaged over the levels of: mined 
#> Confidence level used: 0.95 
#> Intervals are back-transformed from the log scale

# ggeffects with emmeans, not taking zero-inflation 
# component into account
ggeffects::ggemmeans(m, "spp", type = "fe")
#> 
#> # Predicted counts of count
#> # x = spp
#> 
#>      x predicted conf.low conf.high
#>     GP     1.553    1.171     2.059
#>     PR     0.922    0.540     1.574
#>     DM     1.944    1.511     2.502
#>   EC-A     1.277    0.875     1.863
#>   EC-L     2.965    2.372     3.707
#>  DES-L     2.844    2.280     3.549
#>     DF     1.626    1.244     2.126

# ggeffects with emmeans, taking zero-inflation 
# component into account
ggeffects::ggemmeans(m, "spp", type = "fe.zi")
#> 
#> # Predicted counts of count
#> # x = spp
#> 
#>      x predicted conf.low conf.high
#>     GP     0.567    0.483     0.651
#>     PR     0.089    0.072     0.107
#>     DM     0.911    0.773     1.048
#>   EC-A     0.204    0.167     0.242
#>   EC-L     1.389    1.172     1.606
#>  DES-L     1.506    1.268     1.744
#>     DF     0.762    0.637     0.886

https://journal.r-project.org/archive/2017/RJ-2017-066/RJ-2017-066.pdf(v0.3.0)于2019-08-09创建