最小二乘法
插值法在整个区间上不能高次插值,误差过大,而分段插值光滑性有限
拟合方法能够回避插值方法的不足,可以利用原函数更多的信息,精度更好
与分段插值相比,都是利用更多的节点,但是拟合曲线的光滑性要远远好处插值的结果
对于给定数据(xi,yi),i=1,2,…,m,在函数空间Φ(x)中存在唯一函数:
φ∗(x)=a0∗φ0(x)+a1∗φ1(x)+⋯+an∗φn(x)
使残差平方和最小
最小二乘解的系数a0*,a1*,…,an*可通过解正则方程组
a0(φk,φ0)+a1(φk,φ1)+⋯+an(φk,φn)=(φk,f)k=0,1,…,n(1)
求得。用最小二乘解φ*(x)来拟合数据(xi,yi),i=1,2,…,m的平方误差为
∥δ∥22=(y,y)−(φ∗,φ∗)
引进向量f=(f(xi))Tφ0=(1,1,1,1)T,φ1=(xi)T,φ2=(xi2)T,以此类推
向量内积
内积时一定要带权函数,例如
(φk,φi)=j=0∑mρ(xj)φk(xj)φi(xj)
(f,φi)=j=0∑mρ(xj)yjφi(xj)
用加权最小二乘法进行拟合是对于观测数据(xi,f(xi)),i=1,2,…,m要求在某函数类Φ(x)中寻求一个函数φ(x),使
i=1∑mωiεi2=i=1∑mωi[φ(xi)−f(xi)]2
为最小。式中ωi为一组正数,反映数据(xi,f(xi))特性的权,此时正则方程组仍如式(1),只是其中
{(φk,φj)=∑i=1mωiφk(xi)φj(xi)(φk,f)=∑i=1mωiφk(xi)f(xi)
线性拟合
设已知数据点(xi,yi),i=1,2,…,m分布大致为一条直线,利用最小二乘原理,构造拟合直线y=a0+a1x,该直线不是通过所有数据点(xi,yi),而是使如下残差平方和最小
i=1∑m[yi−(a0+a1xi)]2
此时正则方程组成为
(∑i=1m1∑i=1mxi∑i=1mxi∑i=1mxi2)(a0a1)=(∑i=1myi∑i=1mxiyi)
二次拟合
构造拟合曲线为y=a0+a1x+a2x2,有
⎣⎢⎡φ0φ0φ1φ0φ2φ0φ0φ1φ1φ1φ2φ1φ0φ2φ1φ2φ2φ2⎦⎥⎤⎣⎢⎡a0a1a2⎦⎥⎤=⎣⎢⎡fφ0fφ1fφ2⎦⎥⎤
有的拟合函数y=f(x)可通过变换化为线性模型
xi |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
yi |
15.3 |
20.5 |
27.4 |
36.6 |
49.1 |
65.6 |
87.8 |
117.6 |
zi |
2.72785 |
3.02042 |
3.31054 |
3.60005 |
3.89386 |
4.18358 |
4.47506 |
4.76729 |
S(x)=aebx两边取对数
解:设z=lny,则z=A+bx,其中A=lna,由zi=lnyi得对z(x)作线性拟合曲线
取φ0(x)=1,φ1(x)=x,权函数ρ(x)=1,则φ0=(1,1,1,1,1,1,1,1,1)T,φ1=(1,2,3,4,5,6,7,8)T,
z=(2.72785,3.02042,3.31054,3.60005,3.89386,4.18358,4.47506,4.76729)T,
得正则方程组
{8A+36b=29.9786536A+204b=147.13503
解得A*=2.43686,b*=0.29122,于是有
a∗=eA∗=11.43707
拟合曲线为:
φ∗(x)=11.43707e0.29122x
用最小二乘法求方程组的近似解
⎩⎪⎪⎪⎨⎪⎪⎪⎧3x−2y=12x+y=2x−4y=−13x+2y=−3
解:设
G(x,y)=(3x−2y−1)2+(2x+y−2)2+(x−4y+1)2+(3x+2y+3)2
令
∂x∂G=∂y∂G=0
有
{6(3x−2y−1)+4(2x+y−2)+2(x−4y+1)+6(3x+2y+3)=0−4(3x−2y−1)+2(2x+y−2)−8(x−4y+1)+4(3x+2y+3)=0
即
{23x−2y=−3−2x+25y=−2
解得:x=-0.138354,y=-0.091068