Извлечение откосов для случаев из модели смешанных эффектов (lme4)


13

Я хотел бы извлечь наклоны для каждого человека в модели смешанного эффекта, как обрисовано в общих чертах в следующем параграфе

Модели смешанных эффектов использовались для характеристики отдельных путей изменения показателей когнитивной сводки, включая термины для возраста, пола и года обучения в качестве фиксированных эффектов (Laird and Ware, 1982; Wilson et al., 2000, 2002c) ... Остаточные, индивидуальные условия снижения когнитивного спада были извлечены из смешанных моделей, после поправки на влияние возраста, пола и образования. Индивидуальные, скорректированные остаточные наклоны были затем использованы в качестве фенотипа количественного результата для анализа генетической ассоциации. Эти оценки равняются разнице между уклоном человека и прогнозируемым уклоном человека того же возраста, пола и уровня образования.

De Jager, PL, Shulman, JM, Chibnik, LB, Keenan, BT, Raj, T., Wilson, RS, et al. (2012). Общегеномное сканирование для общих вариантов, влияющих на скорость возрастного когнитивного снижения . Нейробиология старения, 33 (5), 1017.e1–1017.e15.

Я смотрел на использование coefфункции для извлечения коэффициентов для каждого человека, но я не уверен, является ли это правильным подходом для использования.

Кто-нибудь может дать совет, как это сделать?

#example R code 
library(lme4)
attach(sleepstudy)  
fml <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)
beta <- coef(fml)$Subject
colnames(beta) <- c("Intercept", "Slope")
beta

summary(beta)
summary(fm1)

Ответы:


29

Модель:

library(lme4)
data(sleepstudy)
fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)

Функция coefявляется правильным подходом для извлечения индивидуальных различий.

> coef(fm1)$Subject
    (Intercept)       Days
308    253.6637 19.6662581
309    211.0065  1.8475834
310    212.4449  5.0184067
330    275.0956  5.6529540
331    273.6653  7.3973908
332    260.4446 10.1951151
333    268.2455 10.2436611
334    244.1725 11.5418622
335    251.0714 -0.2848735
337    286.2955 19.0955694
349    226.1950 11.6407008
350    238.3351 17.0814915
351    255.9829  7.4520286
352    272.2687 14.0032989
369    254.6806 11.3395025
370    225.7922 15.2897513
371    252.2121  9.4791308
372    263.7196 11.7513155

Эти значения являются комбинацией фиксированных эффектов и компонентов дисперсии (случайные эффекты). Можно использовать summaryи coefдля получения коэффициентов фиксированных эффектов.

> coef(summary(fm1))[ , "Estimate"]
(Intercept)        Days 
  251.40510    10.46729 

Перехват 251,4 и наклон (связанный с Days) 10,4. Эти коэффициенты являются средними по всем предметам. Чтобы получить случайные эффекты, вы можете использовать ranef.

> ranef(fm1)$Subject
    (Intercept)        Days
308   2.2585637   9.1989722
309 -40.3985802  -8.6197026
310 -38.9602496  -5.4488792
330  23.6905025  -4.8143320
331  22.2602062  -3.0698952
332   9.0395271  -0.2721709
333  16.8404333  -0.2236248
334  -7.2325803   1.0745763
335  -0.3336936 -10.7521594
337  34.8903534   8.6282835
349 -25.2101138   1.1734148
350 -13.0699598   6.6142055
351   4.5778364  -3.0152574
352  20.8635944   3.5360130
369   3.2754532   0.8722166
370 -25.6128737   4.8224653
371   0.8070401  -0.9881551
372  12.3145406   1.2840295

Эти значения являются компонентами дисперсии субъектов. Каждый ряд соответствует одному предмету. По сути, среднее значение каждого столбца равно нулю, поскольку значения соответствуют различиям по отношению к фиксированным эффектам.

> colMeans(ranef(fm1)$Subject)
  (Intercept)          Days 
 4.092529e-13 -2.000283e-13 

Обратите внимание, что эти значения равны нулю, отклонения связаны с неточностью представления чисел с плавающей запятой.

Результат coef(fm1)$Subjectобъединяет фиксированные эффекты в случайные эффекты, то есть фиксированные коэффициенты эффекта добавляются к случайным эффектам. Результатом являются отдельные перехваты и уклоны.


Спасибо за ответ, который прояснил, как рассчитываются отдельные коэффициенты. Еще один вопрос, однако, когда в вышеприведенном параграфе указано, что они скорректированы с учетом остатков, это то же самое, что включить случайные эффекты в коэффициенты или это отдельная проблема?
Эндрюс

Вы утверждаете, что coef (summary (fm1)) [, "Estimate"] производит среднее значение по всем предметам. Я принимаю это, чтобы подразумевать, что перехват - это среднее значение «Реакции», но «среднее значение (sleepstudy $ Reaction) = 298.5079». Это интерпретация перехвата в линейной регрессии, и я пытаюсь понять коэффициенты в моделях смешанных эффектов, и я изо всех сил пытаюсь получить вещи (как это, чтобы сложить). Почему не перехват 298,5?
сванной

@svannoy Обратите внимание, что перехват - это оценочное значение зависимой переменной, когда все ковариаты равны нулю. Здесь Daysне центрируется в среднем, и, следовательно, точка пересечения модели ниже, чем среднее значение Reaction. Кроме того, линия регрессии - лучшая линейная подгонка. Следовательно, наблюдения не обязательно находятся на этой линии.
Свен Хоэнштейн

@SvenHohenstein спасибо за разъяснение этого. Правильно ли тогда сказать, что в регрессии МНК только с одной категориальной предикторной переменной и кодированием отклонения (contr.sum ()) пересечение является именно большим средним значением; в то время как в регрессии RC с моделью случайного перехвата перехват является оцененным большим средним значением?
сванной

@svannoy Да, при кодировании отклонений перехват отражает Великое среднее в регрессии OLS. В линейной смешанной модели точка пересечения действительно является оценочной величиной Великого среднего.
Свен Хоэнштейн
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.