最小二乘法的基本原理和多项式拟合一 最小二乘法的基本原理从整体上考虑近似函数)(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 ir2=从几何意义上讲,就是寻求与给定点),(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)[ ] ∑ = = - mi ii y x p 02 min ) (当拟合函数为多项式时,称为多项式拟合,满足式(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,)(000==∑∑∑===+ (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 r222)(由式(2)可得∑∑∑===-=m i n k 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数为T a a R 10+=⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡445.200295.56583.93253.2453.245710a a解方程组得921.0,572.7010==a a故得R 与T 的拟合直线为T R 921.0572.70+=利用上述关系式,可以预测不同温度时铜导线的电阻值。
例如,由R=0得T=-242.5,即预测温度 T=-242.5℃时,铜导线无电阻。
6-2例2 例2 已知实验数据如下表解 设拟合曲线方程为2210x a x a a y ++=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡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 mi n i m i n i mi n i m i i m i i mi nimi i y x y x y a a a x x x x x x x x m 00010020101020001(7) 有非零解。
式(7)可写为nj a xn k k mi k j i,,1,0,0)(0==∑∑==+ (8)将式(8)中第j 个方程乘以j a (j=0,1,…,n),然后将新得到的n+1个方程左右两端分别 相加,得∑∑∑===+=⎥⎦⎤⎢⎣⎡nj n k k m i k j i j a x a 0000)( 因为[]∑∑∑∑∑∑∑∑∑∑=======+===+===⎥⎦⎤⎢⎣⎡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)的最小二乘拟合多项式。
证 只需证明,对任意一组数n b b b ,,1,0 组成的多项式∑==nk kk n x b x Q 0)(,恒有[][]∑∑==-≥-mi i i nm i iiny x py x Q 022)()(即可。
[][][][][][]()∑∑∑∑∑∑∑∑∑∑==========⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛--=⎥⎦⎤⎢⎣⎡-⋅-+≥-⋅-+-=---n j mi j i n k i ki k j j m i nj n k i k i k ji j j i i n mi i n i n m i i n i n mi ii n m i 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 nm i iiny x py 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次多项式拟合,条件数都不太大,都可以得到满意的结果。
④在实际应用中还可以利用正交多项式求拟合多项式。
一种方法是构造离散正交多项式;另一种方法是利用切比雪夫节点求出函数值后再使用正交多项式。
这两种方法都使正规方程 组的系数矩阵为对角矩阵,从而避免了正规方程组的病态。
我们只介绍第一种,见第三节。
例如 m=19,0x =328,h=1, 1x =0x +ih ,i=0,1,…,19,即节点 分布在[328,347],作二次多项式拟合时① 直接用i x 构造正规方程组系数矩阵0A ,计算可得16021025.2)(⨯=A cond严重病态,拟合结果完全不能用。