【发布时间】:2011-10-15 22:05:41
【问题描述】:
我没有找到计算正交回归(TLS - 总最小二乘)的函数。
有这种功能的包吗?
更新:我的意思是对称地计算每个点的距离,而不是像lm() 那样不对称地计算。
【问题讨论】:
-
在 stats.SE 上提供您之前问题的链接是公平的,例如How princomp() works?,你已经找到了一些线索。
标签: r regression
我没有找到计算正交回归(TLS - 总最小二乘)的函数。
有这种功能的包吗?
更新:我的意思是对称地计算每个点的距离,而不是像lm() 那样不对称地计算。
【问题讨论】:
标签: r regression
您可能需要考虑包 MethComp [function info] 中的 Deming() 函数。该软件包还包含对戴明回归背后理论的详细推导。
R 档案的以下搜索也提供了很多选项:
您在 CrossValidated、here 和 R-Help 上的多个问题暗示您需要做更多的工作来准确描述您想要做什么,因为“总最小二乘”和“正交回归”这两个术语在某种程度上具有对所需的实际技术有歧义。
【讨论】:
两个答案:
rgr 包中的 gx.rma 似乎可以做到这一点。【讨论】:
我从这个网址得到了以下解决方案:
https://www.inkling.com/read/r-cookbook-paul-teetor-1st/chapter-13/recipe-13-5
r <- prcomp( ~ x + y )
slope <- r$rotation[2,1] / r$rotation[1,1]
intercept <- r$center[2] - slope*r$center[1]
基本上,您执行的 PCA 将拟合 x 和 y 之间的一条线,以最小化正交残差。然后您可以检索第一个分量的截距和斜率。
【讨论】:
对于再次遇到这个问题的任何人,现在已经有一个专门的包“onls”用于此目的。它的处理方式类似于 nls 包(实现普通的最小二乘算法)
【讨论】: