我有两个具有相同交互作用的 LME 模型,一个包含主效应,一个只包含一个主效应,比如:
和
每个级别有 4 个级别,Season、Crownlevel 和 CollectorID 的每个组合 两个模型的 AIC、BIC 和对数似然完全相等。给定 AIC 的公式为
即使可能性完全相同,人们也会期望这会有所不同。最后,它们具有不同数量的参数。或者我是这么想的……
在 R 中尝试这个玩具示例:
library(nlme)
Season <- rep(as.factor(rep(letters[1:4],each=4)),4)
Crownlevel <-rep(as.factor(rep(letters[11:14],4)),4)
CollectorID <-rep(letters[20:23],each=16)
X <- model.matrix(~Season+Crownlevel+Season:Crownlevel)
B <- c(1,1,-2,2,0.3,0.4,0.4,2,3,1,-2,-3,-4,2,1,2)
H_CE <- X %*% B + rnorm(16*4)
KBM <- data.frame(Season,Crownlevel,H_CE,CollectorID)
model1 <- lme(H_CE~Season+Crownlevel+Season:Crownlevel,data=KBM,
method="ML",random=~1|CollectorID)
model1e <- lme(H_CE~Season+Season:Crownlevel,data=KBM,
method="ML",random=~1|CollectorID)
我得到:
anova(model1,model1e)
Model df AIC BIC logLik
model1 1 18 174.1834 213.0433 -69.09168
model1e 2 18 174.1834 213.0433 -69.09168
我在这里想念什么?为什么数字完全相等?它必须与模型规范有关,但我真的看不出是什么。
模型规格本身是错误的,我知道。但我无法解释是什么让它返回一组不同的参数,但完全相同的残差、可能性和自由度:
> all.equal(residuals(model1),residuals(model1e))
[1] TRUE
正如fabians正确指出的那样,这两种模型是完全等效的。然而,我不明白为什么在 AIC 计算中使用相同的参数数量值k。
在kAIC 中使用 df,它解释了一切。