Estrazione di pendenze per casi da un modello a effetti misti (lme4)


12

Vorrei estrarre le pendenze per ogni individuo in un modello a effetti misti, come indicato nel paragrafo seguente

Sono stati usati modelli di effetti misti per caratterizzare percorsi individuali di cambiamento nelle misure cognitive di sintesi, inclusi termini per età, sesso e anni di istruzione come effetti fissi (Laird e Ware, 1982; Wilson et al., 2000, 2002c) ... I termini di pendenza del declino cognitivo individuale residuo sono stati estratti dai modelli misti, dopo adattamento per gli effetti dell'età, del sesso e dell'istruzione. Le pendenze residue adattate specifiche della persona sono state quindi utilizzate come fenotipo di risultato quantitativo per le analisi di associazione genetica. Queste stime equivalgono alla differenza tra la pendenza di un individuo e la pendenza prevista di un individuo della stessa età, sesso e livello di istruzione.

De Jager, PL, Shulman, JM, Chibnik, LB, Keenan, BT, Raj, T., Wilson, RS, et al. (2012). Una scansione a livello del genoma per varianti comuni che influenzano il tasso di declino cognitivo correlato all'età . Neurobiology of Aging, 33 (5), 1017.e1–1017.e15.

Ho esaminato l'uso della coeffunzione per estrarre i coefficienti per ogni individuo, ma non sono sicuro che questo sia l'approccio corretto da utilizzare.

Qualcuno può fornire qualche consiglio su come farlo?

#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)

Risposte:


28

Il modello:

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

La funzione coefè l'approccio giusto per estrarre le differenze individuali.

> 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

Questi valori sono una combinazione di effetti fissi e componenti di varianza (effetti casuali). È possibile utilizzare summarye coefper ottenere i coefficienti degli effetti fissi.

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

L'intercettazione è 251,4 e la pendenza (associata a Days) è 10,4. Questi coefficienti sono la media di tutti i soggetti. Per ottenere gli effetti casuali, puoi usare 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

Questi valori sono i componenti della varianza dei soggetti. Ogni riga corrisponde a un argomento. Inerentemente la media di ogni colonna è zero poiché i valori corrispondono alle differenze in relazione agli effetti fissi.

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

Si noti che questi valori sono uguali a zero, le deviazioni sono dovute all'imprecisione della rappresentazione del numero in virgola mobile.

Il risultato di coef(fm1)$Subjectincopora gli effetti fissi negli effetti casuali, cioè i coefficienti degli effetti fissi vengono aggiunti agli effetti casuali. I risultati sono intercettazioni e pendenze individuali.


Grazie per la risposta, che ha chiarito come vengono calcolati i singoli coefficienti. Un'ulteriore domanda, tuttavia, quando il paragrafo precedente afferma che si sono adeguati ai residui è lo stesso di includere gli effetti casuali nei coefficienti o è un problema separato?
Andrews,

Affermate che coef (sommario (fm1)) [, "Stima"] produce la media di tutti i soggetti. Presumo che implicare l'intercettazione sia il valore medio di "Reazione", ma "mean (sleepstudy $ Reaction) = 298.5079". Questa è l'interpretazione dell'intercettazione in una regressione lineare e sto cercando di capire i coefficienti nei modelli di effetti misti e sto lottando per ottenere cose (come questa da sommare). Perché l'intercept non è 298.5?
svannoy,

@svannoy Si noti che l'intercetta è il valore stimato della variabile dipendente quando tutte le covariate sono uguali a zero. Qui, Daysnon è centrato sulla media, e quindi l'intercetta del modello è inferiore al valore medio di Reaction. Inoltre, la linea di regressione è la migliore misura lineare. Quindi, le osservazioni non sono necessariamente su questa linea.
Sven Hohenstein,

@SvenHohenstein grazie, per averlo chiarito. È corretto quindi dire che nella regressione OLS con una sola variabile predittiva categoriale e codifica di deviazione (contr.sum ()) l'intercettazione è precisamente la media media; mentre nella regressione RC con un modello di intercettazione casuale l'intercettazione è la media media stimata?
svannoy,

@svannoy Sì, con la codifica di deviazione l'intercettazione riflette il Grand Mean nella regressione OLS. In un modello misto lineare, l'intercettazione è in effetti il ​​Grand Mean stimato.
Sven Hohenstein,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.