我目前正在尝试使用scipy.stats weibull_min.fit函数拟合数据集。当我完全拟合数据集时,我得到以下参数:
(0.10875037748866037, 1.0362199999999999e-05, 1.0709034507962369)
这最终导致非常不适合数据。但是,当我将位置(第二个参数)设置为数据集的最小值时,我得到了更好的拟合结果:
(1.2295613161155923, 1.03622e-05, 5.8737285599676099e-06)
如您所见,我的强制位置和自动适应位置的值非常非常接近。是否有任何理由在不强制定位的情况下拟合数据会产生更糟糕的结果?
编辑: 这是我正在使用的代码:
import scipy.stats as st
file = open('datafile.csv', 'r')
lines = file.readlines()
data = []
for ii in range(len(lines)):
data.append(float(lines[ii]))
distr = getattr(st, "weibull_min")
params = distr.fit(data)
# params = distr.fit(data, floc=min(data))