Manejo de ajuste singular en modelos mixtos

16

Digamos que tenemos un modelo

mod <- Y ~ X*Condition + (X*Condition|subject)

# 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 

summary(model)
Random effects:
 Groups  Name             Variance Std.Dev. Corr             
 subject (Intercept)      0.85052  0.9222                    
         X                0.08427  0.2903   -1.00            
         ConditionB       0.54367  0.7373   -0.37  0.37      
         X:ConditionB     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 ***
ConditionB       -0.19707    0.06382   -3.09  0.00202 ** 
X:ConditionB      0.22809    0.05356    4.26 2.06e-05 ***

Aquí observamos un ajuste singular, porque la correlación entre la intersección y los efectos aleatorios x es -1. Ahora, de acuerdo con este útil enlace, una forma de lidiar con este modelo es eliminar los efectos aleatorios de orden superior (por ejemplo, X: CondiciónB) y ver si eso hace la diferencia al probar la singularidad. El otro es utilizar el enfoque bayesiano, por ejemplo, el blmepaquete para evitar la singularidad.

¿Cuál es el método preferido y por qué?

Pregunto esto porque usar el primero o el segundo conduce a resultados diferentes; en el primer caso, eliminaré el efecto aleatorio X: ConditionB y no podré estimar la correlación entre X y X: efectos aleatorios de ConditionB. Por otro lado, usar blmeme permite mantener X: CondiciónB y estimar la correlación dada. No veo ninguna razón por la que incluso debería usar las estimaciones no bayesianas y eliminar los efectos aleatorios cuando ocurren ajustes singulares cuando puedo estimar todo con el enfoque bayesiano.

¿Alguien puede explicarme los beneficios y problemas usando cualquiera de los métodos para lidiar con ajustes singulares?

Gracias.

Usuario33268
fuente
¿Qué te preocupa que corr = -1? Es la correlación entre los efectos aleatorios.
user158565
Entonces, ¿cada sujeto le da dos medidas de Y, una bajo la condición A y la otra bajo la condición B? Si eso es cierto, ¿puede decirnos también si el valor de la variable continua X cambia para un sujeto determinado entre las condiciones A y B?
Isabella Ghement
¿Por qué pones condición en los efectos aleatorios? ¿Has probado si es necesario?
Dimitris Rizopoulos
@ user158565 sí, pero indica singularidad ...
User33268
@IsabellaGhement De hecho. Sí lo hace, x cambia para cualquier sujeto dado entre A y B. Además, no hay razón teórica para asumir que la regresión de Y sobre X es diferente para cada sujeto
User33268

Respuestas:

21

Cuando obtiene un ajuste singular, esto a menudo indica que el modelo está sobreajustado, es decir, la estructura de efectos aleatorios es demasiado compleja para ser respaldada por los datos, lo que naturalmente lleva al consejo para eliminar la parte más compleja de los efectos aleatorios. estructura (generalmente pendientes aleatorias). El beneficio de este enfoque es que conduce a un modelo más parsimonioso que no se ajusta demasiado.

Sin embargo, antes de hacer nada, ¿tiene una buena razón para querer X, Conditiony su interacción, que todo varíe según el tema en primer lugar? ¿La teoría de cómo se generan los datos sugiere esto?

Si desea ajustar el modelo con la estructura máxima de efectos aleatorios, y lme4obtiene un ajuste singular, entonces ajustar el mismo modelo en un marco Bayesiano podría muy bien informarle por qué lme4 tuvo problemas, al inspeccionar trazas de trazas y qué tan bien convergen las diversas estimaciones de parámetros . La ventaja de adoptar el enfoque bayesiano es que al hacerlo, puede descubrir un problema con el modelo original, es decir. la razón por la cual la estructura de efectos aleatorios máximos no es compatible con los datos) o podría descubrir por qué lme4no puede ajustarse al modelo. Me he encontrado con situaciones en las que un modelo bayesiano no converge bien, a menos que se utilicen antecedentes informativos, lo que puede o no estar bien.

En resumen, ambos enfoques tienen mérito.

Sin embargo, siempre comenzaría desde un lugar donde el modelo inicial es parsimonioso e informado por el conocimiento experto del dominio para determinar la estructura de efectos aleatorios más adecuada. Especificar variables de agrupación es relativamente fácil, pero las pendientes aleatorias generalmente no tienen que incluirse. Solo inclúyalos si tienen un buen sentido teórico Y están respaldados por los datos.

Editar: En los comentarios se menciona que existen razones teóricas sólidas para ajustarse a la estructura máxima de efectos aleatorios. Por lo tanto, una forma relativamente fácil de proceder con un modelo bayesiano equivalente es cambiar la llamada a glmerla stan_glmerdel rstanarmpaquete - que está diseñado para ser plug and play. Tiene versiones anteriores predeterminadas, por lo que puede instalar rápidamente un modelo. El paquete también tiene muchas herramientas para evaluar la convergencia. Si encuentra que todos los parámetros convergen a valores plausibles, entonces está todo bien. Sin embargo, puede haber una serie de problemas, por ejemplo, una variación que se estima en o por debajo de cero, o una estimación que continúa a la deriva. El sitio mc-stan.org tiene una gran cantidad de información y un foro de usuarios.

Robert Long
fuente
1
Sí, tengo buenas razones teóricas para suponer que la regresión de Y en X debería variar de un sujeto a otro de forma diferente para las condiciones A y B. La regresión implica un estilo de procesamiento. ¿Me puede dar más información sobre cómo interpretar los trazados como una herramienta de diagnóstico para causas de singularidad?
Usuario33268
11

Este es un hilo muy interesante, con respuestas y comentarios interesantes. Como esto aún no se ha mencionado, quería señalar que tenemos muy pocos datos para cada tema (según tengo entendido). De hecho, cada sujeto tiene solo dos valores para cada una de las variables de respuesta Y, variable categórica Condición y variable continua X. En particular, sabemos que los dos valores de Condición son A y B.

Si tuviéramos que seguir el modelo de regresión de dos etapas en lugar del modelo de efectos mixtos, ni siquiera podríamos ajustar un modelo de regresión lineal a los datos de un sujeto específico, como se ilustra en el ejemplo de juguete a continuación para uno de los sujetos:

y <- c(4, 7)
condition <- c("A", "B")
condition <- factor(condition)
x <- c(0.2, 0.4)

m <- lm(y ~ condition*x)
summary(m)

El resultado de este modelo específico de materia sería:

Call:
lm(formula = y ~ condition * x)

Residuals:
ALL 2 residuals are 0: no residual degrees of freedom!

Coefficients: (2 not defined because of singularities)
         Estimate Std. Error t value Pr(>|t|)
(Intercept)         4         NA      NA       NA
conditionB          3         NA      NA       NA
x                  NA         NA      NA       NA
conditionB:x       NA         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:      1,     Adjusted R-squared:    NaN 
F-statistic:   NaN on 1 and 0 DF,  p-value: NA

Observe que el ajuste del modelo adolece de singularidades, ya que estamos tratando de estimar 4 coeficientes de regresión más la desviación estándar del error utilizando solo 2 observaciones.

Las singularidades persistirían incluso si observamos este tema dos veces, en lugar de una vez, en cada condición. Sin embargo, si observamos al sujeto 3 veces en cada condición, nos desharíamos de las singularidades:

y <- c(4, 7, 3, 5, 1, 2)
condition <- c("A", "B", "A","B","A","B")
condition <- factor(condition)
x <- c(0.2, 0.4, 0.1, 0.3, 0.3, 0.5)

m2 <- lm(y ~ condition*x)
summary(m2)

Aquí está la salida R correspondiente para este segundo ejemplo, del cual las singularidades han desaparecido:

>     summary(m2)

Call:
lm(formula = y ~ condition * x)

Residuals:
    1       2       3       4       5       6 
1.3333  2.3333 -0.6667 -1.1667 -0.6667 -1.1667 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)
(Intercept)     4.667      3.555   1.313    0.320
conditionB      6.000      7.601   0.789    0.513
x             -10.000     16.457  -0.608    0.605
conditionB:x   -5.000     23.274  -0.215    0.850

Residual standard error: 2.327 on 2 degrees of freedom
Multiple R-squared:  0.5357,    Adjusted R-squared:  -0.1607 
F-statistic: 0.7692 on 3 and 2 DF,  p-value: 0.6079

Por supuesto, el modelo de efectos mixtos no se ajusta a modelos de regresión lineal separados y no relacionados para cada sujeto; se ajusta a modelos "relacionados" cuyas intersecciones y / o pendientes se desvían aleatoriamente sobre una intersección y / o pendiente típica, de modo que las desviaciones aleatorias de la La intersección típica y / o la pendiente típica siguen una distribución Normal con media cero y alguna desviación estándar desconocida.

Aun así, mi intuición sugiere que el modelo de efectos mixtos está luchando con la pequeña cantidad de observaciones, solo 2, disponibles para cada sujeto. Cuanto más se cargue el modelo con pendientes aleatorias, más probablemente tendrá problemas. Sospecho que, si cada sujeto aportó 6 observaciones en lugar de 2 (es decir, 3 por condición), ya no tendría problemas para acomodar todas las pendientes aleatorias.

Me parece que este podría ser (?) Un caso en el que el diseño del estudio actual no es compatible con las ambiciones de modelado complejas: para apoyar esas ambiciones, se necesitarían más observaciones en cada condición para cada sujeto (o al menos para algunos de los ¿asignaturas?). Esta es solo mi intuición, así que espero que otros puedan agregar sus ideas a mis observaciones anteriores. ¡Gracias de antemano!

Isabella Ghement
fuente
Tengo que corregirlo: ¡cada participante tiene 30 observaciones para X e Y, en condiciones A y B!
Usuario33268
2
Oh, eso no se indicó en su respuesta inicial, por lo que habría sido imposible para mí adivinar cuántas observaciones por sujeto y condición tiene realmente. Algo más está sucediendo entonces. ¿Intentaste estandarizar tu variable X? ¿Eso ayuda a la mujer a encajar? Además, ¿miró las gráficas de Y vs. X (o X estandarizado) para Condición = A vs. Condición = B por separado para cada sujeto? Eso podría darle pistas adicionales sobre lo que está sucediendo.
Isabella Ghement
No estandaricé x porque son datos de tiempo de reacción y es importante para la interpretación del coeficiente de regresión. Sin embargo, los datos fueron centralizados.
Buscaré
1
@ User33268 Llego un poco tarde a la fiesta, pero aún puede interpretar coeficientes estandarizados, solo tiene que almacenar los valores utilizados para escalar y luego volver a transformar después de ejecutar el modelo.
Frans Rodenburg