Hola, Soy nuevo manejando R y no tengo mucha experiencia. Estoy intentando modelar una función que me relacione el nº de cebas (nº de presas que los padres traen a los pollos) con el tamaño de parche de un bosque (factor categórico; 2 niveles= grande y pequeño). Al ser un conteo (nº de cebas) he pensado utilizar familia= poisson con link= logarítmico. He construido un GLMM con: Nº de cebas (variable respuesta), Duración del video (esfuerzo de muestreo: 60, 50 y 45 minutos) como una offset en el modelo (transformándola previamente por el logaritmo). Tamaño de parche, factor explicativo, Nº de pollos y fecha de puesta covariables. Además he incluido como random el año de estudio (3 años), el ID del nido anidado dentro del ID de cada parche (tengo varios parches, grandes y pequeños) y la identidad del padre y de la madre también como rándom, puesto que se pueden repetir entre años. La estructura de mi modelo es la siguiente: #paquete(lme4), mi versión de R es la 3.1.1. m1<- glmer(ncebas~offset(LogDur_video)+ TamañoParche*Ldate*Csize+(1|YEAR) + (1|Bosque/nideo)+ (1|Hembra) + (1|Macho), data=Cebas, family=poisson(link=log)) #con todas las variables e interacciones posibles para que sirva como referencia a la hora de la selección del modelo final. El modelo me funciona, sin embargo me aparecen unos warnings que no sé a que se deben ni la importancia real en el cáculo de mi modelo. Mi pregunta es si alguien en el foro sabe porqué aparecen y como solucionarlos. Los warnings son: Warning messages: 1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : Model failed to converge with max|grad| = 0.00431561 (tol = 0.001, component 7) 2: 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? Muchas gracias, atentamente, Javier [[alternative HTML version deleted]]
Hola Javier. Talvez peque de obvio, pero tu problema no es exactamente del software sino del modelo. El mensaje es claro: casi no es identificable. Puedes aumentar el número de iteraciones para ver si este modelo específico converge felizmente (no sé si tenga esta opción la función). Lo que yo, externamente, sospecho, es que el modelo tiene muchos efectos aleatorios (año, nido, hembra, macho) y posiblemente una gran cantidad de interacciones. Considera correr un modelo con un intercepto aleatorio primero y observa si obtienes warnings por convergencia. Eso te dará ideas del problema. ¡Salud! On 10/19/14, javier bueno enciso <jbuenoenciso en hotmail.com> wrote:> Hola, > Soy nuevo manejando R y no tengo mucha experiencia. Estoy intentando modelar > una función que me relacione el nº de cebas (nº de presas que los padres > traen a los pollos) con el tamaño de parche de un bosque (factor categórico; > 2 niveles= grande y pequeño). Al ser un conteo (nº de cebas) he pensado > utilizar familia= poisson con link= logarítmico. He construido un GLMM con: > Nº de cebas (variable respuesta), Duración del video (esfuerzo de muestreo: > 60, 50 y 45 minutos) como una offset en el modelo (transformándola > previamente por el logaritmo). Tamaño de parche, factor explicativo, Nº de > pollos y fecha de puesta covariables. Además he incluido como random el año > de estudio (3 años), el ID del nido anidado dentro del ID de cada parche > (tengo varios parches, grandes y pequeños) y la identidad del padre y de la > madre también como rándom, puesto que se pueden repetir entre años. La > estructura de mi modelo es la siguiente: > #paquete(lme4), mi versión de R es la 3.1.1. > > m1<- glmer(ncebas~offset(LogDur_video)+ TamañoParche*Ldate*Csize+(1|YEAR) + > (1|Bosque/nideo)+ (1|Hembra) + (1|Macho), data=Cebas, > family=poisson(link=log)) #con todas las variables e interacciones posibles > para que sirva como referencia a la hora de la selección del modelo final. > > El modelo me funciona, sin embargo me aparecen unos warnings que no sé a que > se deben ni la importancia real en el cáculo de mi modelo. Mi pregunta es si > alguien en el foro sabe porqué aparecen y como solucionarlos. Los warnings > son: > > Warning messages: > 1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : > Model failed to converge with max|grad| = 0.00431561 (tol = 0.001, > component 7) > 2: 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? > Muchas gracias, atentamente, > Javier > > [[alternative HTML version deleted]] > >-- «No soy aquellas sombras tutelares que honré con versos que no olvida el tiempo.» JL Borges
Hola Javier, yo me he encontrado con errores similares. Aquí tienes la respuesta del propio Ben Bolker al respecto: http://stackoverflow.com/questions/21344555/convergence-error-for-development-version-of-lme4 Como puedes leer, eso podría resultar ser un falso positivo y recomienda utilizar el siguiente optimizador: > control=glmerControl(optimizer="bobyqa") Otra cuestión es el reescalado de las variables. Posiblemente tengas variables de diferentes órdenes de magnitud lo que dificulta que converja el modelo. Te recomiendo que re-escales tus variables (centrarlas y ponerlas todas en el mismo orden de magnitud puede ser una buena opción). Con estos pequeños "tips" yo he conseguido que mi modelo funcione sin warnings, espero que sean de ayuda. Un saludo, -- *Alexandre Alonso Fernández** *Instituto de Investigaciones Marinas, IIM-CSIC Departamento de Recursos y Ecología Marina Grupo de Ecología Pesquera c/ Eduardo Cabello 6, 36208 Vigo (Pontevedra) ESPAÑA Teléfono: (+34) 986 23 19 30 Ext. 241 Fax: (+34) 986 29 27 62 alex en iim.csic.es <http://www.iim.csic.es/pesquerias> http://pesquerias.iim.csic.es <http://www.iim.csic.es/pesquerias> https://twitter.com/FisheriesIIM El 20/10/2014 5:55, Freddy Omar López Quintero escribió:> Hola Javier. Talvez peque de obvio, pero tu problema no es exactamente > del software sino del modelo. El mensaje es claro: casi no es > identificable. Puedes aumentar el número de iteraciones para ver si > este modelo específico converge felizmente (no sé si tenga esta opción > la función). > > Lo que yo, externamente, sospecho, es que el modelo tiene muchos > efectos aleatorios (año, nido, hembra, macho) y posiblemente una gran > cantidad de interacciones. Considera correr un modelo con un > intercepto aleatorio primero y observa si obtienes warnings por > convergencia. Eso te dará ideas del problema. > > ¡Salud! > > On 10/19/14, javier bueno enciso <jbuenoenciso en hotmail.com> wrote: >> Hola, >> Soy nuevo manejando R y no tengo mucha experiencia. Estoy intentando modelar >> una función que me relacione el nº de cebas (nº de presas que los padres >> traen a los pollos) con el tamaño de parche de un bosque (factor categórico; >> 2 niveles= grande y pequeño). Al ser un conteo (nº de cebas) he pensado >> utilizar familia= poisson con link= logarítmico. He construido un GLMM con: >> Nº de cebas (variable respuesta), Duración del video (esfuerzo de muestreo: >> 60, 50 y 45 minutos) como una offset en el modelo (transformándola >> previamente por el logaritmo). Tamaño de parche, factor explicativo, Nº de >> pollos y fecha de puesta covariables. Además he incluido como random el año >> de estudio (3 años), el ID del nido anidado dentro del ID de cada parche >> (tengo varios parches, grandes y pequeños) y la identidad del padre y de la >> madre también como rándom, puesto que se pueden repetir entre años. La >> estructura de mi modelo es la siguiente: >> #paquete(lme4), mi versión de R es la 3.1.1. >> >> m1<- glmer(ncebas~offset(LogDur_video)+ TamañoParche*Ldate*Csize+(1|YEAR) + >> (1|Bosque/nideo)+ (1|Hembra) + (1|Macho), data=Cebas, >> family=poisson(link=log)) #con todas las variables e interacciones posibles >> para que sirva como referencia a la hora de la selección del modelo final. >> >> El modelo me funciona, sin embargo me aparecen unos warnings que no sé a que >> se deben ni la importancia real en el cáculo de mi modelo. Mi pregunta es si >> alguien en el foro sabe porqué aparecen y como solucionarlos. Los warnings >> son: >> >> Warning messages: >> 1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : >> Model failed to converge with max|grad| = 0.00431561 (tol = 0.001, >> component 7) >> 2: 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? >> Muchas gracias, atentamente, >> Javier >> >> [[alternative HTML version deleted]] >> >> ><https://twitter.com/FisheriesIIM> [[alternative HTML version deleted]]
Gracias Javier Rubén y Freddy por las respuestas. Efectivamente probablemente se deba a que el modelo es muy complicado, aunque comparando diferentes modelos con la función anova, el modelo que mejor se ajusta a los datos es el más complejo, incluyendo todos los factores random. Un saludo.> Date: Mon, 20 Oct 2014 00:55:51 -0300 > Subject: Re: [R-es] Warnings en GLMM (lme4) > From: freddy.vate01 en gmail.com > To: jbuenoenciso en hotmail.com > CC: r-help-es en r-project.org > > Hola Javier. Talvez peque de obvio, pero tu problema no es exactamente > del software sino del modelo. El mensaje es claro: casi no es > identificable. Puedes aumentar el número de iteraciones para ver si > este modelo específico converge felizmente (no sé si tenga esta opción > la función). > > Lo que yo, externamente, sospecho, es que el modelo tiene muchos > efectos aleatorios (año, nido, hembra, macho) y posiblemente una gran > cantidad de interacciones. Considera correr un modelo con un > intercepto aleatorio primero y observa si obtienes warnings por > convergencia. Eso te dará ideas del problema. > > ¡Salud! > > On 10/19/14, javier bueno enciso <jbuenoenciso en hotmail.com> wrote: > > Hola, > > Soy nuevo manejando R y no tengo mucha experiencia. Estoy intentando modelar > > una función que me relacione el nº de cebas (nº de presas que los padres > > traen a los pollos) con el tamaño de parche de un bosque (factor categórico; > > 2 niveles= grande y pequeño). Al ser un conteo (nº de cebas) he pensado > > utilizar familia= poisson con link= logarítmico. He construido un GLMM con: > > Nº de cebas (variable respuesta), Duración del video (esfuerzo de muestreo: > > 60, 50 y 45 minutos) como una offset en el modelo (transformándola > > previamente por el logaritmo). Tamaño de parche, factor explicativo, Nº de > > pollos y fecha de puesta covariables. Además he incluido como random el año > > de estudio (3 años), el ID del nido anidado dentro del ID de cada parche > > (tengo varios parches, grandes y pequeños) y la identidad del padre y de la > > madre también como rándom, puesto que se pueden repetir entre años. La > > estructura de mi modelo es la siguiente: > > #paquete(lme4), mi versión de R es la 3.1.1. > > > > m1<- glmer(ncebas~offset(LogDur_video)+ TamañoParche*Ldate*Csize+(1|YEAR) + > > (1|Bosque/nideo)+ (1|Hembra) + (1|Macho), data=Cebas, > > family=poisson(link=log)) #con todas las variables e interacciones posibles > > para que sirva como referencia a la hora de la selección del modelo final. > > > > El modelo me funciona, sin embargo me aparecen unos warnings que no sé a que > > se deben ni la importancia real en el cáculo de mi modelo. Mi pregunta es si > > alguien en el foro sabe porqué aparecen y como solucionarlos. Los warnings > > son: > > > > Warning messages: > > 1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : > > Model failed to converge with max|grad| = 0.00431561 (tol = 0.001, > > component 7) > > 2: 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? > > Muchas gracias, atentamente, > > Javier > > > > [[alternative HTML version deleted]] > > > > > > > -- > «No soy aquellas sombras tutelares > que honré con versos que no olvida el tiempo.» > > JL Borges[[alternative HTML version deleted]]