【问题标题】:How to fit with errors of measurement in scipy curve_fit?如何适应 scipy curve_fit 中的测量误差?
【发布时间】:2019-01-18 21:24:01
【问题描述】:

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

【问题讨论】:

    标签: scipy curve-fitting


    【解决方案1】:

    来自docs

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

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

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

    严格地说,维度分析表明您应该使用绝对 sigma(而不是平方)。在实践中,您可以根据需要使用 sigma_square,它会更多地忽略异常值。

    【讨论】:

      猜你喜欢
      • 2015-04-26
      • 2021-09-25
      • 2021-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-22
      • 2022-11-22
      相关资源
      最近更新 更多