[R-es] Comportamiento extraño de glm.nb

Jorge Tornero - Listas jtorlistas en gmail.com
Vie Nov 14 08:09:21 CET 2014


Hola a todos, de nuevo:

en primer lugar, quisiera agradecer vuestras respuestas a mi consulta. 
Esta misma mañana las vamos a poner en práctica y veremos qué tal 
funciona el script, primero cambiando la función link y luego con el 
"cebado" de glm.nb.

Lamentablemente, muchas veces somos usuarios de "recetas" que no 
comprendemos en su totalidad, de ahí surgen problemas como el que os he 
transmitido. Muchas gracias, sobre todo, por enseñar a través de 
vuestras respuestas y no sólo facilitar una solución.

Un saludo para todos

Jorge



El 13/11/14 a las 16:44, Carlos J. Gil Bellosta escribió:
> 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