[R-es] Comportamiento extraño de glm.nb
Carlos J. Gil Bellosta
cgb en datanalytics.com
Jue Nov 13 16:44:18 CET 2014
Hola, ¿qué tal?
Quiero abundar en el mensaje de Olivier y añadir que no entiendo del
todo el que uses link = "identity". ¿Por qué no usar la canónica? En
tal caso, el ajuste no da problemas.
La función glm.nb sin una estimación previa de theta trata de ajustar
primero un glm de Poisson para extraer de él luego valores de inicio
razonables de ese parámetro para el ajuste de la binomial negativa. Es
justo en la estimación de ese modelo de Poisson que se produce tu
errror.
Por lo tanto, lo discutido en
https://stat.ethz.ch/pipermail/r-help/2004-November/061611.html
se aplica a tu caso. En ese mensaje se advierte sobre la posibilidad
de obtener mus negativas (y su imposibilidad física) usando link =
"identity". Que el error obtenido incluya "In log(y/mu) : Se han
producido NaNs" sugiere que en algún momento --¿durante el ajuste?--
la estimación de mu es negativa.
Igual con "valores de arranque" adecuados (como sugiere Olivier)
desaparecería el problema. Pero tal vez es más sencillo usar el enlace
canónico.
Un saludo,
Carlos J. Gil Bellosta
http://www.datanalytics.com
El día 13 de noviembre de 2014, 16:12, Olivier Nuñez <onunez en unex.es> escribió:
> Bueno, es posible que los altos valores de tu respuesta (la media de Fobs es alrededor de 10000) y la escasez de datos validos (el 90% de los valores de Fobs son NA) hagan la vida dificil a glm.nb. Puedes probar ayudar glm.nb con valores de arranque razonables para este tipo de datos.
>
> Prueba con
> glm.nb(Fobs ~ Wnov, data=adults.dat, na.action="na.omit",link="identity",start=batch.glm$coef)
>
> donde batch.glm es el ajuste con los datos "bien".
> Un saludo. Olivier
>
>
> ----- Mensaje original -----
> De: "Jorge Tornero - Listas" <jtorlistas en gmail.com>
> Para: "r-help-es" <r-help-es en r-project.org>
> Enviados: Jueves, 13 de Noviembre 2014 14:10:29
> Asunto: [R-es] Comportamiento extraño de glm.nb
>
> (Perdón, no puse asunto en el post original)
>
> Ah, corremos R 3.0.2 y l alibrería MASS 7.3-29
>
> Estimados todos:
>
> Os escribo porque tengo un problema que nos está dejando un poco
> trastornadillos. Probablemente sea uno de esos que los ve un experto a
> un kilómetro y dice ¡oh! toca aquí. Pero nos trae de cabeza.
>
> El caso es que aquí usamos un script para calcular ciertos parámetros
> relacionados con el método de producción diaria de huevos del boquerón
> del Golfo de Cádiz. Es un script que venimos usando desde hace tiempo
> sin problema.
>
> Pero ahora nos da un problema (línea 292) en :
>
> batch.glm <- glm.nb(Fobs ~ Wnov, data=adults.dat,
> na.action="na.omit",link="identity",start=0)
>
> Error: no valid set of coefficients has been found: please supply
> starting values
> Además: Mensajes de aviso perdidos
> In log(y/mu) : Se han producido NaNs
>
> Aparte de que la documentación e información sobre el particular error
> no es abundante, he aquí lo que nos desconcierta: Ese mismo script, con
> datos similares (pero de otra campaña), corre perfectamente.
>
> He probado a eliminar datos potencialmente conflictivos, pero nada. Los
> archivos con los datos están generados exactamente de la misma manera
> (salida de una base de datos postgresql, con idéntica consulta)
>
> Se han revisado los datos y no aparece nada exótico. La verdad es que
> estoy un poco desorientado, y por eso escribo a la lista.
>
> He dejado una copia del script, así como de los datos, por si alguien se
> animara a echar un vistazo en un gist en mi cuenta de github:
>
> https://gist.github.com/734170b42c8307276451.git
>
> Muchas gracias y un saludo
>
> Jorge Tornero
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
Más información sobre la lista de distribución R-help-es