Значения, которые вы получаете от BLUP, оцениваются не так, как СИНИЕ оценки фиксированных эффектов; по соглашению 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
В некотором родственном замечании Дуг Бейтс (автор пакета R lme4) не любит термин «BLUP» и вместо этого использует «условный режим» (см. Стр. 22-23 своего чернового варианта книги lme4 pdf ). В частности, он указывает в разделе 1.6, что «BLUP» может использоваться только для линейных моделей со смешанными эффектами.