Je lance un glmm avec une variable de réponse binomiale et un prédicteur catégorique. L'effet aléatoire est donné par le plan imbriqué utilisé pour la collecte de données. Les données ressemblent à ceci:
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
Le premier modèle que je lance ressemble à ceci
m.glmm.em.<-glmer(emergence~treatment + (1|nest),family=binomial,data=m.gen1)
Je reçois deux avertissements qui ressemblent à ceci:
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?
Le résumé du modèle montre que l'un des traitements a une erreur standard anormalement grande, que vous pouvez voir ici:
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
J'ai essayé les différents optimiseurs du contrôle glmer et des fonctions d'autres packages, et j'obtiens une sortie similaire. J'ai exécuté le modèle en utilisant glm en ignorant l'effet aléatoire et le problème persiste. En explorant les données, j'ai réalisé que le traitement avec un Std élevé. l'erreur ne réussit que dans la variable de réponse. Juste pour vérifier si cela pourrait être à l'origine du problème, j'ai ajouté un faux point de données avec un "échec" pour ce traitement et le modèle fonctionne correctement et donne une erreur standard raisonnable. Vous pouvez le voir ici:
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 .
Je me demandais si mon intuition était bonne quant au manque d'échecs pour ce traitement empêchant une bonne estimation, et comment puis-je contourner ce problème.
Merci d'avance!
la source