如何拟合scipy curve_fit中的测量误差?

时间:2019-01-18 00:16:43

标签: scipy curve-fitting

我有一个(x,y,dy)的数据集,其中dy是y的测量误差(即y +/- dy)。我想通过使用dy作为权重来将函数func与scipy curve_fit配合。我是否使用curve_fit(func,x,y,sigma = dy)?我也使用sigma = 1 / dy ** 2找到了一些答案。那么,我应该使用哪一个呢?谢谢!

1 个答案:

答案 0 :(得分:2)

来自docs

  

sigma:无或M长度序列,可选

     

如果不是None,则为ydata数组中的不确定性。这些在最小二乘问题中用作权重,即最小化np.sum((((f(xdata,* popt)-ydata)/ sigma)** 2)如果没有,则不确定性假定为1。

损失函数中的sigma已经平方(curve_fit本质上是一个最小二乘算法)。

严格来说,尺寸分析表明您应该使用绝对sigma(而不是平方)。实际上,如果需要,可以使用sigma_square,它将倾向于更多地忽略离群值。