Wyodrębnianie zboczy dla przypadków z modelu efektów mieszanych (Lme4)

13

Chciałbym wyodrębnić nachylenia dla każdej osoby w modelu z efektem mieszanym, jak opisano w następnym akapicie

Modele mieszanych efektów zostały wykorzystane do scharakteryzowania indywidualnych ścieżek zmian w poznawczych miarach podsumowujących, w tym określeń dotyczących wieku, płci i lat edukacji jako efektów stałych (Laird i Ware, 1982; Wilson i in., 2000, 2002c) ... Resztkowe, indywidualne wartości nachylenia spadku poznawczego zostały wyodrębnione z modeli mieszanych po skorygowaniu o wpływ wieku, płci i wykształcenia. Następnie skorygowane rezydualne nachylenia charakterystyczne dla danej osoby zostały następnie wykorzystane jako fenotyp ilościowy do analizy powiązań genetycznych. Szacunki te są równe różnicy między nachyleniem danej osoby a przewidywanym nachyleniem osoby o tym samym wieku, płci i poziomie wykształcenia.

De Jager, PL, Shulman, JM, Chibnik, LB, Keenan, BT, Raj, T., Wilson, RS, i in. (2012). Skan całego genomu w poszukiwaniu popularnych wariantów wpływających na tempo spadku poznawczego związanego z wiekiem . Neurobiology of Aging, 33 (5), 1017.e1–1017.e15.

Patrzyłem na użycie coeffunkcji do wyodrębnienia współczynników dla każdej osoby, ale nie jestem pewien, czy jest to właściwe podejście.

Czy ktoś może udzielić porady, jak to zrobić?

#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)
Andrews
źródło

Odpowiedzi:

29

Model:

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

Ta funkcja coefjest właściwym podejściem do wyodrębnienia różnic indywidualnych.

> 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

Wartości te są kombinacją ustalonych efektów i składników wariancji (efekty losowe). Możesz użyć summaryi, coefaby uzyskać współczynniki ustalonych efektów.

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

Punkt przecięcia wynosi 251,4, a nachylenie (związane z Days) wynosi 10,4. Te współczynniki są średnią wszystkich przedmiotów. Aby uzyskać losowe efekty, możesz użyć 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

Te wartości są składowymi wariancji badanych. Każdy wiersz odpowiada jednemu tematowi. Z natury średnia każdej kolumny wynosi zero, ponieważ wartości odpowiadają różnicom w stosunku do ustalonych efektów.

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

Zauważ, że wartości te są równe zero, odchylenia są spowodowane niedokładnością reprezentacji liczb zmiennoprzecinkowych.

Wynik coef(fm1)$Subjectwłączenia ustalonych efektów do efektów losowych, tj. Stałe współczynniki efektu są dodawane do efektów losowych. Wynikiem są pojedyncze przechwyty i zbocza.

Sven Hohenstein
źródło
Dzięki za odpowiedź, która wyjaśniła, w jaki sposób obliczane są poszczególne współczynniki. Jeszcze jedno pytanie, kiedy powyższy akapit stwierdził, że skorygowano je o resztki, czy jest to to samo, co uwzględnienie efektów losowych we współczynnikach, czy też jest to osobna kwestia?
Andrews
Stwierdzasz, że coef (podsumowanie (fm1)) [, „Oszacowanie”] daje średnią wszystkich przedmiotów. Przyjmuję to, aby sugerować, że przecięcie jest średnią wartością „Reaction”, ale „mean (sleepstudy $ Reaction) = 298.5079”. To jest interpretacja przechwytywania w regresji liniowej i staram się zrozumieć współczynniki w modelach efektów mieszanych i walczę o to, aby uzyskać rzeczy (tak jak to dodać). Dlaczego intercept 298,5 nie jest?
svannoy
@svannoy Zauważ, że punkt przecięcia jest oszacowaną wartością zmiennej zależnej, gdy wszystkie zmienne towarzyszące są równe zero. Tutaj Daysnie jest wyśrodkowany na średniej, a zatem punkt przecięcia modelu jest niższy niż średnia wartość Reaction. Ponadto linia regresji jest najlepszym dopasowaniem liniowym. Stąd obserwacje niekoniecznie są na tej linii.
Sven Hohenstein
@SvenHohenstein dziękuję za wyjaśnienie tego. Czy zatem słuszne jest stwierdzenie, że w regresji OLS z tylko jedną kategoryczną zmienną predykcyjną i kodowaniem odchylenia (contr.sum ()) przecięcie jest właśnie wielką średnią; podczas gdy w regresji RC z modelem losowego przechwytywania jest to oszacowana wielka średnia?
svannoy
@svannoy Tak, z kodowaniem odchylenia przecięcie odzwierciedla Wielki Średni w regresji OLS. W liniowym modelu mieszanym przecięcie jest rzeczywiście oszacowaną średnią średnią.
Sven Hohenstein