Extracción de pendientes para casos de un modelo de efectos mixtos (lme4)

12

Me gustaría extraer las pendientes para cada individuo en un modelo de efectos mixtos, como se describe en el siguiente párrafo

Se utilizaron modelos de efectos mixtos para caracterizar las rutas individuales de cambio en las medidas de resumen cognitivo, incluidos los términos de edad, sexo y años de educación como efectos fijos (Laird y Ware, 1982; Wilson et al., 2000, 2002c) ... Los términos de pendiente de deterioro cognitivo individual residual se extrajeron de los modelos mixtos, después del ajuste por los efectos de la edad, el sexo y la educación. Las pendientes residuales ajustadas específicas de cada persona se usaron luego como un fenotipo de resultado cuantitativo para los análisis de asociación genética. Estas estimaciones equivalen a la diferencia entre la pendiente de un individuo y la pendiente pronosticada de un individuo de la misma edad, sexo y nivel educativo.

De Jager, PL, Shulman, JM, Chibnik, LB, Keenan, BT, Raj, T., Wilson, RS, et al. (2012) Una exploración de todo el genoma para las variantes comunes que afectan la tasa de deterioro cognitivo relacionado con la edad . Neurobiology of Aging, 33 (5), 1017.e1–1017.e15.

He analizado el uso de la coeffunción para extraer los coeficientes para cada individuo, pero no estoy seguro de si este es el enfoque correcto para usar.

¿Alguien puede dar algún consejo sobre cómo hacer esto?

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

Respuestas:

28

El modelo:

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

La función coefes el enfoque correcto para extraer diferencias individuales.

> 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

Estos valores son una combinación de los efectos fijos y los componentes de varianza (efectos aleatorios). Puede usar summaryy coefpara obtener los coeficientes de los efectos fijos.

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

La intersección es 251.4 y la pendiente (asociada con Days) es 10.4. Estos coeficientes son la media de todos los sujetos. Para obtener los efectos aleatorios, puede 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

Estos valores son los componentes de varianza de los sujetos. Cada fila corresponde a un tema. Inherentemente, la media de cada columna es cero ya que los valores corresponden a las diferencias en relación con los efectos fijos.

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

Tenga en cuenta que estos valores son iguales a cero, las desviaciones se deben a la imprecisión de la representación de números en coma flotante.

El resultado de coef(fm1)$Subjectincorporar los efectos fijos en los efectos aleatorios, es decir, los coeficientes de efectos fijos se agregan a los efectos aleatorios. Los resultados son intercepciones individuales y pendientes.

Sven Hohenstein
fuente
Gracias por la respuesta, eso aclaró cómo se calculan los coeficientes individuales. Sin embargo, una pregunta más, cuando el párrafo anterior establece que se ajustaron por los residuos, ¿es esto lo mismo que incluir los efectos aleatorios en los coeficientes o es un tema separado?
Andrews
Usted declara que coef (summary (fm1)) [, "Estimate"] produce la media de todos los sujetos. Supongo que eso implica que la intersección es el valor medio de "Reacción", pero 'mean (sleepstudy $ Reaction) = 298.5079'. Esta es la interpretación de la intersección en una regresión lineal y estoy tratando de entender los coeficientes en los modelos de efectos mixtos y estoy luchando por obtener cosas (como esto para sumar). ¿Por qué no es la intersección 298.5?
svannoy
@svannoy Tenga en cuenta que la intersección es el valor estimado de la variable dependiente cuando todas las covariables son iguales a cero. Aquí, Daysno está centrado en la media y, por lo tanto, la intersección del modelo es menor que el valor medio de Reaction. Además, la línea de regresión es el mejor ajuste lineal. Por lo tanto, las observaciones no están necesariamente en esta línea.
Sven Hohenstein
@SvenHohenstein gracias, por aclarar eso. ¿Es exacto decir que en la regresión OLS con una sola variable predictiva categórica y codificación de desviación (contr.sum ()) la intercepción es precisamente la gran media; mientras que en la regresión RC con un modelo de intersección aleatoria, ¿la intersección es la gran media estimada?
svannoy
@svannoy Sí, con la codificación de la desviación, la intersección refleja la Gran Media en la regresión de MCO. En un modelo lineal mixto, la intersección es de hecho la Gran Media estimada.
Sven Hohenstein