Hoja de trucos de R's lmer


160

Hay mucha discusión en este foro sobre la forma correcta de especificar varios modelos jerárquicos utilizando lmer.

Pensé que sería genial tener toda la información en un solo lugar. Un par de preguntas para comenzar:

  1. Cómo especificar múltiples niveles, donde un grupo está anidado dentro del otro: ¿es (1|group1:group2)o (1+group1|group2)?
  2. ¿Cuál es la diferencia entre (~1 + ....)y (1 | ...)y (0 | ...)etc.?
  3. ¿Cómo especificar interacciones a nivel de grupo?

11
El manual y las tres viñetas para el lme4paquete se pueden encontrar en CRAN
Henry

44
Además de los materiales de CRAN, hay diapositivas de conferencias y capítulos preliminares de un libro que Doug está escribiendo sobre (G) LMMs y R con lme4 disponible de r-forge
Gavin Simpson

Enlace directo a la versión arXiv del documento JSS de Bates et al .: Ajuste de modelos lineales de efectos mixtos utilizando lme4 (en particular la Sección 2.2 "Comprender las fórmulas de modelos mixtos"). Consulte también la sección correspondiente de las preguntas frecuentes de Ben Bolker.
ameba

55
Podría decirse que el lenguaje utilizado por lmeres de interés estadístico general y, por lo tanto, no es solo una cuestión de programación. Por lo tanto, voto para mantener abierto este hilo.
whuber

2
@whuber +1 Totalmente de acuerdo.
ameba

Respuestas:


180

¿Cuál es la diferencia entre (~ 1 + ....) y (1 | ...) y (0 | ...) etc.?

Supongamos que tiene la variable V1 predicha por la variable categórica V2, que se trata como un efecto aleatorio, y la variable continua V3, que se trata como un efecto fijo lineal. Usando la sintaxis lmer, el modelo más simple (M1) es:

V1 ~ (1|V2) + V3

Este modelo estimará:

P1: una intercepción global

P2: intercepciones de efecto aleatorio para V2 (es decir, para cada nivel de V2, la desviación de la intercepción de ese nivel de la intercepción global)

P3: una estimación global única para el efecto (pendiente) de V3

El siguiente modelo más complejo (M2) es:

V1 ~ (1|V2) + V3 + (0+V3|V2)

Este modelo estima todos los parámetros de M1, pero además estimará:

P4: El efecto de V3 dentro de cada nivel de V2 (más específicamente, el grado en que el efecto V3 dentro de un nivel dado se desvía del efecto global de V3), al tiempo que impone una correlación cero entre las desviaciones de intercepción y las desviaciones del efecto V3 entre niveles de V2 .

Esta última restricción se relaja en un modelo final más complejo (M3):

V1 ~ (1+V3|V2) + V3

En el que todos los parámetros de M2 ​​se estiman mientras se permite la correlación entre las desviaciones de intercepción y las desviaciones del efecto V3 dentro de los niveles de V2. Por lo tanto, en M3, se estima un parámetro adicional:

P5: La correlación entre las desviaciones de intercepción y las desviaciones de V3 entre los niveles de V2

Por lo general, los pares de modelos como M2 y M3 se calculan y luego se comparan para evaluar la evidencia de correlaciones entre los efectos fijos (incluida la intercepción global).

Ahora considere agregar otro predictor de efectos fijos, V4. El modelo:

V1 ~ (1+V3*V4|V2) + V3*V4

estimaría:

P1: una intercepción global

P2: una estimación global única para el efecto de V3

P3: una estimación global única para el efecto de V4

P4: una estimación global única para la interacción entre V3 y V4

P5: desviaciones de la intersección de P1 en cada nivel de V2

P6: Desviaciones del efecto V3 de P2 en cada nivel de V2

P7: Desviaciones del efecto V4 de P3 en cada nivel de V2

P8: Desviaciones de la interacción V3 por V4 de P4 en cada nivel de V2

P9 Correlación entre P5 y P6 a través de los niveles de V2

P10 Correlación entre P5 y P7 a través de los niveles de V2

P11 Correlación entre P5 y P8 a través de niveles de V2

P12 Correlación entre P6 y P7 a través de los niveles de V2

P13 Correlación entre P6 y P8 a través de los niveles de V2

P14 Correlación entre P7 y P8 a través de los niveles de V2

¡Uf , son muchos parámetros! Y ni siquiera me molesté en enumerar los parámetros de varianza estimados por el modelo. Además, si tiene una variable categórica con más de 2 niveles que desea modelar como un efecto fijo, en lugar de un solo efecto para esa variable, siempre estará estimando los efectos k-1 (donde k es el número de niveles) , lo que explota aún más el número de parámetros que debe estimar el modelo.


1
@ Mike Lawrence ¡Gracias por la respuesta! ¿Cómo se estima un modelo de 3 niveles entonces? donde un factor de agrupación está anidado dentro de otro?

DBR, no creo que sepas qué niveles son. Has estado preguntando por esto por siempre. Diseñe una pregunta que realmente detalle el diseño de su experimento y demuestre su interpretación del "nivel".
John

3
Creo que DBR se refiere a niveles en la jerarquía. Lo que describí es un modelo jerárquico de 2 niveles, con observaciones anidadas dentro de las asignaturas, y DBR pregunta sobre jerarquías de 3 niveles, un ejemplo de las cuales podrían ser elementos de prueba dentro de los estudiantes dentro de las escuelas donde desea modelar tanto estudiantes como escuelas al azar efectos, con estudiantes anidados dentro de las escuelas. En tales casos, supongo que las desviaciones del nivel escolar se calculan primero y luego las desviaciones del alumno de la escuela.
Mike Lawrence

2
La mejor respuesta que he visto para configurar los modelos. Me ayudó a proporcionar un marco fácil para que mi jefe entienda lo que estoy haciendo en R con lmer.
bfoste01

Digamos que tengo una variable independiente (X) a nivel individual y una variable independiente (Z) a nivel grupal. Ambos son variables continuas. Si el modelo es , donde el subíndice denota th individual y denota th grupo. entonces, usando syntex será el modelo , ¿dónde está otra variable en el marco de datos para indicar a qué grupo pertenece el individuo? i i j j
Yij=γ00+γ10Xij+γ01Zj+γ11XijZj+u1jXij+u0j+eij
iijjlmerY~X+Z+(1|group)+(0+X|Z)group
ABC

50

El truco general es, como se menciona en otra respuesta , es que la fórmula sigue la forma dependent ~ independent | grouping. El groupinges generalmente un factor aleatorio, puede incluir factores fijos sin ninguna agrupación y se puede tener factores aleatorios adicionales sin ningún factor fijo (una intersección de sólo modelo). A +entre factores indica que no hay interacción, a *indica interacción.

Para factores aleatorios, tiene tres variantes básicas:

  1. Intercepta solo por factor aleatorio: (1 | random.factor)
  2. Pendientes solo por factor aleatorio: (0 + fixed.factor | random.factor)
  3. Intercepciones y pendientes por factor aleatorio: (1 + fixed.factor | random.factor)

Tenga en cuenta que la variante 3 tiene la pendiente y la intersección calculadas en la misma agrupación, es decir, al mismo tiempo. Si queremos que la pendiente y la intersección se calculen independientemente, es decir, sin ninguna correlación supuesta entre los dos, necesitamos una cuarta variante:

  • Intersección y de pendiente, por separado, por el factor de azar: (1 | random.factor) + (0 + fixed.factor | random.factor). Una forma alternativa de escribir esto es usando la notación de doble barra fixed.factor + (fixed.factor || random.factor).

También hay un buen resumen en otra respuesta a esta pregunta que debe mirar.

Si estás dispuesto a profundizar un poco en las matemáticas, Barr et al. (2013) resumen la lmersintaxis bastante bien en su Tabla 1, adaptada aquí para cumplir con las limitaciones de la reducción de tablas sin tablas. Ese documento trató con datos psicolingüísticos, por lo que los dos efectos aleatorios son Subjecty Item.

Modelos y lme4sintaxis de fórmula equivalente :

    • Ysi=β0+β1Xi+esi
    • N / A (no es un modelo de efectos mixtos)
    • Ysi=β0+S0s+β1Xi+esi
    • Y ∼ X+(1∣Subject)
    • Ysi=β0+S0s+(β1+S1s)Xi+esi
    • Y ∼ X+(1 + X∣Subject)
    • Ysi=β0+S0s+I0i+(β1+S1s)Xi+esi
    • Y ∼ X+(1 + X∣Subject)+(1∣Item)
    • Ysi=β0+S0s+I0i+β1Xi+esi
    • Y ∼ X+(1∣Subject)+(1∣Item)
    • Como (4), pero , independiente S0sS1s
    • Y ∼ X+(1∣Subject)+(0 + X∣ Subject)+(1∣Item)
    • Ysi=β0+I0i+(β1+S1s)Xi+esi
    • Y ∼ X+(0 + X∣Subject)+(1∣Item)

Referencias

Barr, Dale J, R. Levy, C. Scheepers y HJ Tily (2013). Estructura de efectos aleatorios para la prueba de hipótesis confirmatoria: manténgala al máximo . Journal of Memory and Language, 68: 255–278.


44
Agradable. Podría ser mejor con información sobre los factores '/' anidados y la notación de doble barra '||'
skan

1
¿Qué pasa con el: símbolo?
eastafri

1
@eastafri Significa que lo mismo que hace en todas partes en R (fórmulas): la interacción entre dos variables.
Livius

En (6), entiendo que y no tienen correlación entre ellos. En otras palabras, como variables aleatorias, su covarianza es . Decir que y son independientes es una afirmación más fuerte y, por lo tanto, no es necesariamente cierto. ¿Estoy equivocado? S0sS1s0S0sS1s
Muno

4

El |símbolo indica un factor de agrupación en métodos mixtos.

Según Pinheiro y Bates:

... La fórmula también designa una respuesta y, cuando está disponible, una covariable primaria . Se da como

response ~ primary | grouping

donde responsees una expresión para la respuesta, primaryes una expresión para la covariable primaria y groupinges una expresión para el factor de agrupación.

Dependiendo del método que use para realizar el análisis de métodos mixtos R, es posible que necesite crear un groupedDataobjeto para poder usar la agrupación en el análisis (consulte el nlmepaquete para obtener detalles, lme4no parece necesitarlo). No puedo hablar de la forma en que ha especificado sus lmerdeclaraciones modelo porque no conozco sus datos. Sin embargo, tener múltiples (1|foo)en la línea del modelo es inusual por lo que he visto. ¿Qué intentas modelar?

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.