如何获得 glmer() 模型的零偏差?

How can I get the null deviance of a glmer() model?

有没有办法获得与 glmer() 拟合的广义线性混合模型的零偏差和 df?这是否不包含在 summary() 输出中,就像 glm() 对象一样?

您可以通过仅使用截距项重新拟合模型来计算零偏差,例如

gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd),
                   data = cbpp, family = binomial)
gm0 <- update(gm1, . ~ 1 + (1|herd))
deviance(gm1)  ## 73.47
deviance(gm0)  ## 92.42 (null deviance)
  • 我不确定 GLMM 的“空 df”是什么意思; 'denominator degree of freedom' 有效样本量的度量非常适用于平衡方差分析,但对于线性混合模型 [通过 inclusion/exclusion、Satterthwaite、Kenward-Roger 等] 却有问题,但很难为 GLMM 定义。
  • 我能想到 lme4 不会自动为您进行此计算的几个原因:
    • 这可能是一次昂贵的重新拟合(即使对于 GLM,它也确实需要重新拟合模型,请参阅 hereglm 中的代码)
    • 对于 GLMM 来说,比较合适的空模型是什么不太明显。您是否同时删除随机和固定效应并将模型简化为 GLM?根据问题的上下文,您是保留所有随机效应,还是只保留截距级随机效应,或其他一些混合效应?让用户自己做会迫使他们做出这个选择。

(也就是说,我不认为省略零偏差是一个明确的选择。)

如果您确实选择放弃所有随机效应(即与上例中的 deviance(glm(cbind(incidence, size - incidence) ~ period, data =cbpp, family = binomial)) 进行比较,您应该能够与 glmer 拟合进行有意义的比较,但是有一些微妙之处:您可能想阅读 ?deviance.merMod.

中有关 GLMM 的偏差和对数似然的部分