我正在构建一个混合模型,其中相同的 4 个组在度量 M 上重复测试 5 周。我想测试组对度量 M 的影响。我可以构建如下模型(假设使用 R):
lmer(M ~ Time + Group + (1|Group), data = mydata)
哪里group
同时存在固定效应和随机效应?强加一个群体的两种效果在概念上似乎是矛盾的。但是如果我想测试群体效应呢?
我正在构建一个混合模型,其中相同的 4 个组在度量 M 上重复测试 5 周。我想测试组对度量 M 的影响。我可以构建如下模型(假设使用 R):
lmer(M ~ Time + Group + (1|Group), data = mydata)
哪里group
同时存在固定效应和随机效应?强加一个群体的两种效果在概念上似乎是矛盾的。但是如果我想测试群体效应呢?
首先要确定Group
被定义为一个因素。您当前的模型是
Group
和时间点。如果你运行你的模型并用 测试ranef()
,你会发现很难区分和在估计中,因此几乎等于 0。
两种可能的替代模型是:
我使用sleepstudy
数据集作为说明。如果分组变量(一个因子)作为协变量(fm2
下面的模型)包含在内,则随机效应及其方差都趋于为零。直观的解释是,和基本上模拟相同的数量(特定于组的截距),尽管假设一个是固定的,一个是随机的。大部分可变性首先被固定截距吸收(),所以随机截取趋向于全为零。下面列出了代码和结果。
> fm1 <- lmer(Reaction ~ Days + (1 | Subject), sleepstudy, REML = F)
> re1 = as.matrix(ranef(fm1)$Subject)
> summary(as.vector(re1))
Min. 1st Qu. Median Mean 3rd Qu. Max.
-77.570 -7.460 5.701 0.000 15.850 71.920
> VarCorr(fm1)
Groups Name Std.Dev.
Subject (Intercept) 36.012
Residual 30.895
> sd(re1)
[1] 35.76336
> fm2 <- lmer(Reaction ~ Days + Subject + (1 | Subject), sleepstudy, REML = F)
> re2 = as.matrix(ranef(fm2)$Subject)
> summary(as.vector(re2))
Min. 1st Qu. Median Mean 3rd Qu. Max.
0 0 0 0 0 0
> VarCorr(fm2)
Groups Name Std.Dev.
Subject (Intercept) 0.00
Residual 29.31
> sd(re2)
[1] 0
以前我使用过 ML,lmer
因为我发现随机截距的 REML 方差估计在这种极端情况下似乎偏离了真实值。我知道在单个模型中同时包含固定和随机组特定截距可能没有意义,但这可能是一个有趣的例子。请注意,此模型与随机截距模型之间的唯一区别是固定效应的设计矩阵更大。
下面的lmer
例子使用了REML,模型和上面的Model一样fm2
。估计的随机效应都接近于零,它们的标准差非常接近于零。我知道估计随机效应的标准偏差不是随机效应方差的完美估计,但两者应该以某种方式对应。但随机效应的 REML 方差估计值为 33,与零相差甚远。
> fm3 <- lmer(Reaction ~ Days + Subject + (1 | Subject), sleepstudy, REML = T, verbose = T)
> re3 = as.matrix(ranef(fm3)$Subject)
> summary(as.vector(re3))
Min. 1st Qu. Median Mean 3rd Qu. Max.
-3.998e-12 -9.220e-13 -6.549e-13 -7.717e-13 -4.567e-13 6.893e-13
> VarCorr(fm3)
Groups Name Std.Dev.
Subject (Intercept) 33.050
Residual 30.991
> sd(re3)
[1] 9.391908e-13
我也进行了测试Stata
,它变得更加有趣。该mixed
命令使用 EM 算法,但它无法收敛,因此给出了非常大的估计值。据我了解,在这种情况下,REML 和 ML 应该没有太大区别。可能存在一些数值问题。鉴于估计依赖于迭代,当我有更多时间时,我会更多地考虑这一点。
. mixed reaction days i.subject || subject:, reml
Performing EM optimization:
Performing gradient-based optimization:
could not calculate numerical derivatives -- discontinuous region with missing values encountered
could not calculate numerical derivatives -- discontinuous region with missing values encountered
Computing standard errors:
standard-error calculation failed
Mixed-effects REML regression Number of obs = 180
Group variable: subject Number of groups = 18
Obs per group:
min = 10
avg = 10.0
max = 10
Wald chi2(18) = 169.64
Log restricted-likelihood = -805.65036 Prob > chi2 = 0.0000
...
------------------------------------------------------------------------------
Random-effects Parameters | Estimate Std. Err. [95% Conf. Interval]
-----------------------------+------------------------------------------------
subject: Identity |
var(_cons) | 105231.5 . . .
-----------------------------+------------------------------------------------
var(Residual) | 960.4566 . . .
------------------------------------------------------------------------------
LR test vs. linear model: chibar2(01) = 2.3e-13 Prob >= chibar2 = 1.0000
Warning: convergence not achieved; estimates are based on iterated EM