Extraindo inclinações para casos de um modelo de efeitos mistos (lme4)

12

Gostaria de extrair as inclinações para cada indivíduo em um modelo de efeito misto, conforme descrito no parágrafo a seguir

Modelos de efeitos mistos foram usados ​​para caracterizar caminhos individuais de mudança nas medidas de resumo cognitivo, incluindo termos para idade, sexo e anos de educação como efeitos fixos (Laird e Ware, 1982; Wilson et al., 2000, 2002c) ... Termos residuais e individuais da inclinação do declínio cognitivo foram extraídos dos modelos mistos, após ajuste pelos efeitos da idade, sexo e educação. As inclinações residuais ajustadas e específicas de cada pessoa foram usadas como um fenótipo de resultado quantitativo para as análises de associação genética. Essas estimativas equivalem à diferença entre a inclinação de um indivíduo e a inclinação prevista de um indivíduo da mesma idade, sexo e nível de educação.

De Jager, PL, Shulman, JM, Chibnik, LB, Keenan, BT, Raj, T., Wilson, RS, et al. (2012). Uma varredura em todo o genoma de variantes comuns que afetam a taxa de declínio cognitivo relacionado à idade . Neurobiology of Aging, 33 (5), 1017.e1-1017.e15.

Eu observei o uso da coeffunção para extrair os coeficientes de cada indivíduo, mas não tenho certeza se essa é a abordagem correta a ser usada.

Alguém pode dar alguns conselhos sobre como fazer isso?

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

Respostas:

28

O modelo:

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

A função coefé a abordagem correta para extrair diferenças individuais.

> 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

Esses valores são uma combinação dos efeitos fixos e dos componentes de variação (efeitos aleatórios). Você pode usar summarye coefobter os coeficientes dos efeitos fixos.

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

A interceptação é 251,4 e a inclinação (associada a Days) é 10,4. Esses coeficientes são a média de todos os sujeitos. Para obter os efeitos aleatórios, você pode usar 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

Esses valores são os componentes de variação dos sujeitos. Cada linha corresponde a um assunto. Inerentemente, a média de cada coluna é zero, pois os valores correspondem às diferenças em relação aos efeitos fixos.

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

Observe que esses valores são iguais a zero, os desvios são causados ​​pela imprecisão da representação do número de ponto flutuante.

O resultado de coef(fm1)$Subjectincorporar os efeitos fixos nos efeitos aleatórios, ou seja, os coeficientes de efeitos fixos são adicionados aos efeitos aleatórios. Os resultados são interceptações e declives individuais.

Sven Hohenstein
fonte
Obrigado pela resposta, que esclareceu como os coeficientes individuais são calculados. Uma pergunta adicional, porém, quando o parágrafo acima afirmou que eles ajustaram os resíduos é o mesmo que incluir os efeitos aleatórios nos coeficientes ou isso é uma questão separada?
Andrews
Você afirma que o coef (resumo (fm1)) [, "Estimativa"] produz a média de todos os assuntos. Entendo que implicar que a interceptação é o valor médio de "Reação", mas 'média (estudo do sono $ Reação) = 298.5079'. Essa é a interpretação do intercepto em uma regressão linear e estou tentando entender os coeficientes nos modelos de efeitos mistos e estou lutando para conseguir coisas (como essa para somar). Por que o intercepto não é 298,5?
svannoy
@svannoy Observe que a interceptação é o valor estimado da variável dependente quando todas as covariáveis ​​são iguais a zero. Aqui, Daysnão está centrado na média e, portanto, a interceptação do modelo é menor que o valor médio de Reaction. Além disso, a linha de regressão é o melhor ajuste linear. Portanto, as observações não estão necessariamente nessa linha.
Sven Hohenstein 14/10
@SvenHohenstein obrigado, por esclarecer isso. É preciso dizer então que, na regressão OLS com apenas uma única variável preditora categórica e codificação de desvio (contr.sum ()), a interceptação é precisamente a grande média; enquanto que na regressão RC com um modelo de interceptação aleatória, a interceptação é a média geral estimada?
svannoy
@svannoy Sim, com a codificação do desvio, a interceptação reflete a Grande Média na regressão OLS. Em um modelo misto linear, a interceptação é realmente a Grande Média estimada.
Sven Hohenstein 16/10