Hacer un fit a un histograma con valores nulos

4 views
Skip to first unread message

JJ Merelo

unread,
Aug 7, 2015, 12:42:07 PM8/7/15
to gur...@googlegroups.com
Hola,
Tengo un histograma así:
> this.hist
$breaks
 [1]    0  200  400  600  800 1000 1200 1400 1600 1800 2000 2200

$counts
 [1] 171  12   3   1   1   0   2   0   0   0   1

$density
 [1] 4.476440e-03 3.141361e-04 7.853403e-05 2.617801e-05 2.617801e-05
 [6] 0.000000e+00 5.235602e-05 0.000000e+00 0.000000e+00 0.000000e+00
[11] 2.617801e-05

Y quiero ajustarlo a una Weibull (o a lo que sea). Como tiene valores nulos, me da error. ¿Alguna solución?

--
JJ

Anna Sáez de Tejada

unread,
Aug 7, 2015, 1:05:21 PM8/7/15
to gur...@googlegroups.com

¿Cómo haces el ajuste? ¿Usas la función fitdistr? Otra opción un poco más cutre es que saques la media, varianza, etc. de tu muestra y resuelvas los parámetros de la distribución, pero eso con la Weibull es difícil. ¿O bien intentar ajustar la probabilidad acumulada en lugar de la densidad? No sé si algo de esto te ayudará.

--
Has recibido este mensaje porque estás suscrito al grupo "Grupo de usuarios de R de la UGR" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a gur-ugr+u...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a gur...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/gur-ugr.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

JJ Merelo

unread,
Aug 7, 2015, 1:06:20 PM8/7/15
to gur...@googlegroups.com
El 7 de agosto de 2015, 18:55, Anna Sáez de Tejada <anna...@gmail.com> escribió:

¿Cómo haces el ajuste? ¿Usas la función fitdistr? Otra opción un poco más cutre es que saques la media, varianza, etc. de tu muestra y resuelvas los


Sí, justo. Con fitdistr.

parámetros de la distribución, pero eso con la Weibull es difícil. ¿O bien intentar ajustar la probabilidad acumulada en lugar de la densidad? No sé si algo de esto te ayudará.


Hum. Puede ser. ¿Cómo lo calculo?

Gracias

JJ

Anna Sáez de Tejada

unread,
Aug 7, 2015, 1:41:58 PM8/7/15
to gur...@googlegroups.com

Bueno yo decía de una manera bastante salvaje. Ordenas los N puntos de forma creciente. La probabilidad pi acumulada del punto i-ésimo es i/N. Luego usas nls para ajustar (p ~ 1 - exp(-(x/l)^k)).

Es lo primero que se me ocurre pero sé que es muy poco fino. De todos modos es un poco raro que los valores nulos den problemas, ¿no? ¿Puedes compartir el mensaje de error?

Aquí sugieren otro paquete pero no lo conozco

http://stackoverflow.com/questions/29374915/data-series-how-can-i-fit-a-distribution-in-r

Anna

JJ Merelo

unread,
Aug 7, 2015, 3:22:27 PM8/7/15
to gur...@googlegroups.com
 Vaya, he descubierto una distribución nueva: https://en.wikipedia.org/wiki/Generalized_extreme_value_distribution y al parecer funciona. ¡Gracias!
--
JJ
Reply all
Reply to author
Forward
0 new messages