《第2章最小二乘法.ppt》由会员分享,可在线阅读,更多相关《第2章最小二乘法.ppt(23页珍藏版)》请在第壹文秘上搜索。
1、1曲线拟合的最小二乘法曲线拟合的最小二乘法 1 引引 言言 在科学实验和生产实践中,经常要从一组实验数据 出发,寻求函数y=f(x)的一个近似表达式y=(x)(称为经验公式)。从几何上,就是希望根据给出的m个点 ,求曲线 y=f(x)的一条近似曲线 y=(x)。因此,这是一个曲线拟合的问题。多项式插值虽然在一定程度上解决了由函数表求函数的近似表达式问题,但用它来解决这里提出的问题,有明显缺陷。首先,实验提供的数据通常带有测试误差。如要求近似曲线y=(x)严格地通过所给的每个数据点 ,就会使曲线保持原有的测试误差。当个别数据的误差较大时,插值效果显然是不理想的。其次,由实验提供的数据往往较多(即
2、m较大),用插值法得到的近似表达式,明显地缺乏实用价值。),2,1)(,(miyxii),(yxii),(yxii2因此,怎样从给定的一组数据出发,在某个函数类中寻求一个“最好”的函数(x)来拟合这组数据,是一个值得讨论的问题。随着拟合效果“好”、“坏”标准的不同,解决此类问题的方法也不同。这里介绍一种最常用的曲线拟合方法,即最小二乘法。2 什么是最小二乘法什么是最小二乘法 如前所述,在一般情况下,我们不能要求近似曲线 y=f(x)严格地通过所有数据点 ,亦即不能要求所有拟合曲线函数在 xi 处的偏差(亦称残差)都严格地趋于零。但是,为了使近似曲线尽量反映所给数据点的变化趋势,要求 i 都较小
3、还是需要的。达到这一目标的途径很多,常见的有:(1)选取(x),使偏差绝对值之和最小,即),(yxiimin)(11miiimiiyx),2,1()(miyxiii(2.1)3 (2)选取(x),使偏差最大绝对值最小,即 (2.2)(3)选取(x),使偏差平方和最小,即 (2.3)为了方便计算、分析与应用,我们较多地根据“偏差平方和最小偏差平方和最小”的原则(称为最小二乘原则最小二乘原则)来选取拟合曲线y=(x)按最小二乘原则选择拟合曲线的方法,称为 最小二乘法最小二乘法。本章要着重讨论的线性最小二乘问题,其基本提法是:对于给定数据表 x x1 x2 xm y y1 y2 ym min)(ma
4、xmax11iimiimiyxmin)(2112imiimiiyx4要求在某个函数类 (其中nm)中寻求一个函数 (2.4)使*(x)满足条件 (2.5)式中 是函数类 中任一函数。满足关系式(2.5)的函数 ,称为上述最小二乘问题的最小二最小二乘解乘解。由上可知,用最小二乘法解决实际问题包含两个基本环节两个基本环节:先根据所给数据点的变化趋势与问题的实际背景确定函数类 ,即确定所具有的形式;然后按最小二乘法原则(2.3)求取最小二乘解 ,即确定其系数 。)(,),(),(10 xxxn)()()()(*1*1xaxaxaxnno)()()()(1100 xxxxnnaaa)(x)(x)(x)
5、,1,0(*nkakmiiimixiiyxyx121)(2*)(min)(5最小二乘解的求法最小二乘解的求法 由最小二乘解(2.4)应满足条件(2.5)知,点 是多元函数的极小点,从而 满足方程组 即),(*1*0naaa2110)(),(minokiikknyxaaaaS*1*0,naaa0kaS),2,1,0(nk0)(.)()()(11001iinniimiikyxaxaxax6亦即 若对任意的函数h(x)和g(x),引入记号 则上述方程组可以表示成 写成矩阵形式即 imiikinmiiknimiikmiiikyxxxaxxaxxa)()()(.)()()()(11111100miiix
6、gxhgh1)()(),(),1,0)(,(),(.),(),(1100nkfaaaknknkk),(),(),(),(.),(.),(.),(.),(),(),(.),(),(101010111010 1000fffaaannnnnnnn(3.1)(3.2)7 方程组(3.2)称为法方程组法方程组。当 线性无关时,可以证明它有唯一解并且相应的函数(2.4)就是满足条件(2.5)的最小二乘解。综上分析可得 定理定理1 对任意给定的一组实验数据 (其中 互异),在函数类 (线性无关)中,存在唯一的函数使得关系式(2.5)成立,并且其系数 可以通过解方程组(3.2)得到。作为曲线拟合的一种常用的情
7、况,若讨论的是代数多项式拟合,即取 则由(3.1)知)(),.,(),(10 xxxn*11*00,.,nnaaaaaa),2,1)(,(miyxiiix)()(),.(),(10mnxxxnn,.,10)(.)()(*1*10*0*xaxaxann),.,1,0(*niainnxxxxx)(,.,)(,1)(108故相应的法方程组为 下面,通过两个具体的例子来说明用最小二乘法解决实际的问题的具体步骤与某些技巧。nkjxxxmikjimikijikj,1,0,),(11),1,0(),(1nkyxfmiikikmiinimiiimiinminiminiminiminimiimiiminimii
8、yxyxyaaaxxxxxxxxm11110121111112111.(3.3)9例例 1 某种铝合金的含铝量为 ,其熔解温度为 c,由实验测得 与 的数据如表表3-1左边三列。使用最小二乘法建立 与 之间的 经验公式。解解 根据前面的讨论,解决问题的过程如下:(1)将表中给出的数据点 描绘在坐标纸上,如图图3-1所示。(2)确定拟合曲线的形式。由图图3-1可以看出,六个点位于一条 直线的附近,故可以选用线性函数(直线)来拟合这组实验 数据,即令180图 3-1y30026022030507090 xy0)6,2,1)(,(iyxii%xxxyy10 其中a,b为待定常数。(3)建立法方程组。
9、由于问题归结为一次多项式拟合问题,故由 (3.3)知,相应的法方程组形如 经过计算(表表3-1)即得确定待定系数a,b的法方程组 (4)解法方程(3.5)得 a=95.3524 ,b=2.2337 代入(3.4)即得经验公式 y=95.3524+2.2337xbxax)(616161261616iiiiiiiiiiiyxybaxxx3.10117628.283656.39614589.3966baba(3.4)(3.5)(3.6)11 yxiixiyixi2 i 136.91811361.616678.9 246.71972180.899199.9 363.72354057.6914969.5
10、 477.82706052.8421006.0 584.02837056.0023772.0 687.52927656.2525550.0396.6145828365.28101176.3表表 3-112 所得经验公式能否较好地反映客观规律,还需通过实践来检验.由(3.6)式算出的函数值(称为拟合值拟合值)与实际值有一定的偏差。由表3-2可以看出,偏差的平方和平方和 ,其平方根(称为均方误差均方误差)在一定程度上反映了所得经验公式的好坏。同时,由表表3-2还可以看出,最大偏差最大偏差 .如果认为这样的误差都允许的话,就可以用经验公式(3.6)来计算含铝量在36.987.5%之间的溶解度。否则,
11、就要用改变函数类型或者增加实验数据等方法来建立新的经验公式。例例 2 在某化学放应里,测得生成物的浓度y%与时间t的数据表见表表3-3,是用最小二乘法建立t与y的经验公式。解解 将已知数据点 描述在坐标纸上,见图图3-2。由图3-2 及问题的物理背景可以看出,拟合曲线 应具下列特点:),2,1(2337.23524.95mixyii6704.26612ii164.52i22.3max61ii)16,2,1)(,(iytii)(xy13i12345636.946.763.777.884.087.5177.78199.67237.64269.13282.98290.8018119723527028
12、3292-3.222.672.64-0.87-0.02-1.2010.377.136.970.760.00041.4426.6704xiyiyiyyiii2i2i表表 3-214 t12345678y4.006.408.008.809.229.509.709.86t910111213141516y10.0010.2010.3210.4210.5010.5510.5810.60表表 3-3 (1)曲线随着t的增加而上升,但上升速度由快到慢。y10504812t16图图 3-215(2)当t=0时,反应还未开始,即y=0;当 时,y趋于某一常数.故曲线应通过原点(或者当t=0时以原点为极限点),且
13、有一条水平 渐近线。具有上述特点的曲线很多。选用不同的数学模型,可以获得不同的拟合曲线与经验公式。下面提供两种方案:方案方案1:设想 是双曲线型的,并且具有下面的形式 (3.7)此时,若直接按最小二乘法原则去确定参数a和b,则问题 归结为求二元函数 的极小点,这将导致求解非线性方程组非线性方程组:t)(tybatty2161)(),(iiiiybattbaS(3.8)160)()(20)()(2161216122iiiiiiiiiiiiybattbattaSybattbattaS给计算带来了麻烦。可通过变量替换来将它转化为关于待定参数的线.性形函数。为此,将(3.7)改写成于是,若引入新变量则
14、(3.7)式就是tbay1ttyy1,1)1()1()1()1(btay17同时,由题中所给数据 表表3-3可以算出新的数据表表表3-4这样,问题就归结为:根据数据表表3-4,求形如 的最小二乘解.参照例1的做法,解方程组)1()1(btayi123161.000000.500000.333330.062500.250000.156250.125000.09434ttii1)1(yyii1)1(161)1()1(161)1(1612)1(161)1(161)1()(16iiiiiiiiiiiytybattt表表 3-418既得 a=80.6621,b=161.6822代入(3.7),既得经验公
15、式 (3.9)方案方案2:设想 具有指数形式 为了求参数a和b 时,避免求解一个非线形方程组,对上式两边取对数 此时,若引入新变量 并记A=lna,B=b,则上式就是 6822.1616621.80tty)(ty)0,0(/baaeytbtbay lnlnttyy1,ln)2()2()2()2(BtAy(3.10)19又由数 表表3-3可算出新的数据表表3-5。表表 3-5于是将问题归为:根据数据表表3-5,求形如 的最小二乘解。参照方案1,写出相应的法方程组并解之,即得 A=-4.4807,B=-1.0567于是i123161.000000.500000.333330.062501.3862
16、91.856302.079442.36085ttii1)2(yyiiln)2(tyBA)2()2(0567.1011325.0BbaeA,20故得另一个经验公式 将两个不同的经验公式(3.9)和(3.11)进行比较(表表3-6),从均方误差与最大偏差这两个不同角度看,后者均优于前者。因此,在解决实际问题时,常常要经过反复分析,多次选择,计算与比较,才能获得好的数学模型。表表 3-6 下面以常用的多项式拟合为例,说明最小二乘法在电子计算机上实现的步骤。ety0567.1011325.0经验公式均方误差最大偏差(3.9)式(3.11)式31019.131034.0310568.0310277.0(3.11)21 设有一组实验数据 ,今要用最小二乘法求一 n(nm)次多项式曲线来拟合这组数据。显然,求 的实质就是要确定其系数 。由前面讨论可知,问题可归结为建立和求解法方程组(3.3).为了便于编制程序并减少工作量,引入矩阵则法方程组(3.3)的系数矩阵(用A表示)和右端向量(用b表示)分别为:),.,2,1)(,(miyxiinnnxaxaax.)(10)(xn),.,2,1(niai,11