【问题标题】:Python linear fitting with multiple error bars具有多个误差线的 Python 线性拟合
【发布时间】:2012-07-29 21:40:22
【问题描述】:

我正在用线性拟合拟合一些数据。我想加权误差条。到目前为止,我一直在使用斗牛犬fitting.py。他们的linear_fit 使加权线性回归变得非常容易。不幸的是,我正在使用的数据在 X 和 Y 方向都有错误。

我想知道如何在实践中(在 Python 中)和理论上(在统计方面)做到这一点。

【问题讨论】:

标签: python statistics matplotlib curve-fitting linear-regression


【解决方案1】:

您可以使用scipy.optimize.fmin() 函数 (see this example) 来最小化计算 x 和 y 方向平方偏差的评价函数(您必须定义它)。

【讨论】:

  • 以上指向 Stefano Messina 示例的链接已损坏。
  • @aging_gorrila 对不起,我不知道为什么,我修复了链接,现在它带到了 scipy.optimize 教程页面。
【解决方案2】:

有几个选择:

  1. scipy.optimize.leastsq(用于total least squares
  2. scipy.odr(用于Deming regression)。

这两种解决方案都将解释 X 和 Y 方向的独立误差(odr 中的 scld 数组)。

【讨论】:

  • LeastSq 如何获取 x 和 y 方向的误差。?我找不到参数。
  • 是 xtol 吗?抱歉,我真的应该改进这个答案来举个例子。
  • 我认为 xtol 只是确定何时停止算法的一个小值。我想它只适用于 scipy.odr。
  • scipy.optimize.leastsq 进行普通最小二乘,而不是总最小二乘。第二个选择是正确的。不过。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-08
  • 2019-05-15
  • 2018-10-13
  • 2017-12-18
  • 1970-01-01
  • 2021-07-23
相关资源
最近更新 更多