SciPy ODR

17 Mar 2025 | 阅读 2 分钟

ODR 是 正交距离回归 的缩写。它用于回归研究。基本的线性回归用于通过绘制最佳拟合线来估计两个变量 y 和 x 之间的关系。那么问题就来了,为什么需要正交距离回归 (ODR)?有时,在自变量 (x) 中会发生测量误差,而不是在因变量 (y) 中。

标准的线性回归侧重于从 X 值预测 Y 值,因此有用的做法是计算 Y 值中的误差(如我们在下图中用虚线黑色线所示)。但是,最好同时考虑 X 和 Y 中的误差(如下图中的虚线红色线所示)。

SciPy ODR

正交距离回归 (ODR) 是一种用于计算垂直于该线的误差而不是垂直的误差的方法。

正交距离回归提供 ODRPACK 以使用非线性函数执行 ODR。它基本上是一个 FORTRAN-77 库。它可以进行显式或隐式 ODR 拟合。它也可以用来解决普通的最小二乘问题 (OLS)。

scipy.odr for 单变量回归的实现

单变量回归可以定义为确定一个自变量和一个因变量之间的关系。考虑以下示例

输出

Beta: [ 7.62787497 -8.53630181]
Beta Std Error: [0.89306061 3.69444539]
Beta Covariance: [[ 1.52116591 -5.32408057]
 [-5.32408057 26.0323407 ]]
Residual Variance: 0.5243065494144553
Inverse Condition #: 0.18510252155770376
Reason(s) for Halting:
  Sum of squares convergence

下一主题SciPy 频谱图