logo资料库

最小二乘法的基本原理和多项式拟合matlab实现.doc

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
最小二乘法的基本原理和多项式拟合 一、最小二乘法的基本原理 从整体上考虑近似函数 )(xp 同所给数据点 ( xp  y )  r i r i ( , i yx i ) (i=0,1,…,m)误差 i i (i=0,1,…,m) 的大小,常用的方法有以下三种:一是误差  ( xp i )  y i (i=0,1,…,m)绝对值的最大值 max r imi 0 ,即误差 向量 r  ( , rr 0  1 , mr T ) 的∞—范数;二是误差绝对值的和 m  ir 0 ,即误差向量 r 的 1—  i 范数;三是误差平方和 m  i  0 2 ir 的算术平方根,即误差向量 r 的 2—范数;前两种 方法简单、自然,但不便于微分运算 ,后一种方法相当于考虑 2—范数的平方, 因此在曲线拟合中常采用误差平方和 体大小。 m  i  0 2 ir 来 度量误差 ir (i=0,1,…,m)的整 数据拟合的具体作法是:对给定数据 ( , i yx i ) (i=0,1,…,m),在取定的函 数类  中,求 )(xp ,使误差 r i  ( xp i )  y i (i=0,1,…,m)的平方和最小,即 m  i  0 2 ir m  i  0  ( xp i )  y i  2 min  从几何意义上讲,就是寻求与给定点 (i=0,1,…,m)的距离平方和为最 (图 6-1)。函数 )(xp 称为拟合函数或最小二乘解,求拟合 i 小的曲线 y  )(xp ( , i yx ) 函数 p(x)的方法称为曲线拟合的最小二乘法。 在曲线拟合中,函数类  可有不同的选取方法. 6—1
二 多项式拟合 假设给定数据点 ( , i yx i ) (i=0,1,…,m), 为所有次数不超过 ( mnn  的多项式构 ) 成的函数类,现求一 )( xp n n   k  0 k xa k  ,使得 I m   i  0  ( xp n i )  y i 2   n m   i  0 k  0    xa k k i  y i 2    min 当拟合函数为多项式时,称为多项式拟合,满足式(1)的 (1) )(xpn 称为最小二乘 拟合多项式。特别地,当 n=1 时,称为线性拟合或直线拟合。 显然 I  n m   ( i  0 k  0 xa k k i  y i 2 ) aa , 0 , 1 na 的多元函数,因此上述问题即为求 I  , ( aaI 1 0 ,  na ) 的极值 问题。 为 由多元函数求极值的必要条件,得 I  a  j  2 即 n m   ( i  0 k  0 xa k k i  j ) xy i i  ,0 j  ,1,0 , n j yx i i , j  ,1,0 , n (2) (3) n  k  0 ( m  i  0 kj  x i ) a k  m  i  0 (3)是关于 aa , 0 , 1 na 的线性方程组,用矩阵表示为             m  1 i m x i   0  x m i  0 i 2 i m x 0 i  m   x 0  x m  i n i  n i i  0 1   m  i  0 n 2 i m 0   i  m i  0 x n i 1  n i x  x           a 0 a 1  a n                        m   i  m i  0 y i i 0 yx i  n yx i i m  i  0           (4) 式(3)或式(4)称为正规方程组或法方程组。 可以证明,方程组(4)的系数矩阵是一个对称正定矩阵,故存在唯一解。 从式(4)中解出 ka (k=0,1,…,n),从而可得多项式
)( xp n  n  k  0 k xa k (5) 可以证明,式(5)中的 )(xpn 满足式(1),即 )(xpn 为所求的拟合多项式。我 m  i  0 们把  ( xp n i )  y i 2  称为最小二乘拟合多项式 )(xpn 的平方误差,记作 r 2 2  m  i  0  ( xp n i )  y i 2  由式(2)可得 r 2 2  m  i  0 y 2 i  n m   a ( k k  0 i  0 k yx i i ) (6) 多项式拟合的一般方法可归纳为以下几步: (1) 由已知数据画出函数粗略的图形——散点图,确定拟合多项式的次数 n; (2) 列表计算 m  i  0 j x i ( j  ,1,0  )2, n 和 m  i  0 j yx i i ( j  ,1,0  )2, n ; (3) 写出正规方程组,求出 aa , 0 , 1 na ; )( xp n  n  k xa k (4) 写出拟合多项式 在实际应用中, mn  或 mn  ;当 mn  时所得的拟合多项式就是拉格朗日或牛 。 0  k 顿插值多项式。 例 1 测得铜导线在温度 iT (℃)时的电阻 (iR 如表 6-1,求电阻 R 与温度 T ) 的近似函数关系。 i 0 1 2 3 4 5 6 iT (℃) (iR ) 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,拟合函 数为 列表如下 aR  0  Ta 1
i 0 1 2 3 4 5 6  iT 19.1 25.0 30.1 36.0 40.0 45.1 50.0 245.3 iR 76.30 77.80 79.25 80.80 82.35 83.90 85.10 565.5 2 iT 364.81 625.00 906.01 i RT i 1457.330 1945.000 2385.425 1296.00 2908.800 1600.00 3294.000 2034.01 3783.890 2500.00 4255.000 9325.83 20029.445 正规方程组为 解方程组得 7 3.245    3.245   83. 9325  a 0 a 1          5.565   445.  20029 a 0  .70 572 , a 1  .0 921 故得 R 与 T 的拟合直线为 R  572.70  921.0 T 利用上述关系式,可以预测不同温度时铜导线的电阻值。例如,由 R=0 得 T=-242.5,即预测温度 T=-242.5℃时,铜导线无电阻。 例 2 例 2 已知实验数据如下表 6-2 i ix 0 1 1 3 2 4 3 5 4 6 5 7 6 8 7 9 8 10
iy 10 5 4 2 1 1 2 3 4 试用最小二乘法求它的二次拟合多项式。 解 设拟合曲线方程为 y  a 0  xaxa 2 1  2 列表如下 I 0 1 2 3 4 5 6 7 8  ix 1 3 4 5 6 7 8 9 10 53 iy 10 5 4 2 1 1 2 3 4 32 2 ix 1 9 16 25 36 49 64 81 3 ix 1 27 64 125 216 343 512 729 100 381 1000 3017 4 ix 1 81 256 625 1296 2401 4096 6561 10000 i yx i i yx 2 i 10 15 16 10 6 7 16 27 40 10 45 64 50 36 49 128 243 400 25317 147 1025 得正规方程组 解得 故拟合多项式为 9   52   381  52 381 3017 381 3017 25317      a 0 a 1 a 2            32   147   1025       a 0  .13 4597 , a 1  .3 6053 a 2  .0 2676 y  .13 4597  .3 6053  .0 2676 x 2 *三 最小二乘拟合多项式的存在唯一性 定理 1 设节点 , xx 0  互异,则法方程组(4)的解存在唯一。 1 nx , , 证 由克莱姆法则,只需证明方程组(4)的系数矩阵非奇异即可。 用反证法,设方程组(4)的系数矩阵奇异,则其所对应的齐次方程组
            m  1 i m x i   0  x m i  0 i 2 i m x 0 i  m   x 0  x m  i n i m 0   i  m i  0 x n i 1  n i x  x           a 0 a 1  a n                        m   i  m i  0 y i i 0 yx i  n yx i i m  i  0  n i i  0 1   m  i  0 n 2 i 有非零解。式(7)可写为 n m   ( k  0 i  0 kj  x i ) a k  ,0 j  ,1,0 , n           (7) (8) 将式(8)中第 j 个方程乘以 ja (j=0,1,…,n),然后将新得到的 n+1 个方程左 右两端分别 相加,得 因为 n m    kj  x i a ( j j 0  0  i 0  n    k  0) a  k  0 n n m    a ( j k  0 i  0    j  0 kj  x i ) a k    m  i  0 n n  j  0 k  0 xaa j k i kj   m  i  0 ( n  j  0 j xa j i )( n  k  0 xa k k i )   ( xp n i 2  ) m  i  0 其中 所以 )( xp n  n  k  0 k xa k ( n xp ) i 0 (i=0,1,…,m) )(xpn 是次数不超过 n 的多项式,它有 m+1>n 个相异零点,由代数基本定理,必 a 0  a 1   na  0 须有 ,与齐次方程组有非零解的假设矛盾。因此正规方程组(4) 必有唯一解 。定理 2 设 ,1,0  是正规方程组(4)的解,则 aa na , )( xp n  是满足式(1)的最小二乘拟合多项式。 n  k  0 k xa k 证 只需证明,对任意一组数 ,1,0  组成的多项式 bb nb , )( xQ n  m  i  0  ( xQ n i )  y i 2    ( xp n i )  y i 2  m  i  0 n  k  0 k xb k ,恒有
 ( xQ n i )  ( xp n i    ) ( xp n i )  y i  n i     k i 即可。  ( xQ n i )  y i 2   m  i  0 m  i  0  ( xp n i )  y i 2   m  i  0  ( xQ n i )  ( xp n i 2  )  2 m  0 m n   ( b  20         因为 ka (k=0,1,…,n)是正规方程组(4)的解,所以满足式(2),因此有       b      ) xa j       xa k xa k      2    i  0 i  0 a  x y y  0  0  0  0 k i j i j i k i m  n j i n k j j j j  ( xQ n i )  y i 2   m  i  0 m  i  0  ( xp n i )  y i 2   0 )(xpn 为最小二乘拟合多项式。 故 *四 多项式拟合中克服正规方程组的病态 在多项式拟合中,当拟合多项式的次数较高时,其正规方程组往往是病态的。而 且 ①正规方程组系数矩阵的阶数越高,病态越严重; ②拟合节点分布的区间 ③ ix (i=0,1,…,m)的数量级相差越大,病态越严重。 x ,0 偏离原点越远,病态越严重; mx 为了克服以上缺点,一般采用以下措施: ①尽量少作高次拟合多项式,而作不同的分段低次拟合; ②不使用原始节点作拟合,将节点分布区间作平移,使新的节点 ix 关于原 点对 称,可大大降低正规方程组的条件数,从而减低病态程度。 平移公式为: x i  x i  x 0 x m ,  2 i  ,1,0 , m (9) ③对平移后的节点 ix (i=0,1,…,m),再作压缩或扩张处理: x  i xp i , i  ,1,0 , m (10) p  2 r ( m  )1 其中 m  i  0 ( ix r 2) ,(r 是拟合次数) (11) 经 过 这 样 调 整 可 以 使  ix 的 数 量 级 不 太 大 也 不 太 小 , 特 别 对 于 等 距 节 点
xi  x 0  ih ( i  ,1,0 , m ) ,作式(10)和式(11)两项变换后,其正规方程 组的系数矩阵设 为 A,则对 1~4 次多项式拟合,条件数都不太大,都可以得到 满意的结果。 变换后的条件数上限表如下: 拟合次数 cond ) (2 A 1 =1 2 <9.9 3 <50.3 4 <435 ④在实际应用中还可以利用正交多项式求拟合多项式。一种方法是构造离散正交 多项式;另一种方法是利用切比雪夫节点求出函数值后再使用正交多项式。这两 种方法都使正规方程 组的系数矩阵为对角矩阵,从而避免了正规方程组的病态。 我们只介绍第一种,见第三节。 例如 m=19, 0x =328,h=1, 1x = 0x +ih,i=0,1,…,19,即节点 分布在[328,347], 作二次多项式拟合时 ① 直接用 ix 构造正规方程组系数矩阵 0A ,计算可得 cond ( A 0 ) 2 25.2  10 16 严重病态,拟合结果完全不能用。 ② 作平移变换 x i  x i  328 347 ,  2 i  ,1,0 19, 用 ix 构造正规方程组系数矩阵 1A ,计算可得 cond ( A 1 ) 2 .4 483868  10 16 cond ( 0 2 A ) 比 降低了 13 个数量级,病态显著改善,拟合效果较好。 ③ 取压缩因子  .0 1498 20 ix ( 4 ) p  4 19  i 0 作压缩变换 x  i xp i , i  ,1,0 19,  ix 构造正规方程组系数矩阵 2A ,计算可得 用 cond ( 2 A ) 2 839.6
分享到:
收藏