我正在寻找最适合使用python3.4的一组数据的weibull参数。在
import scipy.stats as ss
list1 = []
list2 = []
for x in range(0, 10):
list1.append(ss.exponweib.pdf(x, a=1, c=2.09, scale=10.895, loc=0))
list2.append(ss.weibull_min.pdf(x, c=2.09, loc=0, scale=10.895))
if list1[x]-list2[x] < .000000001:
list1[x]=list2[x]
if list1 == list2:
print("true")
print(ss.distributions.weibull_min.fit(list1, floc=0))
print(ss.distributions.weibull_min.fit(list1, loc=0))
print(ss.distributions.weibull_min.fit(list1, floc=0))
print(ss.distributions.exponweib.fit(list1, 1,1))
print(ss.distributions.exponweib.fit(list1, floc=0, f0=1))
print(ss.distributions.exponweib.fit(list1, floc=0, a=1, f0=1))
我所做的一切都不能产生输入参数,我不知道为什么。在
此代码的输出为:
^{pr2}$它们都不是正确的输入参数。感谢任何帮助。谢谢。在
fit()
方法的第一个参数是要拟合的分布中的值的样本(不是PDF值)。所以您应该使用rvs()
方法来生成数据,而不是pdf()
方法。在下面是一个简单的例子,我从
exponweib
分布中生成一个250个值的样本,然后在该样本上使用fit()
。我假设当我拟合数据时,我知道形状参数a
必须是1,loc
参数必须是0:相关问题 更多 >
编程相关推荐