模拟显示固定效应和混合效应模型之间差异的示例

机器算法验证 混合模式 lme4-nlme
2022-03-22 14:00:02

当使用固定效应而不是随机效应时,我试图找到一个模型结果存在极大差异的示例。我尝试使用以下代码模拟一个示例:

library(lme4)
library(ggplot2)
library(tidyverse)
library(broom)
df <- data.frame(Group=LETTERS[1:10]) %>%
  mutate(yGroup=rnorm(n()), xGroup=rnorm(n())) %>%                  # group means
  mutate(coefGroup=rnorm(n(), mean=.25)) %>%                        # group slope
  mutate(size=sample(5:10, 1)) %>% uncount(size) %>%
  group_by(Group) %>%
  mutate(x=xGroup + rnorm(n()), y=yGroup + coefGroup * x + rnorm(n(), sd=.5))

ggplot(df, aes(x=x, y=y, color=Group)) + geom_point()
lm(y ~ x + Group, data=df) %>% tidy()

lmod1 <- lmer(y ~ x + (1|Group), data=df)
lmod2 <- lmer(y ~ 1 + (1|Group), data=df)
anova(lmod1, lmod2)

但是,无论我做什么,OLS 和混合效应模型的效应或系数的差异都非常相似。我究竟做错了什么?

1个回答

你没有做错任何事。

为分组变量拟合固定效应而不是随机截距是一种完全有效的方法,因此您获得的结果将具有可比性。

所以你可能想知道:为什么要费心去拟合一个混合效果模型呢?答案是当组的数量变大时,您实际上并不想要拟合固定效应,因为您最终会得到大量估计值。此外,您将消耗大量的自由度。此外,奥卡姆剃刀原则规定,在其他条件相同的情况下,应该首选更简约的模型,并且对于大量组,固定效应模型远非简约。