Answers:
从BLUP中获得的值的估算方法与固定效果的BLUE估算方法不同。按照惯例,BLUP被称为预测。当您拟合混合效应模型时,最初估计的是随机效应的均值和方差(可能还有协方差)。随后,根据估计的均值和方差以及数据计算出给定学习单元(例如学生)的随机效应。在简单的线性模型中,均值是估计值(残差也是如此),但是观察到的分数被认为是由均值和误差组成的,误差是随机变量。在混合效果模型中,给定单元的效果同样是随机变量(尽管在某种意义上已经实现)。
如果愿意,您也可以将此类单位视为固定效果。在这种情况下,照常估算该单元的参数。但是,在这种情况下,不估算从中提取单位的总体平均值(例如)。
此外,随机效应背后的假设是,它们是从某些总体中随机抽样的,而这正是您关心的总体。固定效果的基础假设是您有目的地选择了这些单位,因为这些是您唯一关心的单位。
如果您转过身来并拟合混合效果模型并预测这些相同的效果,则相对于其固定效果估计值,它们趋向于“均值”收缩。您可以认为这类似于贝叶斯分析,在贝叶斯分析中,估计的均值和方差指定了一个正常的先验,而BLUP就像是通过将数据与先验最优组合而得到的后验的均值。
收缩量基于几个因素而变化。随机效应预测与固定效应估计之间的距离的重要决定因素是随机效应的方差与误差方差之比。这是R
最简单情况的快速演示,其中只有5个“等级2”单元,均值(截距)适合。(您可以将其视为班级学生的考试成绩。)
library(lme4) # we'll need to use this package
set.seed(1673) # this makes the example exactly reproducible
nj = 5; ni = 5; g = as.factor(rep(c(1:nj), each=ni))
##### model 1
pop.mean = 16; sigma.g = 1; sigma.e = 5
r.eff1 = rnorm(nj, mean=0, sd=sigma.g)
error = rnorm(nj*ni, mean=0, sd=sigma.e)
y = pop.mean + rep(r.eff1, each=ni) + error
re.mod1 = lmer(y~(1|g))
fe.mod1 = lm(y~0+g)
df1 = data.frame(fe1=coef(fe.mod1), re1=coef(re.mod1)$g)
##### model 2
pop.mean = 16; sigma.g = 5; sigma.e = 5
r.eff2 = rnorm(nj, mean=0, sd=sigma.g)
error = rnorm(nj*ni, mean=0, sd=sigma.e)
y = pop.mean + rep(r.eff2, each=ni) + error
re.mod2 = lmer(y~(1|g))
fe.mod2 = lm(y~0+g)
df2 = data.frame(fe2=coef(fe.mod2), re2=coef(re.mod2)$g)
##### model 3
pop.mean = 16; sigma.g = 5; sigma.e = 1
r.eff3 = rnorm(nj, mean=0, sd=sigma.g)
error = rnorm(nj*ni, mean=0, sd=sigma.e)
y = pop.mean + rep(r.eff3, each=ni) + error
re.mod3 = lmer(y~(1|g))
fe.mod3 = lm(y~0+g)
df3 = data.frame(fe3=coef(fe.mod3), re3=coef(re.mod3)$g)
所以随机效应的误差方差方差之比为1/5的model 1
,对于5/5 model 2
,5/1为model 3
。请注意,我使用了均值表示法对固定效果模型进行编码。现在我们可以检查这三种情况下估计的固定效应和预测的随机效应的比较。
df1
# fe1 re1
# g1 17.88528 15.9897
# g2 18.38737 15.9897
# g3 14.85108 15.9897
# g4 14.92801 15.9897
# g5 13.89675 15.9897
df2
# fe2 re2
# g1 10.979130 11.32997
# g2 13.002723 13.14321
# g3 26.118189 24.89537
# g4 12.109896 12.34319
# g5 9.561495 10.05969
df3
# fe3 re3
# g1 13.08629 13.19965
# g2 16.36932 16.31164
# g3 17.60149 17.47962
# g4 15.51098 15.49802
# g5 13.74309 13.82224
另一种以更接近固定效应估计的随机效应预测结束的方法是,当您拥有更多数据时。我们可以model 1
从上面进行比较,以其随机效应方差与错误方差的比率低,与model 1b
具有相同比率但有更多数据(请注意ni = 500
代替ni = 5
)的版本()进行比较。
##### model 1b
nj = 5; ni = 500; g = as.factor(rep(c(1:nj), each=ni))
pop.mean = 16; sigma.g = 1; sigma.e = 5
r.eff1b = rnorm(nj, mean=0, sd=sigma.g)
error = rnorm(nj*ni, mean=0, sd=sigma.e)
y = pop.mean + rep(r.eff1b, each=ni) + error
re.mod1b = lmer(y~(1|g))
fe.mod1b = lm(y~0+g)
df1b = data.frame(fe1b=coef(fe.mod1b), re1b=coef(re.mod1b)$g)
这里是效果:
df1
# fe1 re1
# g1 17.88528 15.9897
# g2 18.38737 15.9897
# g3 14.85108 15.9897
# g4 14.92801 15.9897
# g5 13.89675 15.9897
df1b
# fe1b re1b
# g1 15.29064 15.29543
# g2 14.05557 14.08403
# g3 13.97053 14.00061
# g4 16.94697 16.92004
# g5 17.44085 17.40445
在某种程度上相关的注释上,Doug Bates(R包lme4的作者)不喜欢术语“ BLUP”,而使用“条件模式”(请参阅他的lme4手册pdf的第22-23页)。他特别在第1.6节中指出,“ BLUP”只能有意义地用于线性混合效果模型。