josemiotto / pylevy

Levy distributions for Python
GNU General Public License v3.0
34 stars 18 forks source link

La estimación de los parámetros a veces falla #20

Open hurtadillero opened 2 hours ago

hurtadillero commented 2 hours ago

Hola, José, cómo estás.

Vengo intentando usar la librería para unas investigaciones alrededor de activos financieros y tratando de ver la "precisión" del uso del estimador por máxima verosimilitud comparado con otros estimadores (más el armado de alguna especie de intervalo de confianza).

Mientras estaba buscando ver el histograma de estimaciones de alfa sobre 1000 sampleos random de tamaño 10000 para una distribución con parámetros

alfa = 1.6 beta = 0 mu = 0 sigma = 0.005

encontré algunos casos medio extraños que me llamaron la atención. En gral, la estimación sale bárbaro, pero de repente de vez en cuando me encuentro con resultados como este

(par=0, alpha=2.00, beta=1.00, mu=-0.00, sigma=0.01, -27450.39157380032)

o este

(0.513090465, -0.0279757810, 0.000122625, 0.0130914520)

Al principio pensé que quizás era simplemente que la estimación podía tener outliers o casos extremos por su fat-tailedness. En ambos casos plottee la supervivencia en loglog para ver si los puntos escapaban de la curva real, pero no, caen todos bastante bien. Corrí luego ambas estimaciones con el fit de scipy y en ambos casos dio bien:

(1.6136116582126896, 0.00039678334260951796, 6.09728898629812e-07, 0.005018095934839451) (1.5990034365452666, -0.07390117853677694, -2.650462435466815e-05, 0.004983221054544219)

Lo cual me lleva a pensar que el problema está en el método numérico que resuelve o en algún bug del código.

Adjunto la imagen de los 2 sampleos en log-log contra la curva teórica y el csv con los datos por si sirve.

tirada1levy16.csv tirada2levy16.csv

image

hurtadillero commented 2 hours ago

(Escribí en español porque vi que sos argentino espero no sea un problema)