2014-06-13 22 views
5

Ho costruito ed eseguito un modello di regressione logistica a effetti misti nel pacchetto lme4 per r per stimare la probabilità di occupazione di pesci in luoghi diversi (celle/habitat). Il quadro di dati è costituito da 1.207.140 osservazioni di 68 singoli pesci. Per ogni individuo (al giorno per ~ 1 anno) descrive il numero di occorrenze in ciascuna posizione unica rispetto al numero totale di occorrenze in tutte le località.Informazioni sui messaggi di avviso per il modello misto in r lme4

Qui è il modello base:

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 

ottengo il seguente messaggio di avviso:

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? 

ho fatto qualche ricerca per cercare di capire che cosa questi messaggi significato e le loro implicazioni sul modello, ma non hanno ancora capito gli avvertimenti.

+2

Potete dire quello che hai guardato già, e che cosa fare e non capire? hai letto https://github.com/lme4/lme4/blob/master/README.md? http://stackoverflow.com/questions/23814130/glmer-model-from-early-2013-warning-message-about-convergence-when-re-running-i/23839952#23839952? http://stackoverflow.com/questions/21344555/convergence-error-for-development-version-of-lme4? –

+0

Urto. Sarebbe utile se potessi dire quello che hai e non ho capito - sono felice di aiutarti ma non mi sento di ripetere informazioni che sono già là fuori ... –

+0

Urto Bump ..... –

risposta

2

Se il primo problema ha a che fare con R che deve passare attraverso più iterazioni per raggiungere la convergenza, il seguente codice può essere d'aiuto. Sostituire '20000' con qualsiasi numero di iterazione massimo ha senso per il modello specifico. (Si noti che il codice modello originale è stato modificato al fine di includere 'di controllo = 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) 

Può anche essere utile a rivedere i vostri lmeControls attuali con il seguente comando:

str(lmerControl()) 

Inoltre, questa risposta precedente può essere utile a voi: increase iterations for new version of lmer?

+4

I don ' vedere qualsiasi prova di avvertenze su iterazioni insufficienti qui. Ad esempio, 'library (lme4); fm1 <- lmer (Reaction ~ Days + (Days | Subject), sleepstudy, control = lmerControl (optCtrl = list (maxfun = 5))) 'indica chiaramente" il numero massimo di valutazioni delle funzioni superate ", che non vedo sopra . –