2012-02-15 26 views
5

¿Cuál es el significado del siguiente mensaje de advertencia al ajustar un modelo 'glmer' utilizando el paquete lme4?Mensaje de advertencia en el modelo mixto lme4

Warning messages: 
1: glm.fit: fitted probabilities numerically 0 or 1 occurred 
2: In mer_finalize(ans) : false convergence (8) 

El modelo que estoy tratando de encajar es así:

glmer(dummy ~ constituency.coa + I(governat.part) + I(district2) + gdp.cap + lula.power + ifdm + bf.cap + year + (1 | munname), data=pool, family=binomial(link = "logit"), REML=T, verbose=T) 

Gracias

+1

Esto podría ser un buen trasfondo: http://www.ats.ucla.edu/stat/mult_pkg/faq/general/complete_separation_logit_models.htm – Aaron

Respuesta

6

de advertencia 1: los valores ajustados se convirtieron en 0 o 1 para una o más observaciones, pero esto debe no será posible bajo una regresión logística. Las causas son muchas; uno se discute en la página de ayuda para ?glm pero eso es poco más que un puntero a alguna otra documentación. Es solo una advertencia, por lo que puede no ser un problema, pero es una advertencia de que algo no está bien con el ataque.

Advertencia 2: No sé el significado exacto, pero el código te dice que la rutina de optimización declaró que el procedimiento de ajuste ha convergido a los valores estimados pero que esta afirmación es falsa y que el ajuste no converger.

Una cosa a tener en cuenta es si hay un problema de separabilidad, donde un predictor o una combinación lineal de predictores pueden dividir perfectamente los eventos 0 y 1.

Le sugiero que haga un seguimiento de esto en la lista de correo R-SIG-Mixed donde hay verdaderos expertos que pueden ayudarlo. Es posible que deba proporcionar más detalles sobre el proceso de adaptación (activar el modo detallado) o incluso los datos para poder diagnosticar el problema.

5

Para la Advertencia 2, puede aumentar el número de iteraciones, el valor predeterminado es 300, para ver si converge cuando agrega más iteraciones. intente:

glmer(dummy ~ constituency.coa + I(governat.part) + I(district2) + gdp.cap + lula.power + ifdm + bf.cap + year + (1 | munname), data=pool, family=binomial(link = "logit"), REML=T, verbose=T, control = list(maxIter = 600)) 

esto lo cambia de 300 iteraciones a 600, pero puede intentar más si eso no funciona.

+2

... aunque a menudo es el caso que más iteraciones no ayudan en estas situaciones (Vale la pena intentarlo). –

Cuestiones relacionadas