我已经花了很多时间体面的数额试图追捕这样做的一个简单的方法 - 理想情况下,一个神奇的库是否存在在那里的地方,将我的一套3D数据点和最佳拟合线返回2分使用任一正交回归或最小二乘并且还返回拟合线的误差。是否这样的事情存在,如果是这样,在哪里?

有帮助吗?

解决方案

这是很容易做到的事,但把它写自己,你将需要一个特征值求解器或奇异值分解。创建NX3矩阵A,你的(X-XBAR,Y-ybar,Z-zbar和)数据列。保存那些柱装置,用于后,我将称之为V0 = [XBAR,ybar,zbar和]。

现在,计算A的特征向量'* A,即,从A形成的3×3矩阵转置由A相乘。

如果在中的R ^ 3的线这个数据谎言,那么这些特征值中的一个会比其他两个特征值显著大。如果这不是真的,那么正交回归线将不能很好地估算。

径,其与A的'* A的最大特征值有关的特征向量。然后,如果V是相应的特征向量,所述正交回归线被定义为

V(T)= V0 + T * V

在该行上的任何点都可以由参数t的一些值给出。

可替换地,计算A的奇异值分解,并采取右奇异向量,其对应于最大奇异值。

在任一情况下,如果要计算用于数据点的误差,这将被定义为简单地到所讨论的线路的正交距离。

其他提示

谷歌“的Java线性最小二乘回归库”,你应该找到几个选项。一个是 Drej 。我没有这个使用自己,虽然。

修改 - 我不相信这个答案 - 我不知道3D数据是否支持

这是很容易做到这一点,如果你知道的伎俩: HTTP:/ /www.scribd.com/doc/21983425/Least-Squares-Fit

更多尺寸意味着更多的系数,但他们很容易的添加进来。这些想法都是一样的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top