SciPy를 사용하여 weibull fit을 this question에서 재현하려고합니다.Weitull에 맞는 genextreme과 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)
매개 변수는 다음과 같습니다 : (0.44693977076022462, 38.283622522613214, 7.9180988170857374)
다음과 같이 내가 genextreme
기능을 사용할 때 내 적합 좋아 보인다. shape 매개 변수는 양수입니다. Weibull wikipedia page에있는 shape 매개 변수의 부호에 해당합니다. R에서 음수 모양 매개 변수와 동일한 것으로 알고 있습니까?
따라서 genextreme
은 배포본이 Gumbel, Frechet 또는 Weibull인지 여부를 자체적으로 결정합니다. 여기 Weibull이 선택되었습니다.
이제는 weibull_min
기능으로 비슷한 피팅을 재현하려고합니다. 나는 this post에 따라 다음을 시도하지만, 매개 변수 내가 genextreme
에있어 것과 매우 다를 수 :
weibull_min.fit(data, floc=0)
매개 변수는 지금 : (6.4633107529634319, 0, 43.247460728065136)
가 0
모양 매개 변수인가? 분배가와 이블이면 확실하게 긍정적일까요?
뻔뻔한 플러그 : paramnormal이 여기에서 도움이 될 수 있습니다. http://phobson.github.io/paramnormal/tutorial/fitting.html –