Estoy ejecutando un glmm con una variable de respuesta binomial y un predictor categórico. El efecto aleatorio viene dado por el diseño anidado utilizado para la recopilación de datos. Los datos se ven así:
m.gen1$treatment
[1] sucrose control protein control no_injection .....
Levels: no_injection control sucrose protein
m.gen1$emergence
[1] 1 0 0 1 0 1 1 1 1 1 1 0 0....
> m.gen1$nest
[1] 1 1 1 2 2 3 3 3 3 4 4 4 .....
Levels: 1 2 3 4 5 6 8 10 11 13 15 16 17 18 20 22 24
El primer modelo que corro se ve así
m.glmm.em.<-glmer(emergence~treatment + (1|nest),family=binomial,data=m.gen1)
Recibo dos advertencias que se ven así:
Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge with max|grad| = 0.0240654 (tol = 0.001, component 4)
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model is nearly unidentifiable: large eigenvalue ratio
- Rescale variables?
El resumen del modelo muestra que uno de los tratamientos tiene un error estándar inusualmente grande, que puede ver aquí:
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 2.565 1.038 2.472 0.0134 *
treatmentcontrol -1.718 1.246 -1.378 0.1681
treatmentsucrose 16.863 2048.000 0.008 0.9934
treatmentprotein -1.718 1.246 -1.378 0.1681
Probé los diferentes optimizadores del control glmer y las funciones de otros paquetes, y obtuve un resultado similar. He ejecutado el modelo usando glm ignorando el efecto aleatorio, y el problema persiste. Mientras exploraba los datos me di cuenta de que el tratamiento con un alto estándar. El error solo tiene éxito en la variable de respuesta. Solo para verificar si eso podría estar causando el problema, agregué un punto de datos falso con un "fallo" para ese tratamiento y el modelo funciona sin problemas y proporciona un error estándar razonable. Se puede ver que aquí:
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 3.4090 1.6712 2.040 0.0414 *
treatmentcontrol -1.8405 1.4290 -1.288 0.1978
treatmentsucrose -0.2582 1.6263 -0.159 0.8738
treatmentprotein -2.6530 1.5904 -1.668 0.0953 .
Me preguntaba si mi intuición es correcta acerca de la falta de fracasos para ese tratamiento que impide una buena estimación, y cómo puedo solucionar este problema.
¡Gracias por adelantado!
fuente