对这个问题的回答声称
scipy.odr
应该计算正交回归并且它将等于总最小二乘解。
您可以使用 scipy.odr 它将计算正交回归,该回归应等于 tls。
然而维基百科声称戴明回归和正交回归都是总最小二乘法的特殊情况。
它是戴明回归和正交回归的推广,可应用于线性和非线性模型。
SciPy 文档引用了 Boggs 和 Donaldson 1989 的正交距离回归,其中似乎没有提及总最小二乘法。
使用
scipy.odr
实际上相当于总最小二乘的一般情况吗?
scipy.odr
,它包装了 Fortran 库 ODRPACK,可以解决问题的相当一般形式,也称为“总最小二乘法”。
在非线性正交距离回归的稳定且高效的算法中,Boggs(大多数有关 ODRPACK 的出版物的第一作者)和合著者写道:
他们提到的 TLS 论文由 Golub 和 Van Loan 撰写,他们撰写了关于 TLS 的最有影响力的论文之一。
搜索同一篇论文中出现的两个术语,还有其他几个术语表明不能单独使用“ODR”和“TLS”名称来区分这些技术。例如,戴维斯在总最小二乘螺旋曲线拟合中写道:
它看起来像引用的维基百科文章指出TLS是“戴明回归”和“正交回归”的推广,因为后者适用于具有一个自变量和一个因变量的线性问题,而TLS则推广到多个变量和非线性问题。
scipy.odr
/ODRPACK 也是如此。 ODRPACK 用户指南 和 scipy.odr
API 文档 宣传支持:
因此,尽管答案可能有点取决于您的需要,但
scipy.odr
解决了这个问题的相当普遍的形式。