2011-01-11 75 views
5

Estoy intentando estimar la forma y la escala de un conjunto de datos.
que utiliza dos formas diferentes y por tanto me dieron un mensaje de error:Estimación de los parámetros de densidad de Weibull (error: "... el valor inicial en 'vmmin' no es finito")

En primer lugar, he intentado por momentos utilizando el survey paquete:

survreg(Surv(all.ws)~1, dist="weibull") 

me dieron el mensaje de error:

invalid survival times for this distribution

En segundo lugar, traté de usar la función fitdistr():

fitdistr(all.ws, densfun=dweibull, start=list(scale=1, shape=2))  

que tiene un mensaje de error:

Error in optim(x=c(2.2, 2.1,1.9....:
initial value in 'vmmin' is not finite

Qué hay de malo en lo que estoy haciendo?

+2

intente en http://www.crossvalidated.com. –

Respuesta

6

Una búsqueda en Google "fitdistr Weibull error" muestra esta pregunta exacta se discutió hace un año en el R-ayuda lista de correo: http://r.789695.n4.nabble.com/Problems-with-fitdistr-td1334772.html

Algunos puntos de ese vínculo:

  • ceros en su datos causarán problemas

  • pelwei uso() la función de lmom paquete

+0

gracias! los ceros son el problema. No entiendo por qué – eliavs

+1

aparentemente porque lleva un registro, aunque no estoy seguro. –

+0

prasad gracias amillion la función pelwei funciona maravilloso! – eliavs

0

Tuve un problema similar al usar fitdistr() con una distribución Beta. En ese caso, tanto como y ceros en los datos produjeron este error.

Adicionalmente he encontrado que cuando el argumento límite se utiliza en la llamada fitdistr(), se produce un error diferente: por ejemplo (donde x es un vector de muestras que contienen un 1,0 o 0):

fitdistr(x, "beta", list(shape1 = 1, shape2 = 0.2),lower=0.001)

`Error in stats::optim: L-BFGS-B needs finite values of 'fn'` 
Cuestiones relacionadas