deviance()函数返回奇数值

时间:2015-11-10 11:20:58

标签: r lme4

请参阅以下示例代码:

library(lme4)
M100 <- glmer(vs ~ wt + (1|cyl), data=mtcars, family=binomial("logit"))
deviance(M100)
summary(M100)$AICtab["deviance"]

deviance函数返回13.95但是从模型摘要对象中读取偏差返回24.76。这是怎么回事?

1 个答案:

答案 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'        包源中的目录。