最小二乘法在线性和非线性回归中的应用PPT课件_第1页
最小二乘法在线性和非线性回归中的应用PPT课件_第2页
最小二乘法在线性和非线性回归中的应用PPT课件_第3页
最小二乘法在线性和非线性回归中的应用PPT课件_第4页
最小二乘法在线性和非线性回归中的应用PPT课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1什么是最小二乘法?什么是最小二乘法?最小二乘法是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小.第1页/共38页2线性回归线性回归在统计学中,线性回归在统计学中,线性回归(Linear Regression)是利用称为线是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量个称

2、为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归的情况称为简单回归,大于一个自变量情况的叫做多元回归。大于一个自变量情况的叫做多元回归。 回归分析中,只包括一个自变量和一个因变量,且二者的回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归且因变量和自变量之间是线性关系,则称为多元线性回归分析。分析。第2页/共38页3非线性回归非

3、线性回归有一类模型,其回归参数不是线性的,也不能通过转换的方法将其变为线性的参数。这类模型称为非线性回归模型。在许多实际问题中,回归函数往往是较复杂的非线性函数。非线性函数的求解一般可分为将非线性变换成线性和不能变换成线性两大类。这里主要讨论可以变换为线性方程的非线性问题。 第3页/共38页4第4页/共38页5两变量间的关系两变量间的关系确定性关系:两变量间的函数关系确定性关系:两变量间的函数关系圆的周长与半径的关系:C=2R速度时间与路程的关系:L=ST非确定性关系:两变量在宏观上存在关系,非确定性关系:两变量在宏观上存在关系,但并未精确到可以用函数关系式来表达。但并未精确到可以用函数关系式

4、来表达。青少年的升高与年龄关系升高与体重的关系药物浓度与反应率的关系第5页/共38页6第6页/共38页7第7页/共38页8多元线性回归多元线性回归第一步: :先选定一组函数先选定一组函数 r1(x), r2(x), rm(x), mn, 令令 f(x)=a1r1(x)+a2r2(x)+ +amrm(x) (1)其中其中 a1,a2, am 为待定系数。为待定系数。 第二步: 确定确定a1,a2, am 的准则(最小二乘准则):的准则(最小二乘准则):使使n个点个点(xi,yi) 与与曲线曲线 y=f(x) 的距离的距离 i 的平方和最小的平方和最小 。记记 )2()()(),(21121122

5、1iiknimkkininiiimyxrayxfaaaJ 问题归结为,求问题归结为,求 a1,a2, am 使使 J(a1,a2, am) 最小。最小。第8页/共38页9线性最小二乘法的求解:预备知识线性最小二乘法的求解:预备知识超定方程组超定方程组:方程个数大于未知量个数的方程组:方程个数大于未知量个数的方程组)( 221111212111mnyarararyarararnmnmnnmm即即 Ra=ynmnmnnmyyyaaarrrrrrR112111211,其中其中超定方程一般是不存在解的矛盾方程组。超定方程一般是不存在解的矛盾方程组。 如果有向量如果有向量a使得使得 达到最小,达到最小,

6、则称则称a为上述为上述超定方程的最小二乘解超定方程的最小二乘解。 212211)(imniimiiyararar第9页/共38页10线性最小二乘法的求解线性最小二乘法的求解 定理:定理:当当R RT TR R可逆时,超定方程组(可逆时,超定方程组(3 3)存在最小二乘解,)存在最小二乘解,且即为方程组且即为方程组 R RT TRa=RRa=RT Ty y的解:的解:a=(Ra=(RT TR)R)-1-1R RT Ty y 所以,曲线拟合的最小二乘法要解决的问题,实际上就是所以,曲线拟合的最小二乘法要解决的问题,实际上就是求以下超定方程组的最小二乘解的问题。求以下超定方程组的最小二乘解的问题。n

7、mnmnmyyyaaaxrxrxrxrR111111,)()()()(其中其中Ra=y (3)第10页/共38页最小二乘法原理是用来求解线性方程组的,非最小二乘法原理是用来求解线性方程组的,非线性方程经线性化后方可应用该原理。通常在线性方程经线性化后方可应用该原理。通常在测量中遇到的问题不一定都是线性问题,必须测量中遇到的问题不一定都是线性问题,必须先把非线性问题线性化,然后求解。先把非线性问题线性化,然后求解。11非线性回归非线性回归第11页/共38页12一、有时,我们希望用如下类型的函数:一、有时,我们希望用如下类型的函数: 去近似一个由一组观测数据(列表)所描绘的函数,其去近似一个由一组

8、观测数据(列表)所描绘的函数,其中中p 和和q 是待定的两个参数是待定的两个参数.显然显然s已非已非p和和q的线性函数的线性函数.怎怎样线性化呢?为此,我们在等式两端取对数,得到样线性化呢?为此,我们在等式两端取对数,得到 qspt InsInpqInt记记 则等式变成则等式变成01,Insy Inpa aq xInt01yaa x这是一个一次多项式,它的系数和可以用最小二乘法求得这是一个一次多项式,它的系数和可以用最小二乘法求得. 第12页/共38页13二、我们经常希望用函数二、我们经常希望用函数CtSAe去近似一个以给定的列表函数,其中去近似一个以给定的列表函数,其中A,C是待定的参数,这

9、时,我们可以对是待定的参数,这时,我们可以对等式的两端取对数等式的两端取对数InSInACt记记011,InSy InAa Ca xt则等式变成则等式变成01yaa x这样仍可用最小二乘法定出(从而也就定这样仍可用最小二乘法定出(从而也就定出了出了A,C ),得到近似函数),得到近似函数CtSAe第13页/共38页14下面列出几种常用的线性处理方法,利用最小下面列出几种常用的线性处理方法,利用最小二乘法的原理对直线型、抛物线型和指数曲线二乘法的原理对直线型、抛物线型和指数曲线型的方程的参数估计方法型的方程的参数估计方法 。第14页/共38页15YabX直线型直线型直线方程的一般形式为:直线方程

10、的一般形式为:令令 为最小值,分别为为最小值,分别为a和和b求偏导数,并令导数等于求偏导数,并令导数等于0,得到联立方程组。解,得到联立方程组。解方程组,即可得到参数的计算公式方程组,即可得到参数的计算公式 。 22()()YCabXC22()aYbXnX YXYbnXX第15页/共38页16抛物线型抛物线型抛物线方程的一般形式为抛物线方程的一般形式为 2YabXcX令令 为最小值,分别为为最小值,分别为 a、b、c求求偏导数偏导数,并令导数等于并令导数等于0,得到联立方程组解方程组得到联立方程组解方程组,即即可得到参数的计算公式。可得到参数的计算公式。 22()()YCabXC2223223

11、4000YnabXcXY XaXbXcXYXaXbXcX第16页/共38页17指数曲线型指数曲线型指数曲线的一般形式为指数曲线的一般形式为 XYab取对数,将指数曲线转化成对数直线形式取对数,将指数曲线转化成对数直线形式 lglglgYaXb用最小二乘法估计参数用最小二乘法估计参数a,b,可有如下方程组可有如下方程组 2lglglg(lg )lglgYnabXXYaXbX解此方程组,可得参数的对数值,查其反对数,即解此方程组,可得参数的对数值,查其反对数,即可得参数值。可得参数值。第17页/共38页18用用MATLAB解回归问题解回归问题1 1、线性最小二乘拟合、线性最小二乘拟合2 2、非线性

12、最小二乘拟合、非线性最小二乘拟合第18页/共38页19用用MATLAB作线性最小二乘拟合作线性最小二乘拟合1. 1. 作多项式作多项式f(x)=a1xm+ +amx+am+1拟合拟合, ,可利用已有程序可利用已有程序:a=polyfit(x,y,m)2. 2. 对超定方程组对超定方程组)(11nmyaRnmmn可得最小二乘意义下的解。可得最小二乘意义下的解。,用,用yRa3.3.多项式在多项式在x x处的值处的值y y可用以下命令计算:可用以下命令计算: y=polyvaly=polyval(a a,x x)输入同长度输入同长度的数组的数组X,Y拟合多项拟合多项式次数式次数左除第19页/共38

13、页20首先求二次多项式拟合首先求二次多项式拟合:3221)(axaxaxf中中 的的),(321aaaA 使得使得:最小 )(1012iiiyxf例例 对湖南省近对湖南省近10年来(年来(2006-2015)的生产总值()的生产总值(GDP)作作m次多项式拟合次多项式拟合第20页/共38页21利用利用MATLABMATLAB编程并仿真(二次拟合)编程并仿真(二次拟合)clear all;close all;x=2006:1:2015;y=7689,9440,11555,13060,16038,19670,22154,24622,27037,29047.2;%plot,x,y,o);hold o

14、np=polyfit(x,y,2);Y=polyval(p,x);plot(x,Y,r-,x,y,o);xlabel(x-年份);ylabel(y-亿元);title(湖南省GDP);r=y-Y;e=r*r;程序法一(利用现成的函数):第21页/共38页22p=33.0311,-1.3032e+05,1.2852e+08残差平方和:残差平方和:e=2.8924e+06程序一仿真结果:第22页/共38页23clear all;close all;n=input(n=?); %多项式次数即拟合曲线次数%x=1,2,3,4,5,6,7,8,9,10;b=2006:1:2015;x=b;y=7689,

15、9440,11555,13060,16038,19670,22154,24622,27037,29047.2;%plot(x,y,ro);%X=x.*x,x,ones(size(x);%p=polyfit(x,y,m)X(:,n+1) = ones(length(x),1,class(x);for j = n:-1:1 X(:,j) = x.*X(:,j+1);%提取第j列元素从j=n最后一列开始endp=Xy;%多项式系数%Y=polyval(p,x);Y=X*p;r=y-Y;e=r*r;plot(x,Y,-,x,y,ro);xlabel(x)ylabel(y)title(曲线拟合)程序法二

16、(未借用函数):第23页/共38页2424p=33.0311,-1.3032e+05,1.2852e+08残差平方和:残差平方和:e=2.8924e+06程序二仿真结果:(n=2)两个程序得出的结论是一致的!第24页/共38页25五次多项式拟合五次多项式拟合p=polyfit(x,y,5);p=polyfit(x,y,m)m=5仿真结果仿真结果残差平方和:e=4.149e+05p=2.1092,-2.1203e+04,8.5263e+07,-1.7143e+11,1.7234e+14,-6.9300e+16残差平方和:残差平方和:e=4.149e+05第25页/共38页261. lsqcurv

17、efit1. lsqcurvefit已知数据点数据点: xdata=xdata=(xdata1,xdata2,xdataxdatan n),), ydata=ydata=(ydataydata1 1,ydataydata2 2,ydataydatan n) 用用MATLAB作非线性最小二乘拟合作非线性最小二乘拟合 Matlab Matlab的提供了两个求非线性最小二乘拟合的函数:的提供了两个求非线性最小二乘拟合的函数:lsqcurvefitlsqcurvefit和lsqnonlinlsqnonlin。两个命令都要先建立。两个命令都要先建立M-M-文件文件fun.mfun.m,在其中定义函数在其

18、中定义函数f(x)f(x),但两者定义,但两者定义f(x)f(x)的方式是不同的的方式是不同的, ,可参可参考例题考例题.最小 ),(21niiiydataxdataxF lsqcurvefitlsqcurvefit用以求含参量用以求含参量x x(向量)的向量值函数(向量)的向量值函数F(x,xdata)=F(x,xdata)=(F F(x x,xdataxdata1 1),),F F(x x,xdataxdatan n)T T中的参变量中的参变量x(x(向量向量),),使得使得 第26页/共38页27 输入格式为输入格式为: : (1) x = lsqcurvefit (fun,x0,xda

19、ta,ydata); (2) x =lsqcurvefit (fun,x0,xdata,ydata,options); (3) x = lsqcurvefit (fun,x0,xdata,ydata,options,grad); (4) x, options = lsqcurvefit (fun,x0,xdata,ydata,); (5) x, options,funval = lsqcurvefit (fun,x0,xdata,ydata,); (6) x, options,funval, Jacob = lsqcurvefit (fun,x0,xdata,ydata,);fun是一个事先建

20、立的是一个事先建立的定义函数定义函数F(x,xdata) 的的M-文件文件, 自变量为自变量为x和和xdata说明:x = lsqcurvefit (fun,x0,xdata,ydata,options);迭代初值迭代初值已知数据点已知数据点选项见无选项见无约束优化约束优化第27页/共38页28 lsqnonlin用以求含参量用以求含参量x x(向量)的向量值函数(向量)的向量值函数 f(x)f(x)=(f=(f1 1(x),f(x),f2 2(x),(x),f,fn n(x)(x)T T 中的参量中的参量x x,使得,使得 最小。最小。 其中其中 fi(x)=f(x,xdatai,ydata

21、i) =F(x,xdatai)-ydatai 22221)()()()()(xfxfxfxfxfnT2. lsqnonlin已知数据点:已知数据点: xdata=xdata=(xdata1,xdata2,xdataxdatan n) ydata=ydata=(ydataydata1 1,ydataydata2 2,ydataydatan n)第28页/共38页2929输入格式为:输入格式为: 1) x= lsqnonlin(fun,x0); 2) x= lsqnonlin (fun,x0,options); 3) x= lsqnonlin (fun,x0,options,grad); 4) x

22、,options= lsqnonlin (fun,x0,); 5) x,options,funval= lsqnonlin (fun,x0,);说明:x= lsqnonlinlsqnonlin (fun,x0,options););fun是一个事先建立的是一个事先建立的定义函数定义函数f(x)的的M-文件,文件,自变量为自变量为x迭代初值迭代初值选项见无选项见无约束优化约束优化第29页/共38页30非线性最小二乘法曲线拟合的非线性最小二乘法曲线拟合的MATLABMATLAB实现实现例例 已知一组数据如下表所示已知一组数据如下表所示x0.10.40.50.70.80.9y0.610.920.99

23、1.521.472.03用用lsqcurvefitlsqcurvefit函数实现曲线拟合函数实现曲线拟合MatlabMatlab为用户提供了为用户提供了lsqcurvefitlsqcurvefit函数实现非线性最小二函数实现非线性最小二乘拟合,调用格式如下:乘拟合,调用格式如下:x=lsqcurvefit(fun,x0,xdata,ydata)x=lsqcurvefit(fun,x0,xdata,ydata);funfun为拟合函数,为拟合函数,(xdata,ydata)(xdata,ydata)为一组实验观测数据,满足为一组实验观测数据,满足ydata=fun(xdata,x),ydata=

24、fun(xdata,x),以以x0 x0为初始点求解改数据拟合问题。为初始点求解改数据拟合问题。第30页/共38页31新建新建m m文件,将待拟合函数写入,保存为文件,将待拟合函数写入,保存为cf.mcf.m:functionfunctionf=cf(x,xdate);f=cf(x,xdate);n=length(xdate);n=length(xdate);forfori=1:ni=1:nf(i)=x(1)+x(2)f(i)=x(1)+x(2)* *xdate(i)+x(3)xdate(i)+x(3)* *sin(xdate(i)+x(4)sin(xdate(i)+x(4)* *expexp(xdate(i);(xdate(i);endend第31页/共38页32运行以下程序: clear all; close all;xdata=0.1,0.4,0.5,0.7,0.8,0.9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论