我正在尝试为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
模型帮助我完成这项工作吗?
答案 0 :(得分:1)
这是苹果与橙色的对比。
emmeans
调用在p1
和p2
的每种组合中根据模型计算预测。那些可以逆变换。
但是,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创建