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 el intercepto y los efectos aleatorios x es -1. Ahora, según este útil enlace Una forma de tratar este modelo es eliminar los efectos aleatorios de orden superior (por ejemplo, X:ConditionB) y ver si eso supone una diferencia a la hora de probar la singularidad. La otra es utilizar el enfoque bayesiano, por ejemplo, el blme
paquete para evitar la singularidad.
¿Cuál es el método preferido y por qué?
Lo pregunto porque utilizar la primera o la segunda conduce a resultados diferentes - en el primer caso, eliminaré el efecto aleatorio X:CondiciónB y no podré estimar la correlación entre los efectos aleatorios X y X:CondiciónB. Por otro lado, utilizando blme
me permite mantener X:ConditionB y estimar la correlación dada. No veo ninguna razón por la que deba siquiera utilizar las estimaciones no bayesianas y eliminar los efectos aleatorios cuando se producen ajustes singulares cuando puedo estimar todo con el enfoque bayesiano.
¿Puede alguien explicarme las ventajas y los problemas de utilizar uno u otro método para tratar los ataques singulares?
Gracias.