Ich führe ein glmm mit einer binomialen Antwortvariablen und einem kategorialen Prädiktor aus. Der zufällige Effekt ergibt sich aus dem verschachtelten Design, das für die Datenerfassung verwendet wird. Die Daten sehen folgendermaßen aus:
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
Das erste Modell, das ich laufe, sieht so aus
m.glmm.em.<-glmer(emergence~treatment + (1|nest),family=binomial,data=m.gen1)
Ich erhalte zwei Warnungen, die so aussehen:
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?
Die Modellzusammenfassung zeigt, dass eine der Behandlungen einen ungewöhnlich großen Standardfehler aufweist, den Sie hier sehen können:
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
Ich habe die verschiedenen Optimierer von glmer control und Funktionen von anderen Paketen ausprobiert und erhalte eine ähnliche Ausgabe. Ich habe das Modell mit glm ausgeführt und den zufälligen Effekt ignoriert, und das Problem besteht weiterhin. Während ich die Daten untersuchte, stellte ich fest, dass die Behandlung mit einem hohen Std. Fehler hat nur Erfolge in der Antwortvariablen. Um zu überprüfen, ob dies das Problem verursachen könnte, habe ich einen gefälschten Datenpunkt mit einem "Fehler" für diese Behandlung hinzugefügt, und das Modell läuft reibungslos und gibt einen angemessenen Standardfehler aus. Das können Sie hier sehen:
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 .
Ich habe mich gefragt, ob meine Intuition in Bezug auf das Fehlen von Fehlern bei dieser Behandlung, die eine gute Einschätzung verhindern, richtig ist, und wie ich dieses Problem umgehen kann.
Danke im Voraus!
quelle