阅读@gung 的这篇文章让我尝试重现他的精彩插图,并最终导致对我读过或听过的东西提出质疑,但我想更直观地理解:为什么 OLSlm控制相关变量更好(我可以试探性地说“更好”吗?)比具有不同相交和斜率的混合效应模型?
这是玩具示例,再次尝试与上面引用的帖子平行:
先上数据:
set.seed(0)
x1 <- c(rnorm(10,3,1),rnorm(10,5,1),rnorm(10,7,1))
x2 <- rep(c(1:3),each=10)
y1 <- 2 -0.8 * x1[1:10] + 8 * x2[1:10] +rnorm(10)
y2 <- 6 -0.8 * x1[11:20] + 8 * x2[11:20] +rnorm(10)
y3 <- 8 -0.8 * x1[21:30] + 8 * x2[21:30] +rnorm(10)
y <- c(y1, y2, y3)
以及不同的型号:
library(lme4)
fit1 <- lm(y ~ x1)
fit2 <- lm(y ~ x1 + x2)
fit3 <- lmer(y ~ x1 + (1|x2))
fit4 <- lmer(y ~ x1|x2, REML=F)
比较模型之间的 Akaike 信息准则 (AIC):
AIC(fit1, fit2, fit3, fit4)
df AIC
df AIC
fit1 3 184.5330
fit2 4 97.6568
fit3 4 112.0120
fit4 5 114.8401
因此,最好的模型似乎是,鉴于和lm(y ~ x1 + x2)之间的强相关性,我认为这是有道理的。x1x2 cor(x1,x2) [1] 0.8619565
但问题是,这种行为背后的直觉是什么,当具有不同截距和斜率的混合模型似乎产生了与数据完美拟合的系数时?
coef(lmer(y ~ x1|x2))
$x2
x1 (Intercept)
1 -1.1595730 11.37746
2 -0.2586303 19.38601
3 0.2829754 24.20038
library(lattice)
xyplot(y ~ x1, groups = x2, pch=19,
panel = function(x, y,...) {
panel.xyplot(x, y,...);
panel.abline(a=coef(fit4)$x2[1,2], b=coef(fit4)$x2[1,1],lty=2,col='blue');
panel.abline(a=coef(fit4)$x2[2,2], b=coef(fit4)$x2[2,1],lty=2,col='magenta');
panel.abline(a=coef(fit4)$x2[3,2], b=coef(fit4)$x2[3,1],lty=2,col='green')
})

我确实意识到二元 OLS 的图形拟合看起来也不错:
library(scatterplot3d)
plot1 <- scatterplot3d(x1,x2,y, type='h', pch=16,
highlight.3d=T)
plot1$plane3d(fit2)

...而且我不知道这是否会使问题无效。





