将阶数随机效应输入模型影响估计

时间:2018-10-01 12:03:16

标签: r

在线性混合模型设置中,我将变量输入模型的顺序(既是随机效应又是固定效应)似乎会影响我从模型获得的估计值。在OLS设置中,情况并非如此。

当我改变固定效应进入模型的顺序或随机效应的顺序时,谁能解释为什么估计的固定效应会发生变化?因为我看不到

lmer(Y ~ X1 + X2 + (1 + X1 + X2 | f) )

不同
lmer(Y ~ X2 + X1 + (1 + X2 + X1 | f) )

下面是一个简短的示例。

library(lme4)

lmer1 <- lmer(Sepal.Length ~ 1 + Sepal.Width + Petal.Length +
Petal.Width  + (1 + Sepal.Width + Petal.Length + Petal.Width  |
Species), data=iris)

lmer2 <- lmer(Sepal.Length ~ 1 + Sepal.Width +
Petal.Length + Petal.Width  + (1 + Petal.Width + Sepal.Width +
Petal.Length  | Species), data=iris)

lmer3 <- lmer(Sepal.Length ~ 1 +
Petal.Width + Sepal.Width + Petal.Length + (1 + Petal.Width +
Sepal.Width + Petal.Length  | Species), data=iris)

fixef(lmer1)
fixef(lmer2)
fixef(lmer3)[c("(Intercept)",  "Sepal.Width", "Petal.Length",  "Petal.Width")]

这三个看似相同的模型的输出如下所示:

> fixef(lmer1)
 (Intercept)  Sepal.Width Petal.Length  Petal.Width 
   1.6707431    0.4711415    0.7266866   -0.2240361 
> fixef(lmer2)
 (Intercept)  Sepal.Width Petal.Length  Petal.Width 
   1.6707432    0.4711417    0.7266866   -0.2240366 
> fixef(lmer3)[c("(Intercept)",  "Sepal.Width", "Petal.Length",  "Petal.Width")]
 (Intercept)  Sepal.Width Petal.Length  Petal.Width 
   1.6707428    0.4711414    0.7266866   -0.2240358 

现在,尽管估计的固定效果是如此相似,以至于它们之间的差异几乎没有任何实际意义,但我仍然想知道为什么会发生。

1 个答案:

答案 0 :(得分:3)

正如我对原始帖子的评论中指出的那样,事实证明这是lme4软件包中的一个已知错误;参见https://github.com/lme4/lme4/issues/449。希望可以在软件包的将来版本中解决此问题。感谢Dimitris Rizopoulos提供此信息。

此外,事实证明,数据集中行的顺序也以类似的方式影响估计:glmer in R: Significance estimates are not robust to order of data frame

换句话说,我们如何将变量输入lmer以及以什么顺序放置数据集的行,当前会影响估计值。希望这些问题能够在将来解决,因为我认为这对于统计工具来说并不是一个有吸引力的特性。