给定以下二维点:
213 106.8
214 189
214 293.4
213 324
223 414
我想找到一个穿过它们的最小二乘垂直轴线的方程。我的计划是得到一个线方程,这样我就可以测试后续点到最小二乘线的距离。
谢谢
给定以下二维点:
213 106.8
214 189
214 293.4
213 324
223 414
我想找到一个穿过它们的最小二乘垂直轴线的方程。我的计划是得到一个线方程,这样我就可以测试后续点到最小二乘线的距离。
谢谢
严格来说,没有为垂直线定义最小二乘拟合(因为每个点的误差是平行于 Y 轴测量的)。
但是,如果交换 X 和 Y,则可以找到具有最佳最小二乘拟合的水平线。它可以简单地计算 Y 坐标值的平均值:
水平线的方程很简单,y = b。
每个点 (x i , y i ) 的误差为 (y i - b)。
误差平方和为 SSE = sum( (y i - b) 2 )。我们希望找到最小化 SSE 的 b 值。取 SSE 关于 b 的偏导数并将其设置为零:
总和(-2(y i - b)) = 0
简化,
总和(y i ) - Nb = 0
和
b = 总和(y i )/N
因此,在您的情况下,平均 X 坐标可为您提供最适合您的点的垂直线的 X 坐标。
最通用的解决方案是应用总最小二乘法
这找到 (a, b, d) 以最小化垂直距离平方和 (ax+by=d (a^2+b^2=1): |ax + by – d|)。这可以处理垂直线,例如0x+1y=0。
但是,这有点难以实现,因此@Jim Lewis 提供的解决方案可能更好,更实用..
如果您希望最佳拟合线是垂直的(即 x = 常数),则 y 值无关紧要。只需取 x 值平方的均值的平方根。