将数据拟合到广义极值分布

4
我一直在尝试使用scipy.stats.genextreme将我的数据拟合到广义极值分布。我尝试了所有能找到的方法,但不知道为什么它无法拟合数据。
我已经尝试了以下两种方法:
import numpy as np
from matplotlib import pyplot as plt
from scipy.stats import genextreme as gev

dataN = [0.0, 0.0, 0.122194513716, 0.224438902743, 0.239401496259, 0.152119700748, 
         0.127182044888, 0.069825436409, 0.0299251870324, 0.0199501246883, 0.00997506234414, 
         0.00498753117207, 0.0]

t = np.linspace(1,13,13)
fit = gev.fit(dataN,loc=3)
pdf = gev.pdf(t, *fit)
plt.plot(t, pdf)
plt.plot(t, dataN, "o")
print(fit)

除此之外

popt, pcov = curve_fit(gev.pdf,t, dataN)
plt.plot(t,gev.pdf(*popt),'r-')

这是第一个方法的结果

第二种方法得到了这个结果

" ValueError: Unable to determine number of fit parameters."

感谢您能够提供的任何帮助!
1个回答

5

谢谢!就是这个细节。 - CJ23rio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接