Matrices singulares de covarianza de efecto aleatorio
Obtener una estimación de correlación de efectos aleatorios de +1 o -1 significa que el algoritmo de optimización llegó a "un límite": las correlaciones no pueden ser superiores a +1 o inferiores a -1. Incluso si no hay errores de convergencia explícitos o advertencias, esto indica potencialmente algunos problemas de convergencia porque no esperamos que las verdaderas correlaciones se encuentren en el límite. Como has dicho, esto suele significar que no hay suficientes datos para estimar todos los parámetros de manera fiable. Matuschek et al. 2017 dicen que en esta situación el poder puede ser comprometido.
Otra forma de llegar a un límite es obtener una estimación de la varianza de 0: ¿Por qué obtengo una variación cero de un efecto aleatorio en mi modelo mixto, a pesar de alguna variación en los datos?
Ambas situaciones pueden verse como la obtención de una matriz de covarianza degenerada de efectos aleatorios (en su ejemplo la matriz de covarianza de salida es $4 \times 4$ ); una varianza cero o una correlación perfecta significa que la matriz de covarianza no es de rango completo y [al menos] uno de sus valores propios es cero. Esta observación sugiere inmediatamente que hay otros formas más complejas de obtener una matriz de covarianza degenerada: se puede tener una $4 \times 4$ matriz de covarianza sin ceros ni correlaciones perfectas, pero sin embargo con un rango deficiente (singular). Bates y otros. 2015 Modelos mixtos parsimoniosos (preimpresión inédita) recomiendan utilizar el análisis de componentes principales (PCA) para comprobar si la matriz de covarianza obtenida es singular. Si lo es, sugieren tratar esta situación de la misma manera que las situaciones singulares anteriores.
Entonces, ¿qué hacer?
Si no hay suficientes datos para estimar todos los parámetros de un modelo de manera fiable, entonces deberíamos considerar la posibilidad de simplificar el modelo. Tomando su modelo de ejemplo, X*Cond + (X*Cond|subj)
hay varias maneras posibles de simplificarlo:
-
Eliminar uno de los efectos aleatorios, normalmente la correlación de mayor orden:
X*Cond + (X+Cond|subj)
-
Deshazte de todos los parámetros de correlación:
X*Cond + (X*Cond||subj)
Actualización: como @Henrik señala, el ||
La sintaxis sólo eliminará las correlaciones si todas las variables a la izquierda de ella son numéricas. Si las variables categóricas (como Cond
) están involucrados, uno debería más bien usar su conveniente afex
(o engorrosas soluciones manuales). Vea su respuesta para más detalles.
-
Deshazte de algunos de los parámetros de correlación rompiendo el término en varios, por ejemplo:
X*Cond + (X+Cond|subj) + (0+X:Cond|subj)
-
Limite la matriz de covarianza de alguna manera específica, por ejemplo, estableciendo una correlación específica (la que llega al límite) a cero, como usted sugiere. No hay una forma incorporada en lme4
para lograr esto. Véase La respuesta de BenBolker sobre el SO para una demostración de cómo lograr esto a través de algún tipo de hacking inteligente.
Contrariamente a lo que dijiste, no creo que Matuschek et al. 2017 recomiendan específicamente el número 4. La esencia de Matuschek y otros 2017 y Bates y otros 2015 parece ser que se empieza con el modelo máximo a la Barr et al. 2013 y luego disminuye la complejidad hasta que la matriz de covarianza está a pleno rendimiento. (Además, a menudo recomendarían reducir la complejidad aún más, para aumentar la potencia). Actualización: En contraste, Barr y otros recomiendan reducir la complejidad SÓLO si el modelo no converge; están dispuestos a tolerar matrices de covarianza singulares. Ver la respuesta de @Henrik.
Si uno está de acuerdo con Bates/Matuschek, entonces creo que está bien probar diferentes formas de disminuir la complejidad para encontrar el que haga el trabajo mientras hace "el menor daño". Mirando mi lista de arriba, la matriz de covarianza original tiene 10 parámetros; la #1 tiene 6 parámetros, la #2 tiene 4 parámetros, la #3 tiene 7 parámetros. Qué modelo se deshará de las correlaciones perfectas es imposible de decir sin ajustarlas.
Pero, ¿y si te interesa este parámetro?
La discusión anterior trata la matriz de covarianza de efecto aleatorio como un parámetro de molestia. Plantea una interesante cuestión de qué hacer si está específicamente interesado en un parámetro de correlación al que hay que "renunciar" para obtener una solución significativa de rango completo.
Nótese que fijando el parámetro de correlación en cero no se obtendrán necesariamente BLUPs ( ranef
) que no están correlacionados; de hecho, es posible que no se vean afectados en absoluto (véase La respuesta de Placidia para una demostración ). Así que una opción sería mirar las correlaciones de los BLUPs e informar de eso.
Otra opción, tal vez menos atractiva, sería utilizar el tratamiento subject
como un efecto fijo Y~X*cond*subj
obtener las estimaciones de cada sujeto y calcular la correlación entre ellas. Esto equivale a correr por separado Y~X*cond
regresiones para cada sujeto por separado y obtener de ellas las estimaciones de correlación.
Ver también la sección de modelos singulares en las preguntas frecuentes de Ben Bolker sobre modelos mixtos:
Es muy común que los modelos mixtos sobreactuados den como resultado ajustes singulares. Técnicamente, la singularidad significa que algunos de los $ \theta $ (varianza-covarianza Descomposición de Cholesky) los parámetros correspondientes a los elementos diagonales del factor de Cholesky son exactamente cero, que es el borde del espacio factible, o de manera equivalente que la matriz de varianza-covarianza tiene algunos valores propios nulos (es decir, es semidefinido positivo en lugar de definido positivo), o (casi de manera equivalente) que algunas de las varianzas se estiman como cero o algunas de las correlaciones se estiman como +/-1.