19 votos

¿Qué hacer con la correlación de efectos aleatorios que es igual a 1 o -1?

No es tan raro que ocurra cuando se trata de complejos modelos mixtos máximos (estimando todos los posibles efectos aleatorios para los datos y el modelo dados) es una correlación perfecta (+1 o -1) o casi perfecta entre algunos efectos aleatorios. Para el propósito de la discusión, observemos el siguiente modelo y resumen de modelo

Model: Y ~ X*Cond + (X*Cond|subj)

# Y = logit variable  
# X = continuous variable  
# Condition = values A and B, dummy coded; the design is repeated 
#             so all participants go through both Conditions  
# subject = random effects for different subjects  

Random effects:
 Groups  Name             Variance Std.Dev. Corr             
 subject (Intercept)      0.85052  0.9222                    
         X                0.08427  0.2903   -1.00            
         CondB            0.54367  0.7373   -0.37  0.37      
         X:CondB          0.14812  0.3849    0.26 -0.26 -0.56
Number of obs: 39401, groups:  subject, 219

Fixed effects:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)       2.49686    0.06909   36.14  < 2e-16 ***
X                -1.03854    0.03812  -27.24  < 2e-16 ***
CondB            -0.19707    0.06382   -3.09  0.00202 ** 
X:CondB           0.22809    0.05356    4.26 2.06e-05 ***

La supuesta razón detrás de estas correlaciones perfectas es que hemos creado un modelo demasiado complejo para los datos que tenemos. El consejo común que se da en estas situaciones es (por ejemplo, Matuschek et al., 2017; papel ) para fijar los coeficientes sobreparametrizados a 0, porque tales modelos degenerados tienden a bajar la potencia. Si observamos un cambio marcado en los efectos fijos en un modelo reducido, debemos aceptarlo; si no hay cambio, entonces no hay problema en aceptar el original.

Sin embargo, supongamos que no estamos interesados sólo en los efectos fijos controlados por RE (efectos aleatorios), sino también en la estructura de RE. En el caso dado, sería teóricamente correcto asumir que Intercept y la pendiente X tienen una correlación negativa distinta de cero. Siguen varias preguntas:

  1. ¿Qué hacer en tales situaciones? ¿Deberíamos informar de la correlación perfecta y decir que nuestros datos no son "suficientemente buenos" para estimar la correlación "real"? ¿O deberíamos reportar el modelo de correlación 0? ¿O deberíamos quizás intentar poner alguna otra correlación a 0 con la esperanza de que la "importante" ya no sea perfecta? No creo que haya ninguna respuesta 100% correcta aquí, me gustaría sobre todo escuchar sus opiniones.

  2. ¿Cómo escribir el código que fija la correlación de 2 efectos aleatorios específicos en 0, sin influir en las correlaciones entre otros parámetros?

19voto

zowens Puntos 1417

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:

  1. Eliminar uno de los efectos aleatorios, normalmente la correlación de mayor orden:

    X*Cond + (X+Cond|subj)
  2. 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.

  3. 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)
  4. 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.

9voto

Anthony Cramp Puntos 126

Estoy de acuerdo con todo lo dicho en la respuesta de Ameba que proporciona un gran resumen de la discusión actual sobre este tema. Trataré de añadir algunos puntos adicionales y de otra manera me referiré a el folleto de mi reciente curso de modelo mixto que también resume estos puntos.


Suprimiendo los parámetros de correlación (opciones 2 y 3 en la respuesta de la ameba) mediante || funciona sólo para covariables numéricas en lmer y no por factores. Esto se discute con cierto detalle con el código de Reinhold Kliegl .

Sin embargo, mi afex proporciona la funcionalidad de suprimir la correlación también entre los factores si el argumento expand_re = TRUE en la llamada a mixed() (véase también la función lmer_alt() ). Lo hace esencialmente aplicando el enfoque examinado por Reinhold Kliegl (es decir, transfiriendo los factores en covariables numéricas y especificando la estructura de efectos aleatorios en ellas).

Un simple ejemplo:

library("afex")
data("Machines", package = "MEMSS") # same data as in Kliegl code

# with correlation:
summary(lmer(score ~ Machine + (Machine  | Worker), data=Machines))
# Random effects:
#  Groups   Name        Variance Std.Dev. Corr       
#  Worker   (Intercept) 16.6405  4.0793              
#           MachineB    34.5467  5.8776    0.48      
#           MachineC    13.6150  3.6899   -0.37  0.30
#  Residual              0.9246  0.9616              
# Number of obs: 54, groups:  Worker, 6

## crazy results:
summary(lmer(score ~ Machine + (Machine  || Worker), data=Machines))
# Random effects:
#  Groups   Name        Variance Std.Dev. Corr     
#  Worker   (Intercept)  0.2576  0.5076            
#  Worker.1 MachineA    16.3829  4.0476            
#           MachineB    74.1381  8.6103   0.80     
#           MachineC    19.0099  4.3600   0.62 0.77
#  Residual              0.9246  0.9616            
# Number of obs: 54, groups:  Worker, 6

## as expected:
summary(lmer_alt(score ~ Machine + (Machine  || Worker), data=Machines))
# Random effects:
#  Groups   Name         Variance Std.Dev.
#  Worker   (Intercept)  16.600   4.0743  
#  Worker.1 re1.MachineB 34.684   5.8894  
#  Worker.2 re1.MachineC 13.301   3.6471  
#  Residual               0.926   0.9623  
# Number of obs: 54, groups:  Worker, 6

Para los que no saben afex la principal funcionalidad de los modelos mixtos es proporcionar valores p para los efectos fijos, por ejemplo:

(m1 <- mixed(score ~ Machine + (Machine  || Worker), data=Machines, expand_re = TRUE))
# Mixed Model Anova Table (Type 3 tests, KR-method)
# 
# Model: score ~ Machine + (Machine || Worker)
# Data: Machines
#    Effect      df        F p.value
# 1 Machine 2, 5.98 20.96 **    .002
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

summary(m1)  
# [...]
# Random effects:
#  Groups   Name         Variance Std.Dev.
#  Worker   (Intercept)  27.4947  5.2435  
#  Worker.1 re1.Machine1  6.6794  2.5845  
#  Worker.2 re1.Machine2 13.8015  3.7150  
#  Residual               0.9265  0.9626  
# Number of obs: 54, groups:  Worker, 6
# [...]

Dale Barr, del trabajo de Barr y otros (2013), es más cauteloso al recomendar la reducción de la estructura de efectos aleatorios que la presentada en la respuesta de la ameba. En un reciente intercambio de twitter escribió:

  • "La reducción del modelo introduce un riesgo desconocido de anticonservación, y debe hacerse con precaución, si es que se hace." y
  • "Mi principal preocupación es que la gente entienda los riesgos asociados con la reducción de modelos y que minimizar este riesgo requiere un enfoque más conservador que el que se adopta comúnmente (por ejemplo, cada pendiente probada a 0,05)".

Así que se aconseja precaución.


Como uno de los revisores, también puedo dar una idea de por qué nosotros Bates y otros (2015) El documento quedó inédito. Los otros dos revisores (que firmaron, pero que permanecerán sin nombre aquí) y yo tuvimos algunas críticas con el enfoque de la ACP (parece sin principios y no hay pruebas de que sea superior en términos de poder). Además, creo que los tres criticaron que el documento no se centraba en la cuestión de cómo especificar la estructura de los efectos aleatorios, sino que también intentaba introducir los GAMM. Así, el documento de Bates et al (2015) se transformó en el Matuschek y otros (2017) que aborda la cuestión de la estructura de los efectos aleatorios con simulaciones y el Baayen y otros (2017) papel que presenta las GAMMs.

Mi revisión completa del borrador de Bates et al. se puede encontrar aquí . IIRC, las otras revisiones tenían puntos principales similares.

1voto

Christophe Puntos 21

Yo también he tenido este problema al utilizar la estimación de máxima verosimilitud - sólo que utilizo el algoritmo IGLS de Goldstein tal como se implementa a través del software MLwiN y no el LME4 en R. Sin embargo, en todos y cada uno de los casos el problema se ha resuelto cuando he cambiado a la estimación MCMC utilizando el mismo software. Incluso he tenido una correlación superior a 3 que se resolvió cuando cambié de estimación. Utilizando IGLS, la correlación se calcula después de la estimación como la covarianza dividida por el producto de la raíz cuadrada del producto de las varianzas asociadas, y esto no tiene en cuenta la incertidumbre en cada una de las estimaciones constituyentes.

El software IGLS no "sabe" que la covarianza implica una correlación y sólo calcula estimaciones de una función de varianza constante, lineal, cuadrática, etc. Por el contrario, el enfoque del MCMC se basa en el supuesto de muestras de una distribución normal multivariante que corresponde a varianzas y covarianzas con buenas propiedades y plena propensión al error, de manera que la incertidumbre en la estimación de las covarianzas se tiene en cuenta en la estimación de las varianzas y viceversa.

MLwin es la cadena de estimación del MCMC con las estimaciones de IGLS y la matriz de covarianza de varianza definida no negativa podría necesitar ser alterada cambiando la covarianza a cero al principio antes de comenzar el muestreo.

Para un ejemplo práctico, véase

Desarrollo de modelos multinivel para analizar la contextualidad, la heterogeneidad y el cambio utilizando MLwiN 3, Volumen 1 (actualizado en septiembre de 2017); el Volumen 2 también está en RGate

https://www.researchgate.net/publication/320197425_Vol1Training_manualRevisedSept2017

Apéndice del capítulo 10

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X