鉴于以下2d点:
213 106.8
214 189
214 293.4
213 324
223 414
我想找到贯穿它们的最小二乘垂直轴线的方程式。我的计划是得到一个线方程,这样我就可以测试它们到最小二乘线的距离的后续点。
由于
答案 0 :(得分:6)
严格地说,没有为垂直线定义最小二乘拟合(因为 平行于Y轴测量每个点的误差。)
但是,如果交换X和Y,则可以找到最少的水平线 方块适合。它仅适用于Y坐标值的平均值:
水平线的等式只是y = b。
每个点的误差(x i ,y i )是(y i - b)。
误差的平方和是SSE = sum((y i - b) 2 )。我们希望 找到最小化SSE的b的值。采用SSE的偏导数 尊重b并将其设置为零:
sum(-2(y i - b))= 0
简化,
sum(y i ) - Nb = 0
和
b = sum(y i )/ N
因此,在您的情况下,对X坐标求平均会得到X坐标 最符合你要点的垂直线。
答案 1 :(得分:2)
最通用的解决方案是应用Total Least Squares
这找到(a,b,d)最小化垂直距离的平方和(ax + by = d(a ^ 2 + b ^ 2 = 1):| ax + by - d |)。这可以处理垂直线,例如0x + 1y = 0。
然而,实施起来有点困难,因此@Jim Lewis提供的解决方案可能会更好,更实用。
答案 2 :(得分:-1)
如果您希望最佳拟合线为垂直线(即x =常数),则y值无关紧要。只需取x值的平方均值的平方根。