最小二乘法的基本原理和多项式拟合
转自:http://blog.csdn.net/geggegeda/article/details/4007005最小二乘法的基本原理和多项式拟合一 最小二乘法的基本原理从整体上考虑近似函数 同所给数据点 (i=0,1,…,m)误差 (i=0,1,…,m)的大小,常用的方法有以下三种:一是误差 (i=0,1,…,m)绝对值的最大值 ,即误差 向量 的∞—范数;二是误差绝
转自:http://blog.csdn.net/geggegeda/article/details/4007005
最小二乘法的基本原理和多项式拟合
一 最小二乘法的基本原理
从整体上考虑近似函数 同所给数据点 (i=0,1,…,m)误差 (i=0,1,…,m)的大小,常用的方法有以下三种:一是误差 (i=0,1,…,m)绝对值的最大值 ,即误差 向量 的∞—范数;二是误差绝对值的和,即误差向量r的1—范数;三是误差平方和 的算术平方根,即误差向量r的2—范数;前两种方法简单、自然,但不便于微分运算 ,后一种方法相当于考虑 2—范数的平方,因此在曲线拟合中常采用误差平方和 来 度量误差 (i=0,1,…,m)的整体大小。
数据拟合的具体作法是:对给定数据 (i=0,1,…,m),在取定的函数类 中,求 ,使误差(i=0,1,…,m)的平方和最小,即
=
从几何意义上讲,就是寻求与给定点 (i=0,1,…,m)的距离平方和为最小的曲线 (图6-1)。函数 称为拟合 函数或最小二乘解,求拟合函数 的方法称为曲线拟合的最小二乘法。
在曲线拟合中,函数类 可有不同的选取方法.
6—1
二 多项式拟合
假设给定数据点 (i=0,1,…,m), 为所有次数不超过 的多项式构成的函数类,现求一 ,使得
(1)
当拟合函数为多项式时,称为多项式拟合,满足式(1)的 称为最小二乘拟合多项式。特别地,当n=1时,称为线性拟合或直线拟合。
显然
为 的多元函数,因此上述问题即为求 的极值 问题。由多元函数求极值的必要条件,得
(2)
即
(3)
(3)是关于 的线性方程组,用矩阵表示为
(4)
式(3)或式(4)称为正规方程组或法方程组。
可以证明,方程组(4)的系数矩阵是一个对称正定矩阵,故存在唯一解。从式(4)中解出(k=0,1,…,n),从而可得多项式
(5)
可以证明,式(5)中的 满足式(1),即 为所求的拟合多项式。我们把 称为最小二乘拟合多项式的平方误差,记作
由式(2)可得
(6)
多项式拟合的一般方法可归纳为以下几步:
(1) 由已知数据画出函数粗略的图形——散点图,确定拟合多项式的次数n;
(2) 列表计算 和 ;
(3) 写出正规方程组,求出 ;
(4) 写出拟合多项式 。
在实际应用中, 或 ;当 时所得的拟合多项式就是拉格朗日或牛顿插值多项式。
例1 测得铜导线在温度 (℃)时的电阻 如表6-1,求电阻R与温度 T的近似函数关系。
i | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
(℃) | 19.1 | 25.0 | 30.1 | 36.0 | 40.0 | 45.1 | 50.0 |
| 76.30 | 77.80 | 79.25 | 80.80 | 82.35 | 83.90 | 85.10 |
解 画出散点图(图6-2),可见测得的数据接近一条直线,故取n=1,拟合函数为
列表如下
i |
|
|
|
|
0 | 19.1 | 76.30 | 364.81 | 1457.330 |
1 | 25.0 | 77.80 | 625.00 | 1945.000 |
2 | 30.1 | 79.25 | 906.01 | 2385.425 |
3 | 36.0 | 80.80 | 1296.00 | 2908.800 |
4 | 40.0 | 82.35 | 1600.00 | 3294.000 |
5 | 45.1 | 83.90 | 2034.01 | 3783.890 |
6 | 50.0 | 85.10 | 2500.00 | 4255.000 |
| 245.3 | 565.5 | 9325.83 | 20029.445 |
正规方程组为
解方程组得
故得R与T的拟合直线为
利用上述关系式,可以预测不同温度时铜导线的电阻值。例如,由R=0得T=-242.5,即预测温度T=-242.5℃时,铜导线无电阻。
6-2
例2 例2 已知实验数据如下表
i | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 10 | 5 | 4 | 2 | 1 | 1 | 2 | 3 | 4 |
试用最小二乘法求它的二次拟合多项式。
解 设拟合曲线方程为
列表如下
I |
|
|
|
|
|
|
|
0 | 1 | 10 | 1 | 1 | 1 | 10 | 10 |
1 | 3 | 5 | 9 | 27 | 81 | 15 | 45 |
2 | 4 | 4 | 16 | 64 | 256 | 16 | 64 |
3 | 5 | 2 | 25 | 125 | 625 | 10 | 50 |
4 | 6 | 1 | 36 | 216 | 1296 | 6 | 36 |
5 | 7 | 1 | 49 | 343 | 2401 | 7 | 49 |
6 | 8 | 2 | 64 | 512 | 4096 | 16 | 128 |
7 | 9 | 3 | 81 | 729 | 6561 | 27 | 243 |
8 | 10 | 4 | 100 | 1000 | 10000 | 40 | 400 |
| 53 | 32 | 381 | 3017 | 25317 | 147 | 1025 |
得正规方程组
解得
故拟合多项式为
*三 最小二乘拟合多项式的存在唯一性
定理1 设节点 互异,则法方程组(4)的解存在唯一。
证 由克莱姆法则,只需证明方程组(4)的系数矩阵非奇异即可。
用反证法,设方程组(4)的系数矩阵奇异,则其所对应的齐次方程组
(7)
有非零解。式(7)可写为
(8)
将式(8)中第j个方程乘以 (j=0,1,…,n),然后将新得到的n+1个方程左右两端分别 相加,得
因为
其中
所以
(i=0,1,…,m)
是次数不超过n的多项式,它有m+1>n个相异零点,由代数基本定理,必须有 ,与齐次方程组有非零解的假设矛盾。因此正规方程组(4)必有唯一解 。定理2 设 是正规方程组(4)的解,则 是满足式(1)的最小二乘拟合多项式。
证 只需证明,对任意一组数 组成的多项式 ,恒有
即可。
因为 (k=0,1,…,n)是正规方程组(4)的解,所以满足式(2),因此有
故 为最小二乘拟合多项式。
*四 多项式拟合中克服正规方程组的病态
在多项式拟合中,当拟合多项式的次数较高时,其正规方程组往往是病态的。而且
①正规方程组系数矩阵的阶数越高,病态越严重;
②拟合节点分布的区间 偏离原点越远,病态越严重;
③ (i=0,1,…,m)的数量级相差越大,病态越严重。
为了克服以上缺点,一般采用以下措施:
①尽量少作高次拟合多项式,而作不同的分段低次拟合;
②不使用原始节点作拟合,将节点分布区间作平移,使新的节点 关于原 点对称,可大大降低正规方程组的条件数,从而减低病态程度。
平移公式为:
(9)
③对平移后的节点 (i=0,1,…,m),再作压缩或扩张处理:
(10)
其中 ,(r是拟合次数) (11)
经过这样调整可以使 的数量级不太大也不太小,特别对于等距节点 ,作式(10)和式(11)两项变换后,其正规方程组的系数矩阵设 为A,则对1~4次多项式拟合,条件数都不太大,都可以得到满意的结果。
变换后的条件数上限表如下:
拟合次数 | 1 | 2 | 3 | 4 |
| =1 | <9.9 | <50.3 | <435 |
④在实际应用中还可以利用正交多项式求拟合多项式。一种方法是构造离散正交多项式;另一种方法是利用切比雪夫节点求出函数值后再使用正交多项式。这两种方法都使正规方程组的系数矩阵为对角矩阵,从而避免了正规方程组的病态。我们只介绍第一种,见第三节。
例如 m=19, =328,h=1, = +ih,i=0,1,…,19,即节点 分布在[328,347],作二次多项式拟合时
① 直接用 构造正规方程组系数矩阵 ,计算可得
严重病态,拟合结果完全不能用。
② 作平移变换
用 构造正规方程组系数矩阵 ,计算可得
比 降低了13个数量级,病态显著改善,拟合效果较好。
③ 取压缩因子
作压缩变换
用 构造正规方程组系数矩阵 ,计算可得
又比 降低了3个数量级,是良态的方程组,拟合效果十分理想。
如有必要,在得到的拟合多项式 中使用原来节点所对应的变量x,可写为
仍为一个关于x的n次多项式,正是我们要求的拟合多项式。
更多推荐
所有评论(0)