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:
- Cómo especificar múltiples niveles, donde un grupo está anidado dentro del otro: ¿es
(1|group1:group2)
o(1+group1|group2)
? - ¿Cuál es la diferencia entre
(~1 + ....)
y(1 | ...)
y(0 | ...)
etc.? - ¿Cómo especificar interacciones a nivel de grupo?
lme4
paquete se pueden encontrar en CRANlmer
es 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.Respuestas:
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:
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:
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):
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:
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.
fuente
lmer
Y~X+Z+(1|group)+(0+X|Z)
group
El truco general es, como se menciona en otra respuesta , es que la fórmula sigue la forma
dependent ~ independent | grouping
. Elgrouping
es 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 | random.factor)
(0 + fixed.factor | random.factor)
(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:
(1 | random.factor) + (0 + fixed.factor | random.factor)
. Una forma alternativa de escribir esto es usando la notación de doble barrafixed.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
lmer
sintaxis 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 sonSubject
yItem
.Modelos y
lme4
sintaxis de fórmula equivalente :Y ∼ X+(1∣Subject)
Y ∼ X+(1 + X∣Subject)
Y ∼ X+(1 + X∣Subject)+(1∣Item)
Y ∼ X+(1∣Subject)+(1∣Item)
Y ∼ X+(1∣Subject)+(0 + X∣ Subject)+(1∣Item)
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.
fuente
El
|
símbolo indica un factor de agrupación en métodos mixtos.Según Pinheiro y Bates:
Dependiendo del método que use para realizar el análisis de métodos mixtos
R
, es posible que necesite crear ungroupedData
objeto para poder usar la agrupación en el análisis (consulte elnlme
paquete para obtener detalles,lme4
no parece necesitarlo). No puedo hablar de la forma en que ha especificado suslmer
declaraciones 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?fuente