如何获得 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,它也确实需要重新拟合模型,请参阅 here 中
glm
中的代码)
- 对于 GLMM 来说,比较合适的空模型是什么不太明显。您是否同时删除随机和固定效应并将模型简化为 GLM?根据问题的上下文,您是保留所有随机效应,还是只保留截距级随机效应,或其他一些混合效应?让用户自己做会迫使他们做出这个选择。
(也就是说,我不认为省略零偏差是一个明确的选择。)
如果您确实选择放弃所有随机效应(即与上例中的 deviance(glm(cbind(incidence, size - incidence) ~ period, data =cbpp, family = binomial))
进行比较,您应该能够与 glmer
拟合进行有意义的比较,但是有一些微妙之处:您可能想阅读 ?deviance.merMod
.
中有关 GLMM 的偏差和对数似然的部分
有没有办法获得与 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,它也确实需要重新拟合模型,请参阅 here 中
glm
中的代码) - 对于 GLMM 来说,比较合适的空模型是什么不太明显。您是否同时删除随机和固定效应并将模型简化为 GLM?根据问题的上下文,您是保留所有随机效应,还是只保留截距级随机效应,或其他一些混合效应?让用户自己做会迫使他们做出这个选择。
- 这可能是一次昂贵的重新拟合(即使对于 GLM,它也确实需要重新拟合模型,请参阅 here 中
(也就是说,我不认为省略零偏差是一个明确的选择。)
如果您确实选择放弃所有随机效应(即与上例中的 deviance(glm(cbind(incidence, size - incidence) ~ period, data =cbpp, family = binomial))
进行比较,您应该能够与 glmer
拟合进行有意义的比较,但是有一些微妙之处:您可能想阅读 ?deviance.merMod
.