如何解决如何在不使用 AIC 的情况下比较 2 个 lme4 混合模型?
我正在尝试使用零假设检验手动建模选择(出于各种原因,我不想在这种情况下使用 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)
(模型结构与原始帖子相似,模型 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
的模型,则删除 {{1}来自模型的实际上并没有做任何事情(在没有相应主效应的情况下进行交互并非不可能,但它违反了“边际原则”,而 R 使其难以做到)。这是一个带有 x
...
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
)相同,自由度差为0,平方和差异本质上是 0(不完全是因为数字不准确);缺少 p 值。来自 RSS
的 lme4 输出格式会略有不同,但概念是相同的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。