如何在不使用 AIC 的情况下比较 2 个 lme4 混合模型?

How do I compare 2 lme4 mixed models without using AIC?

我正在尝试使用零假设检验手动建模 select(由于各种原因,我不想在这种情况下使用 AIC)。我使用 lme4 包构建了我的模型,全局模型如下所示(数据名称已更改);

global<- lmer(Shannon ~
                    + AN:Var1
                  + AN:Var2
                  + AN:Var3
                  + AN:Var4
                  + Var1 + Var2 + Var3
                  + Var4 + Var5 + Var6 + Var7 + (1|Random),
                  data = data, REML=FALSE)

我想依次删除一个变量并使用 anova() 测试与全局变量进行比较,但它会抛出各种错误,我做错了什么?

我已经找到了使用 AIC 的顶级模型,但是最近对 AIC 的一些批评(我不会在这里讨论)意味着在这种情况下我只想将其剥离。我尝试了这样一个简单的方差分析:

anova(globalsessilebase, model1) 

(模型结构与原始 post 相同,模型 1 var1 退出) 结果是:

                   npar    AIC    BIC  logLik deviance  Chisq Df Pr(>Chisq)
model1              14 437.55 488.83 -204.78   409.55                     
globalsessilebase   15 438.94 493.89 -204.47   408.94 0.6101  1     0.4348

据我所知这很好,但是对于某些模型(当每个变量被依次删除时有 11 个)chisq 是 0,我不太明白。

我也刚刚尝试了 drop1,它只给了我 AIC 值?

我相信这与混合模型没有任何关系,而是与分类变量相互作用的方式的结果。如果您有一个分类变量 f 和一个数值变量 x,以及一个包含交互作用 f:x 和主效应 x 的模型,则删除 x 从模型中实际上并没有做任何事情(没有相应的主效应,没有不可能有交互作用,但它违反了“边缘性原则”,R使它很难做到).这是 lm() ...

的示例
dd <- data.frame(z=rnorm(20),f=factor(sample(1:3,size=20,replace=TRUE)),x=rnorm(20))
m1 <- lm(z~f:x + x,dd)
m0 <- update(m1, . ~ . - x)
anova(m0,m1)

结果:

Analysis of Variance Table

Model 1: z ~ f:x
Model 2: z ~ f:x + x
  Res.Df    RSS Df   Sum of Sq F Pr(>F)
1     16 11.591                        
2     16 11.591  0 -1.7764e-15         

可以看到残差自由度(Res.Df)和残差平方和(RSS)相同,自由度差为0,和- 平方差基本上为 0(不完全是因为数字不准确); p 值缺失。 anova() lme4 输出的格式会略有不同,但概念是一样的。