我目前正在审查一些工作,遇到了以下问题,这对我来说似乎是错误的。使用lmer拟合了两个混合模型(在R中)。这些模型是非嵌套的,并通过似然比测试进行比较。简而言之,这是我拥有的可复制示例:
set.seed(105)
Resp = rnorm(100)
A = factor(rep(1:5,each=20))
B = factor(rep(1:2,times=50))
C = rep(1:4, times=25)
m1 = lmer(Resp ~ A + (1|C), REML = TRUE)
m2 = lmer(Resp ~ B + (1|C), REML = TRUE)
anova(m1,m2)
据我所知,它lmer
被用来计算对数似然,并且该anova
语句使用具有通常自由度的卡方来测试模型之间的差异。这对我来说似乎不正确。如果是正确的话,有人知道有什么参考可以证明这一点吗?我知道依赖模拟的方法(Lewis等人的论文,2011年)和Vuong(1989年)开发的方法,但是我不认为这是在这里产生的。我认为该anova
陈述的使用不正确。
anova()
R中的功能未将REML下安装的两个模型进行比较;它使用ML对其进行改装,然后执行测试。请参阅lme4:::anova.merMod
,其中包含该行mods <- lapply(mods, refitML)
。(但是您仍然正确,anova()
不能