请参阅以下示例代码:
library(lme4)
M100 <- glmer(vs ~ wt + (1|cyl), data=mtcars, family=binomial("logit"))
deviance(M100)
summary(M100)$AICtab["deviance"]
deviance函数返回13.95但是从模型摘要对象中读取偏差返回24.76。这是怎么回事?
答案 0 :(得分:2)
这不是一个错误;你看到了不同的偏差定义之间的区别。 deviance(M100)
给出相对的条件偏差,而summary(M100)$AICtab["deviance"]
(也等于-2*logLik(M100)
)给出绝对的,无条件的偏差[见下面的定义]。
此更改在NEWS
for 1.1-8中引用,为
对于符合拉普拉斯的GLMM,deviance()现在返回偏差,而不是负对数似然的一半(LMM和符合nAGQ&gt; 1的GLMM的行为没有改变)
?deviance.merMod
的详细信息部分中有相当多的信息:
GLMM的偏差和对数似然性:
在定义GLM的偏差时必须小心。对于 例如,偏差应定义为减去两倍 对数似然或它是否涉及减去a的偏差 饱和模型?为了区分这两种可能性我们提到 到绝对偏差(减去对数似然的两倍)和相对 偏差(相对于饱和模型,例如第2.3.1节) McCullagh和Nelder 1989)。然而,有了GLMM,有一个 额外的并发症涉及区分 可能性和条件可能性。后者是 通过调整估计得到的可能性 球形随机效应系数的条件模式, 而可能性本身(即无条件可能性) 涉及整合这些系数。下表 总结了如何为a提取各种类型的偏差 'glmerMod'对象。
conditional unconditional
relative ‘deviance(object)’ NA in ‘lme4’
absolute ‘object@resp$aic()’ ‘-2*logLik(object)’
[告诫删节]
有关此主题的更多信息,请参阅'misc / logLikGLMM' 包源中的目录。