2014-06-13 5 views
5

Ich habe ein Mixed-Effects-logistisches Regressionsmodell im lme4-Paket für r erstellt und ausgeführt, um die Wahrscheinlichkeit der Belegung von Fischen an verschiedenen Orten (Zellen/Lebensräume) zu schätzen. Der Datenrahmen besteht aus 1.207.140 Beobachtungen von 68 einzelnen Fischen. Für jedes Individuum (pro Tag für ~ 1 Jahr) beschreibt es die Anzahl der Vorkommen an jedem eindeutigen Standort im Verhältnis zur Gesamtzahl der Vorkommen an allen Standorten.Warnmeldungen für gemischtes Modell in r lme4 verstehen

Hier ist das Basismodell:

m.base = glmer(cbind(N,t.move-N) ~ jdate + snSurface.Area + Restoration..P.A. +  
    Release.Location+ Sex + (1|Station) + (0 + jdate|ID), data=allfishdat, family=binomial) 
where N=# unique positions, t.move=total positions, jdate=julian date, Station=locations, ID=fish ID 

Ich erhalte die folgende Warnmeldung angezeigt:

Warning messages: 
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : 
       Model failed to converge with max|grad| = 3349.26 (tol = 0.001) 
2: In if (resHess$code != 0) { : 
the condition has length > 1 and only the first element will be used 
3: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : 
Model is nearly unidentifiable: very large eigenvalue 
- Rescale variables?;Model is nearly unidentifiable: large eigenvalue ratio 
- Rescale variables? 

Ich versuche, einige der Suche zu tun, um zu verstehen, was diese Nachrichten bedeuten, und ihre Auswirkungen auf das Modell, aber habe die Warnungen noch nicht verstanden.

+2

können Sie sagen, was Sie schon geschaut haben, und was Sie tun und nicht verstehen? Hast du https://github.com/lme4/lme4/blob/master/README.md gelesen? http://StackOverflow.com/Questions/23814130/glmer-model-from-2013-warning-Message-about-convergence-when-re-running-i/23839952#23839952? http://stackoverflow.com/questions/21344555/convergence-error-for-entwicklung-version-of-lme4? –

+0

Bump. Es würde helfen, wenn Sie sagen könnten, was Sie haben und nicht verstanden haben - ich bin glücklich zu helfen, aber ich habe keine Lust, Informationen zu wiederholen, die schon da draußen sind ... –

+0

Bump bush ..... –

Antwort

2

Wenn das erste Problem damit zu tun hat, dass R mehr Konvertierungen durchlaufen muss, um Konvergenz zu erreichen, kann der folgende Code hilfreich sein. Ersetzen Sie '20000' durch die maximale Iterationszahl, die für Ihr spezifisches Modell sinnvoll ist. (Beachten Sie, dass Ihr ursprüngliches Modell Code am Ende modifiziert worden, um include ‚control = my.control‘.)

my.control=lmerControl(optCtrl=list(maxfun=20000); my.control 

m.base = glmer(cbind(N,t.move-N) ~ jdate + snSurface.Area + Restoration..P.A. + Release.Location+ Sex + (1|Station) + (0 + jdate|ID), data=allfishdat, family=binomial, control = my.control) 

Es kann auch nützlich sein, um Sie Ihren aktuellen lmeControls mit folgendem Befehl zu überprüfen:

str(lmerControl()) 

Ferner diese vorherige Antwort kann Ihnen hilfreich sein: increase iterations for new version of lmer?

+4

I don ' Ich sehe hier keinen Hinweis auf Warnungen über unzureichende Iterationen. Zum Beispiel, 'library (lme4); fm1 <- lmer (Reaktion ~ Tage + (Tage | Thema), Schlafuntersuchung, Kontrolle = lmerControl (optCtrl = Liste (maxfun = 5))) "gibt eindeutig an" maximale Anzahl von Funktionsbewertungen überschritten ", die ich oben nicht sehe . –

Verwandte Themen