通常意义上的最小二乘可以参考下面的文章:
https://blog.csdn.net/qq_16587307/article/details/81317253
http://mathworld.wolfram.com/LeastSquaresFitting.html
通常意义的最小二乘参考下面的图片的左图(vertical offsets):
在二维平面下如果要进行线性拟合,要找到一条直线,使得这些离散的点到这条直线的竖直偏差的平方和最小。
这是经典的最小二乘法,也是被大力推广的最小二乘法,也是强烈建议使用的方法。
今天讨论另外一种最小二乘(上图perpendicular offsets):
在二维平面下如果要进行线性拟合,要找到一条直线,使得这些离散的点到这条直线的垂直偏差的平方和最小。
求一个点到一条直线的距离,很容易搜的到,这里不做证明,直接给出结论:
设直线 L 的方程为Ax+By+C=0,点 P 的坐标为(Xo,Yo),则点 P 到直线 L 的距离为:
这种不是常用的perpendicular offsets的最小二乘法,它的参考文献如下,给出了非常详细的推导过程:
http://mathworld.wolfram.com/LeastSquaresFittingPerpendicularOffsets.html
不过,这篇文章的公式(16)可以进一步等价为下面的式子:
系数b就可以通过上式求得。其中表示的方差,表示的方差,表示,的协方差。
定义,因此根据一元二次方程根的求解方法得到(与vertical offsets是不一样的):
我们可以发现这种最小二乘法方式下的系数a求出来的结果和vertical offsets结果是一样的:
文献说参数b与vertical offsets的显得很笨拙,且参数维度增加无法进一步拓展。而传统的vertical offsets这种最小二乘法可以进一步拓展。
不过,文献里也说平面直线拟合的竖直偏差-最小二乘得出的直线与垂直偏差-最小二乘的直线相差无几。
感兴趣的,可以自己通过matlab或python画下图比较下两条曲线啥样子。
至于哪个结果更好,这个应当是仁者见仁智者见智的。因为它们本身是裁判,两个裁判的裁判标准有些不一样,没法说哪个好哪个差。