多项式拟合

在网上看别人的心得

一 最小二乘法的基本原理

从整体上考虑近似函数 同所给数据点 (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)。函数 称为拟合 函数或最小二乘解,求拟合函数 的方法称为曲线拟合的最小二乘法。

在曲线拟合中,函数类 可有不同的选取方法.

61

二 多项式拟合

假设给定数据点 (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次多项式,正是我们要求的拟合多项式。

posted on 2008-10-09 10:35  HenryWen  阅读(1911)  评论(0编辑  收藏  举报

导航