假设现在有n对坐标系中的点
现在要做k阶多项式拟合,多项式函数如下
将已知的观测点数据代入上述公式得到如下n组等式:
......
最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小,如下所示:
代入公式可以得到
可以通过上述公式对
求偏导后,令其为0来求解所有a的值,得到下面的式子
......
将上述方程整理归纳得
......
将上述方程用矩阵表述
将上述方程分解,令
那么上面的矩阵计算可以简化为
,所以得到
网上的一些证明到这里基本就结束了,但我觉得根据逆矩阵的特性还可以优化的,在矩阵中AB的逆等于B的逆乘A的逆,如下
化简可以得到a为X的逆乘Y
计算出X的逆矩阵乘Y得到的就是多项式的系数,就能得到一个多项式了,曲线拟合就算完成了。
但是有没有发现,X的逆矩阵计算量很大,还要明白如何求解逆矩阵的,用程序去实现也有一定难度。
后面会介绍一种法则,求解多项式的系数,套公式即可。以及用C语言实现最小二乘法的2次曲线拟合算法。