Mit SciPy versuche ich die Weibull Fit von this question zu reproduzieren. Mein fit sieht gut aus, wenn ich die genextreme
Funktion wie folgt:Fit Weibull zur Verteilung mit Genxtreme und Weibull_Min
import numpy as np
from scipy.stats import genextreme
import matplotlib.pyplot as plt
data=np.array([37.50,46.79,48.30,46.04,43.40,39.25,38.49,49.51,40.38,36.98,40.00,
38.49,37.74,47.92,44.53,44.91,44.91,40.00,41.51,47.92,36.98,43.40,
42.26,41.89,38.87,43.02,39.25,40.38,42.64,36.98,44.15,44.91,43.40,
49.81,38.87,40.00,52.45,53.13,47.92,52.45,44.91,29.54,27.13,35.60,
45.34,43.37,54.15,42.77,42.88,44.26,27.14,39.31,24.80,16.62,30.30,
36.39,28.60,28.53,35.84,31.10,34.55,52.65,48.81,43.42,52.49,38.00,
38.65,34.54,37.70,38.11,43.05,29.95,32.48,24.63,35.33,41.34])
shape, loc, scale = genextreme.fit(data)
plt.hist(data, normed=True, bins=np.linspace(15, 55, 9))
x = np.linspace(data.min(), data.max(), 1000)
y = genextreme.pdf(x, shape, loc, scale)
plt.plot(x, y, 'c', linewidth=3)
Die Parameter sind: (0.44693977076022462, 38.283622522613214, 7.9180988170857374)
. Der Formparameter ist positiv, entsprechend dem Vorzeichen des Formparameters auf der Weibull wikipedia page, die, wie ich verstehe, einem negativen Formparameter in R äquivalent ist.
So scheint es genextreme
entscheidet von selbst, ob die Verteilung Gumbel, Frechet oder Weibull ist. Hier hat es Weibull gewählt.
Jetzt versuche ich eine ähnliche Passform mit der weibull_min
Funktion zu reproduzieren. Ich habe das auf this post Basis folgende versucht, aber die Parameter ganz anders aussehen als auf das, was ich bekam mit genextreme
:
weibull_min.fit(data, floc=0)
Die Parameter sind jetzt: (6.4633107529634319, 0, 43.247460728065136)
Ist 0
der Formparameter? Sicherlich sollte es positiv sein, wenn die Verteilung Weibull ist?
schamlosen Stecker: paramnormal könnte Ihnen hier helfen: http://phobson.github.io/paramnormal/tutorial/fitting.html –