当前位置:文档之家› 最佳平方逼近与最小二乘拟合

最佳平方逼近与最小二乘拟合

最佳平方逼近与最小二乘拟合——两者的区别与联系 函数逼近是用一个多项式无限接近原函数,而拟合是将函数中的元素联系起来。

也就是说,最佳平方逼近是针对函数,最小二乘法是针对离散的点,二者在形式上基本一致。

另外,最小二乘拟合也称为离散型最佳平方逼近,两者的解法有很多相似之处。

一、 函数的最佳平方逼近 (一)最佳平方逼近函数的概念对[]b a C x f ,)(∈及[]b a C ,中的一个子集{}n span ϕϕϕφ,,,10⋯=,若存在φ∈)(*x S,使[]dx x S x f x S f Sf baS S ⎰-=-=-∈∈22222*)()()(infinf ρϕϕ,则称)(*x S 是)(x f 在子集[]b a C ,⊆φ中的最佳平方逼近函数。

(二)最佳平方逼近函数的解法为了求)(*x S ,由[]dxx S x f x S f Sf baS S ⎰-=-=-∈∈22222*)()()(infinf ρϕϕ可知,一般的最佳平方逼近问题等价于求多元函数dxx f x a x a a a I banj j j n 2010)()()(),,,(⎰∑⎥⎦⎤⎢⎣⎡-=⋯=ϕρ的最小值问题。

由于),,,(10n a a a I ⋯是关于n a a a ,,,10⋯的二次函数,利用多元函数极值的必要条件),,1,0(0n k a Ik⋯==∂∂,即n),,1,0(0)()()()(20⋯==⎥⎦⎤⎢⎣⎡-=∂∂⎰∑=k dx x x f x a x a Ik b a n j j j kϕϕρ,于是有()()),,1,0(,,0n k f a k j nj j k ⋯==∑=ϕϕϕ。

),,,,1(2n n x x x G G =()()),,1,0(,,0n k f a k j nj j k⋯==∑=ϕϕϕ是关于n 10,,,a a a ⋯的线性方程组,称其为法方程。

由于n ϕϕϕ,,,10⋯线性无关,故系数行列式()0,,,10≠⋯n G ϕϕϕ,于是方程组()()),,1,0(,,0n k f a k j nj j k⋯==∑=ϕϕϕ有唯一解),,1,0(*n k a a k k ⋯==,从而得到)()()(*0*0*x a x a x S n n ϕϕ+⋯+=。

)()()(*0*0*x a x a x S n n ϕϕ+⋯+=就是φ在)(x f 中的最佳平方逼近函数。

(三)最佳平方逼近函数所产生的误差若令)()(*x S x f -=δ,则平方误差为:∑=-=-=--=nk k k f a ff S f f S f S f 0*22***22),(),(),(),(ϕδ。

取[]1,0)(,1)(,)(C x f x x x kk ∈≡=ρϕ,即要在n H 中求n 次最佳平方逼近多项式)()()(*0*0*x a x a x S n n ϕϕ+⋯+= ,此时11),(1++==⎰+j k dx x j k k j ϕϕ,()kk k d dx x x f f ≡=⎰1)(,ϕ若用H 表示行列式对应的矩阵,则Tn T n d d d d a a a a ),,,(,),,,(1010 ==),,1,0(),(n k x f d kk ==d Ha =),,1,0(*n k a a kk ⋯==⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛+++++=121211121312111211n n n n n H,H 称为Hilbert 矩阵,记其中则方程的解即为所求。

注意:最佳平方逼近误差越小说明函数空间Hn 对f(x)的逼近效果越好。

二、 曲线拟合的最小二乘法 (一)最小二乘逼近的概念对于给定的一组数据()),,1,0(,m i y x i i ⋯=,要求在函数空间{}n span ϕϕϕφ,,,10⋯=中找一个函数)(*x S y =,使误差平方和[][]∑∑∑==∈=-=-==mi ii mi x S ii mi iy x S y x S12)(2*222)(m in)(ϕδδ,这里)()()()()(1100m n x a x a x a x S n n <+⋯++=ϕϕϕ。

这就是一般的最小二乘逼近,用几何语言来说,就称为曲线拟合的最小二乘法。

(二)最小二乘法的解法用最小二乘法求拟合曲线的问题,就是在形如:)()()()()(1100m n x a x a x a x S n n <+⋯++=ϕϕϕ的)(x S 中求一函数)(*x S y =,使[]∑=-=mi i i i x f x S x 0222)()()(ωδ取得最小。

它转化为求多元函数20010)()()(),,,(⎥⎦⎤⎢⎣⎡-=⋯∑∑==n j i i j j mi i n x f x a x a a a I ϕω的极小点),,,(**1*0n a a a ⋯问题。

由求多元函数极值的必要条件,有),,1,0(0)()()()(200n k x x f x a x a Ii k m i i n j i j j i k ⋯==⎥⎦⎤⎢⎣⎡-=∂∂∑∑==ϕϕω。

若记()∑==mi i k i j i k j x x x 0)()()(,ϕϕωϕϕ,则()),1,0()()()(,0n k d x x f x f kmi i kiik ,⋯=≡=∑=ϕωϕ,可改写为()),1,0(,0n k d akjnj jk ,⋯==∑=ϕϕ,此方程叫法方程。

它也可写成矩阵形式d =Ga 。

其中T n d d d d ),,,(,)a ,,a ,(a a 10Tn 10⋯=⋯=()()()()()()()()()⎪⎪⎪⎪⎪⎭⎫⎝⎛=n n n n n n G ϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕ,,,,,,,,,101110101000,由于nϕϕϕ,,,10 线性无关,故0≠G ,方程组()),1,0(,0n k d akjnj jk, ==∑=ϕϕ存在唯一的解),,1,0(*n k a a kk ==,从而得到函数)(x f 的最小二乘解为)()()(*0*0*x a x a x S n n ϕϕ+⋯+=。

可以证明,这样得到的)(*x S 对于任何形如)()()()()(1100m n x a x a x a x S n n <+⋯++=ϕϕϕ的)(x S ,都有[][]∑∑==-≤-mi ii i m i i i i x f x S x x f x S x 02*2*)()()()()()(ωω,故)(*x S 确是所求最小二乘解。

(三)最小二乘逼近函数所产生的误差 误差平方和:[][]∑∑∑==∈=-=-==mi iimi x S ii mi iy x S y x S12)(2*222)(m in)(ϕδδ注:误差平方越小,说明拟合效果越好。

例题3.5解:在坐标纸上标出所给数据,如图所示。

从图可看到,各点分布在一条直线附近,故可选择线性函数。

令x a a S 101)x (+=,这里,)(,1)(,1,4m 10x x x n ====ϕϕ故()()()()()().5.145,47,74,22,84i 140i 042i114i 01104i 00===========∑∑∑∑∑=====i ii i i i ii i i fx f f f xx ωϕωϕωϕϕωϕϕϕϕωϕϕ,,,,,,由())n ,1,0(,n,⋯==∑=k d a k j j j kϕϕ得方程组⎩⎨⎧=+=+5.14574224722a 81010a a a 解得13.1,77.2a 10==a于是所求拟合曲线为x x S 13.177.2)(1*+=例题3.6在某化学反应过程中,根据实验所得生产物的质量分数与时间的关系如下表所示,求质量分数y 与时间t 的拟合曲线) t ( F =y解:将所给数据标在坐标纸上,如图所示。

可以看到,质量分数开始时增加较快,后来逐渐减慢,到一定时间就基本稳定在一个水平上,即当∞→t 时,y 趋于某个数,故) t ( F =y 有一水平渐近线。

另外,t=0时,反应未开始,质量分数为零。

根据这些特点,可设想) t ( F =y 是双曲线型b/t +a =1/y ,即) b +t /(at =y 。

它与给定豆数据的规律大致符合。

为了确定a ,b ,令t x y y /1,/1==,于是可用x 的线性函数bxa x S +=)(1拟合数据()i i i i y x i y ,)16,2,1(,x ,,⋯=,由原始数据()i i y t ,根据变换计算出来,解方程组⎪⎩⎪⎨⎧⨯=+⨯=+331052886.058435.138073.3108372.138073.3a 16b a b 得6822.161,6621.80a ==b从而得到)()6822.1616621.80/(y )1(t F t t =+= =其误差为)16,2,1()()1()1(i,⋯=-=i t F y i i δ由上图,符合给定数据的函数还可选为指数形式。

此时可令拟合曲线如t b ae /y =。

显然,当∞→t 时,a →y ;当0→t 时,若0b <,则0y →,且t 增加时y 增加。

这些与给出数据规律相同。

为了确定a 与b ,对上式两端取对数,得t b a y /ln ln +=。

令1/t x lna,A lny,yˆ===,于是由()i i y t ,计算出()i i yx ˆ,,拟合数据()i i y ,x 的曲线仍为bx A x S +=)(1。

上述方法计算出.05671 -b 48072.4 -==,A ,从而 3103253.11-⨯==A e a ,最后求得)(103253.11)2(0567.13t F e y t =⨯=--,误差为),,,1621()()2()2(⋯=-=i t F y i i i δ3)2()2(3)1()1(10277.0max 10568.0max -∞-∞⨯==⨯==iiiiδδδδ均方误差为()()312)2(2)2(312)1(2)1(1034.01019.1-=-=⨯==⨯==∑∑mi imi iδδδδ由此可知,2)2(δ及∞)2(δ都比较小,所以用)()2(t F y =作拟合曲线比较好。

补充例题:用多项式拟合5个点解:2210x a x a a ++其中2210)()(1)(x x x x x ===ϕϕϕ()()()()()()()()()⎪⎪⎪⎪⎭⎫ ⎝⎛+=⎪⎪⎪⎭⎫⎝⎛∑∑∑∑∑∑∑∑4323222212022111012010001,,,,,,,,,i iii i iii xx x x x x xx m ϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕ 即:()()()⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫ ⎝⎛210210,,,3828.15625.1875.15625.1875.15.2875.15.25ϕϕϕf f f a a a⎪⎩⎪⎨⎧===2114.15726.01214.0210a a a最终所求多项式与给定五个点的图象如下。

相关主题