最小二乘曲线拟合及其MATLAB实现课件

星的位置。随后全世界的科学家利用皮亚齐的观测数据开始寻找谷神星,但是根据大多数人计算的结果来寻找谷神星都没有结果。时年24岁的高斯也计算了谷神星的轨道。奥地利天文学家海因里希·奥尔伯斯根据高斯计算出来的轨道重新发现了谷神星。高斯使用的最小二乘法的方法发表于1809年他的著作《天体运动论》中。 法国科学家勒让德于1806年独立发现“最小二乘法”,但因不为世人所知而默默无闻。 勒让德曾与高斯为谁最早创立最小二乘法原理发生争执。 1829年,高斯提供了最小二乘法的优化效果强于其他方法的证明,因此被称为高斯-莫卡夫定理。最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。

2 曲线拟合的最小二乘法原理

2.1 原理的阐述及理论公式推导

给定数据?xj,yj??j?1,2,?,n?,设拟合函数形式为

p?x??a0?0?x??a1?1?x????am?m?x? 2.11 其中?k?x??k?0,1,2,?,m?为已知的线性无关函数(如果存在不全为零的常熟使得c0?0?x??c1?1?x????cm?m?0,则称函数?k?x??k?0,1,2,?,m?c0,c1,?,cm,

线性相关,否则称为线性无关)。求系数a0,a1,?,am,使得 ??a0,a1,?,am???p?xj??yjj?1n??2?m?????ak?k?xj??yi? 2.12 j?1?k?0?n2最小,若

第 6 页 共 26 页

n?m*??m? ???ak?k?xj??yi??min???ak?k?xj??yi? 2.13

ak?Rj?1?k?0??0?k?mj?1?k?0n22则称相应的

***p?x??a0?0?x??a1?1?x????am?m?x?

为最小二乘拟合曲线。 特别的,若

***p?x??a0x?a1x???amx

则称p(x)为m次最小二乘拟合多项式。

***下面用求多元函数极值的方法来求最小点a0。将(2.12)式两边,a1,?,am对ak求偏导。并令

n??m*???? ?2????ai?i?xj??yi??k?xj???0 ?k?0,1,2,?,m? ?akj?1??i?0??化简得

n?m?* ????i?xj??k?xj??ai??yi?k?xj? 2.14

i?0?j?0j?1?m为了进一步化简,可以引入内积符号。在线性代数中,Rn中两个向量

TTx??x1,x2,?,xn?及y??y1,y2,?,yn?的内积定义为?x,y??x1y1???xnyn,

将它加以推广,得到下面结论:

设u?x?与v?x?是两个已知函数,记u??u?x1?,?,u?xn??T,

v??v?x1?,?,v?xn??,令

T?u,v???u?xj?v?xj?

j?1n利用内积的定义,式(2.14)可以写为

第 7 页 共 26 页

???0,?0????,??01 ???????0,?m???1,?0???1,?1????1,?m???y1,?0????y,??????11? 2.15 ???????????*????????m?1,?m???m,?m???y,?a?1m???m????m?1,?0???m,?0???a0*??*???m?1,?1???m,?1????a1?其中

??0?x1????1?x1????m?x1???y1????x?????x?????x???y?02m2???22????2??0????,?1????,?m???? ,y???? 2.16 ···,

???????????????x?x?xy?0n?1??mn?1??1n?1??n?1???????0?xn?????m?xn?????1?xn????yn??方程组(2.15)称为正规方程组或法方程组,其中系数矩阵是对称的。可以证明,当函数?0?x?,?1?x?,?,?m?x?线性无关时,方程组(2.15)是对称正定的,因此有唯一解。求出方程组(2.15)的解后,代入式(2.11)即可得最小二乘拟合函数。

另外,对带权的最小二乘拟合函数有如如下的定义:

设M?span??0?x?,?1?x?,?,?m?x??,给定f?x?在n?1个节点

xk?k?0,1,?,n?上的函数值yk?f?xk?及一组权系数wk??k?0,1,?,n?,若有函数p*?x??M,满足

?w?ykk?0nk?p?xk??min?wk?yk?p?xk??

*22p?Mk?0?n则称p*?x?为f?x?在n?1个节点x0,x1,x2,?,xn上关于权系数w0,w1,?,wn的最小二乘拟合函数。

2.2 结合实例分析与理解

Intel公司董事长Moore在上个世纪的60年代就观察到一个很有趣的现象:集成电路上可容纳的单晶体数量每隔一年半左右并会增长一倍,从而使集成电路

第 8 页 共 26 页

的性能也能提高一倍。据此他提出了轰动世界的Moore定律,预测这种增长趋势会一直延续下去。

下面给出Moore数据,如表 1所示:

ti(年) ki(增长倍数) 1959 1 1962 3 1963 4 1964 5 1965 6 表 1 Moore数据

画出相应的散点图如图 1所示:

65.554.543.532.521.511959196019611962196319641965

图 1 Moore数据散点图

表 1中第二行数据为芯片上晶体数目在不同年代与1959年时的数目比较的倍数,通过观察k与t中间大致呈线性关系,如图 1所示。据此导出了著名的Moore定律。

通过以上的分析,可设

K?t??a?bt 2.21 将表 1中的数据代入式(2.21)的超定方程组

第 9 页 共 26 页

ki?a?bti,i?1,2,3,4,5

其中,t表示时间,k表示增长倍数,a,b为待定系数。

若将表 1中的数据代入式(2.21),得线性方程组

?a?1?a?1?? ?a?1?a?1???a?195b9?196b2?396b3?4 2.22 96b4?596b5?6方程组(2.22)是一个朝顶方程组,在这五个线性方程中,任意两个联立求解可得到十组不同的解。即是说该方程组不存在通常意义上的解。

现将线性方程组(2.22)写出矩阵形式Ax?y,其中

?1?1?A??1??1??11959?1962???,x??a,b?T,y?(1,3,4,5,6)T 1963?1964??1965?此超定方程组五常义解,即是说不存在x*?R2使得Ax*?y,但是该超定方程组存在最小二乘解,也就是说存在x*?R2,使得Ax*?y2达到最小,并且x*是线

性方程组

ATAx*?ATy 2.23 的解。我们称式(2.23)为法方程组,在本例中它是一个二阶线性方程组,即

9813??a*??19??5?981319259015??*???37307? ???b???解这个方程组得

x*?a*,b*由此得到Moore公式

?????1625.5503,0.8302?.

TTK?t???1625.5503?0.8302t.

第 10 页 共 26 页

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4