第一节 最小二乘法的基本原理和多项式拟合一 最小二乘法的基本原理从整体上考虑近似函数)(x p 同所给数据点),(i i y x (i=0,1,…,m)误差i i i y x p r -=)((i=0,1,…,m)的大小,常用的方法有以下三种:一是误差i i i y x p r -=)((i=0,1,…,m)绝对值的最大值im i r ≤≤0max ,即误差 向量T m r r r r ),,(10 =的∞—范数;二是误差绝对值的和∑=mi ir 0,即误差向量r 的1—范数;三是误差平方和∑=mi ir02的算术平方根,即误差向量r 的2—范数;前两种方法简单、自然,但不便于微分运算 ,后一种方法相当于考虑 2—范数的平方,因此在曲线拟合中常采用误差平方和∑=mi ir02来 度量误差i r (i=0,1,…,m)的整体大小。
数据拟合的具体作法是:对给定数据 ),(i i y x (i=0,1,…,m),在取定的函数类Φ中,求Φ∈)(x p ,使误差i i i y x p r -=)((i=0,1,…,m)的平方和最小,即∑=mi ir 02=[]∑==-mi i i y x p 02min)(从几何意义上讲,就是寻求与给定点),(i i y x (i=0,1,…,m)的距离平方和为最小的曲线)(x p y =(图6-1)。
函数)(x p 称为拟合 函数或最小二乘解,求拟合函数)(x p 的方法称为曲线拟合的最小二乘法。
在曲线拟合中,函数类Φ可有不同的选取方法.6—1二 多项式拟合假设给定数据点),(i i y x (i=0,1,…,m),Φ为所有次数不超过)(m n n ≤的多项式构成的函数类,现求一Φ∈=∑=nk k k n x a x p 0)(,使得[]min )(00202=⎪⎭⎫⎝⎛-=-=∑∑∑===mi mi n k i k i k i i n y x a y x p I (1)当拟合函数为多项式时,称为多项式拟合,满足式(1)的)(x p n 称为最小二乘拟合多项式。
特别地,当n=1时,称为线性拟合或直线拟合。
显然∑∑==-=m i nk i k i k y x a I 02)(为n a a a ,,10的多元函数,因此上述问题即为求),,(10n a a a I I =的极值 问题。
由多元函数求极值的必要条件,得n j x y x a a Im i j i nk i k i k j ,,1,0,0)(200 ==-=∂∂∑∑== (2)即nj y x a xn k mi i j i k mi k j i,,1,0,)(0==∑∑∑===+ (3)(3)是关于n a a a ,,10的线性方程组,用矩阵表示为⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡+∑∑∑∑∑∑∑∑∑∑∑=====+==+====m i i n i m i i i m i i n mi n i m i n i m i n i mi n i m i i m i imi n i m i i y x y x y a a a x x x x x x x x m 000100201001020001 (4) 式(3)或式(4)称为正规方程组或法方程组。
可以证明,方程组(4)的系数矩阵是一个对称正定矩阵,故存在唯一解。
从式(4)中解出k a (k=0,1,…,n),从而可得多项式∑==nk kk n x a x p 0)( (5)可以证明,式(5)中的)(x p n 满足式(1),即)(x p n 为所求的拟合多项式。
我们把[]∑=-mi i i ny x p2)(称为最小二乘拟合多项式)(x p n 的平方误差,记作[]∑=-=mi i i n y x p r0222)(由式(2)可得∑∑∑===-=mi nk mi i k i k i y x a y r222)( (6)多项式拟合的一般方法可归纳为以下几步:(1) 由已知数据画出函数粗略的图形——散点图,确定拟合多项式的次数n ; (2) 列表计算∑==mi j in j x)2,,1,0( 和∑==mi ij in j y x)2,,1,0( ;(3) 写出正规方程组,求出n a a a ,,10;(4) 写出拟合多项式∑==nk kk n x a x p 0)(。
在实际应用中,m n <或m n ≤;当m n =时所得的拟合多项式就是拉格朗日或牛顿插值多项式。
例1 测得铜导线在温度i T (℃)时的电阻)(Ωi R 如表6-1,求电阻R 与温度 T 的近似函数关系。
i 0 1 2 3 4 5 6i T (℃))(Ωi R解 画出散点图(图6-2),可见测得的数据接近一条直线,故取n=1,拟合函数为T a a R 10+=列表如下i i T i R 2i Ti i R T 0 1 2 3 4 5 6 ∑正规方程组为⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡445.200295.56583.93253.2453.245710a a解方程组得921.0,572.7010==a a故得R 与T 的拟合直线为T R 921.0572.70+=利用上述关系式,可以预测不同温度时铜导线的电阻值。
例如,由R=0得T=,即预测温度T=℃时,铜导线无电阻。
6-2i 0 1 23 4 5 6 7 8 i x1 3 4 5 6 7 8 9 10 iy10 5 4211234试用最小二乘法求它的二次拟合多项式。
解 设拟合曲线方程为2210x a x a a y ++= 列表如下I i x i y2i x3i x4i xi i y x i i y x 20 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 104 100 1000 10000 40 400 ∑53 32 381 3017 25317 147 1025得正规方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡102514732253173017381301738152381529210a a a解得2676.06053.3,4597.13210=-==a a a故拟合多项式为22676.06053.34597.13x y +-=*三 最小二乘拟合多项式的存在唯一性定理1 设节点n x x x ,,,10 互异,则法方程组(4)的解存在唯一。
证 由克莱姆法则,只需证明方程组(4)的系数矩阵非奇异即可。
用反证法,设方程组(4)的系数矩阵奇异,则其所对应的齐次方程组⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡+∑∑∑∑∑∑∑∑∑∑∑=====+==+====m i i n i m i i i m i i n mi n i m i n i m i n i mi n i m i i m i imi n i m i i y x y x y a a a x x x x x x x x m 000100201001020001 (7) 有非零解。
式(7)可写为nj a xn k k mi k j i ,,1,0,0)(0==∑∑==+ (8)将式(8)中第j 个方程乘以ja (j=0,1,…,n),然后将新得到的n+1个方程左右两端分别 相加,得 ∑∑∑===+=⎥⎦⎤⎢⎣⎡nj n k k m i k j i j a x a 00000)(因为[]∑∑∑∑∑∑∑∑∑∑=======+===+===⎥⎦⎤⎢⎣⎡m i m i mi in n k ki k n j j i j n j n k k j i j k nj n k k m i k j i j x p x a x a x a a a x a 00020000000)())(()( 其中: ∑==nk kk n x a x p 0)(所以0)(=i n x p (i=0,1,…,m))(x p n 是次数不超过n 的多项式,它有m+1>n 个相异零点,由代数基本定理,必须有010===n a a a ,与齐次方程组有非零解的假设矛盾。
因此正规方程组(4)必有唯一解 。
定理2 设n a a a ,,1,0 是正规方程组(4)的解,则∑==nk kk n x a x p 0)(是满足式(1)的最小二乘拟合多项式。
证 只需证明,对任意一组数nb b b ,,1,0 组成的多项式∑==nk kk n x b x Q 0)(,恒有[][]∑∑==-≥-mi i i n mi i i ny x p y x Q22)()(即可。
[][][][][][]()∑∑∑∑∑∑∑∑∑∑==========⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛--=⎥⎦⎤⎢⎣⎡-⋅-+≥-⋅-+-=---n j mi j i n k i k i k j j m i nj n k i ki k ji j j i i n mi i n i n m i i n i n mi ii n mi i i n x y x a a b y x a x a b y x p x p x Q x p x Q y x p y x Q 00000002222)(20)()()(2)()()()(因为k a (k=0,1,…,n)是正规方程组(4)的解,所以满足式(2),因此有[][]0)()(022≥---∑∑==mi i i n mi i i ny x p y x Q故)(x p n 为最小二乘拟合多项式。
*四 多项式拟合中克服正规方程组的病态在多项式拟合中,当拟合多项式的次数较高时,其正规方程组往往是病态的。
而且:①正规方程组系数矩阵的阶数越高,病态越严重;②拟合节点分布的区间[]m x x ,0偏离原点越远,病态越严重; ③i x (i=0,1,…,m)的数量级相差越大,病态越严重。
为了克服以上缺点,一般采用以下措施:①尽量少作高次拟合多项式,而作不同的分段低次拟合;②不使用原始节点作拟合,将节点分布区间作平移,使新的节点i x 关于原 点对称,可大大降低正规方程组的条件数,从而减低病态程度。
平移公式为:mi x x x x mi i ,,1,0,20 =+-= (9)③对平移后的节点i x (i=0,1,…,m),再作压缩或扩张处理:m i x p x i i ,,1,0,==* (10) 其中r mi rix m p 202)()1(∑=+=,(r 是拟合次数) (11)经过这样调整可以使*i x 的数量级不太大也不太小,特别对于等距节点),,1,0(0m i ih x x i =+=,作式(10)和式(11)两项变换后,其正规方程组的系数矩阵设 为A ,则对1~4次多项式拟合,条件数都不太大,都可以得到满意的结果。