首页 > 解决方案 > 没有强制定位的 Scipy Weibull Min Fit 不好

问题描述

我目前正在尝试使用 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))

标签: pythonscipyweibull

解决方案


推荐阅读