第一节 最小二乘法的基本原理和多项式拟合
一 最小二乘法的基本原理
从整体上考虑近似函数
同所给数据点
(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
已知实验数据如下表
|
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次多项式,正是我们要求的拟合多项式。