scipy.odr 计算的是总最小二乘法还是它的一个特例?

问题描述 投票:0回答:1

这个问题的回答声称

scipy.odr
应该计算正交回归并且它将等于总最小二乘解。

您可以使用 scipy.odr 它将计算正交回归,该回归应等于 tls。

然而维基百科声称戴明回归和正交回归都是总最小二乘法的特殊情况。

它是戴明回归和正交回归的推广,可应用于线性和非线性模型。

SciPy 文档引用了 Boggs 和 Donaldson 1989 的正交距离回归,其中似乎没有提及总最小二乘法。

使用

scipy.odr
实际上相当于总最小二乘的一般情况吗?

python scipy statistics
1个回答
0
投票

scipy.odr
,它包装了 Fortran 库 ODRPACK,可以解决问题的相当一般形式,也称为“总最小二乘法”。

非线性正交距离回归的稳定且高效的算法中,Boggs(大多数有关 ODRPACK 的出版物的第一作者)和合著者写道:

他们提到的 TLS 论文由 Golub 和 Van Loan 撰写,他们撰写了关于 TLS 的最有影响力的论文之一。

搜索同一篇论文中出现的两个术语,还有其他几个术语表明不能单独使用“ODR”和“TLS”名称来区分这些技术。例如,戴维斯在总最小二乘螺旋曲线拟合中写道:

它看起来像引用的维基百科文章指出TLS是“戴明回归”和“正交回归”的推广,因为后者适用于具有一个自变量和一个因变量的线性问题,而TLS则推广到多个变量和非线性问题。

scipy.odr
/ODRPACK 也是如此。 ODRPACK 用户指南
scipy.odr
API 文档
宣传支持:

  • 线性或非线性拟合函数;
  • 多个自变量和因变量,或者更一般地说,隐式相关的多个变量;和
  • 加权“以考虑观测值的不同方差,甚至变量维度之间的协方差。”

因此,尽管答案可能有点取决于您的需要,但

scipy.odr
解决了这个问题的相当普遍的形式。

© www.soinside.com 2019 - 2024. All rights reserved.