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