应用MATLAB进行非线性回归分析论文_第1页
应用MATLAB进行非线性回归分析论文_第2页
应用MATLAB进行非线性回归分析论文_第3页
应用MATLAB进行非线性回归分析论文_第4页
应用MATLAB进行非线性回归分析论文_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、应用 MATLAB进行非线性回归分析摘要早在十九世纪,英国生物学家兼统计学家高尔顿在研究父与子身高的遗传问题时,发现子代的平均高度又向中心回归大的意思,使得一段时间内人的身高相对稳定。之后回归分析的思想渗透到了数理统计的其他分支中。随着计算机的发展,各种统计软件包的出现,回归分析的应用就越来越广泛。回归分析处理的是变量与变量间的关系。有时,回归函数不是自变量的线性函数,但通过变换可以将之化为线性函数,从而利用一元线性回归对其进行分析,这样的问题是非线性回归问题。下面的第一题:炼钢厂出钢水时用的钢包,在使用过程中由于钢水及炉渣对耐火材料的侵蚀,使其容积不断增大。要找出钢包的容积用盛满钢水时的质量

2、与相应的实验次数的定量关系表达式,就要用到一元非线性回归分析方法。首先我们要对数据进行分析,描出数据的散点图,判断两个变量之间可能的函数关系,对题中的非线性函数,参数估计是最常用的“线性化方法”,即通过某种变换,将方程化为一元线性方程的形式,接着我们就要对得到的一些曲线回归方程进行选择,找出到底哪一个才是更好一点的。此时我们通常可采用两个指标进行选择,第一个是决定系数 ,第二个是剩余标准差 。进而就得到了我们想要的定量关系表达式。第二题:给出了某地区19712000 年的人口数据,对该地区的人口变化进行曲线拟合。也用到了一元非线性回归的方法。首先我们也要对数据进行分析,描出数据的散点图,然后用

3、 MATLAB 编程进行回归分析拟合计算输出利用Logistic 模型拟合曲线。关键词: 参数估计,Logistic 模型, MATLAB正文一、一元非线性回归分析的求解思路:求解函数类型并检验。求解未知参数。可化曲线回归为直线回归,用最小二乘法求解;可化曲线回归为多项式回归。二、回归曲线函数类型的选取和检验1、 直接判断法2、作图观察法,与典型曲线比较,确定其属于何种类型,然后检验。3、直接检验法(适应于待求参数不多的情况)4、表差法(适应于多想式回归,含有常数项多于两个的情况)三、化曲线回归为直线回归问题用直线检验法或表差法检验的曲线回归方程都可以通过变量代换转化为直线回归方程,利用线性回

4、归分析方法可求得相应的参数估计值。题目:例 8.5.1炼钢厂出钢水时用的钢包,在使用过程中由于钢水及炉渣对耐火材料的浸蚀,其容积不断增大。现在钢包的容积用盛满钢水时的重量y (kg)表示,相应的试验次数用 x 表示。数据见表 8.5.1,要找出 y 与 x 的定量关系表达式。表 8.5.1钢包的重量 y 与试验次数 x 数据序号xy序号xy12106.42811110.5923108.20914110.6034109.581015110.9045109.501116110.7657110.001218111.0068109.931319111.20710110.491) 1/y=a+b/xy=

5、a+blnxformat longx=2 3 4 5 7 8 10 11 14 15 16 18 19;y=106.42 108.20 109.58 109.5 110 109.93 110.49 110.59 110.60 110.9 110.76 111 111.20;plot(x,y, k+ );%数据的散点图x1=1./x;y1=1./y;plot(x1,y1, k+变换);后%数据的散点图 x2=ones(13,1) x1; b,bint,rint,stats=regress(y1,x2); z=b(1)+b(2)*x1;yc=1./z;plot(x1,y1, k+ ,x1,z,变换

6、后r数据)%的散点图和回归直线图变换后数据的散点图及回归直线图R2=1-sum(y-yc).2)/lyy;%模型的拟合优度系数plot(x,y, k+ ,x,yc, 数 r 据 )%的散点图和回归曲线图legend(散点图 ,回归函数 )b=0.008966629680570.00082917436336R2 =0.97292374957556第一种方法的程序:format longx=2 3 4 5 7 8 10 11 14 15 16 18 19;y=106.42 108.20 109.58 109.5 110 109.93 110.49 110.59 110.60 110.9 110.7

7、6 111 111.20;plot(x,y, k+数据);%的散点图 x1=1./x;y1=1./y;plot(x1,y1, k+变换);后%数据的散点图 x2=ones(13,1) x1; b,bint,rint,stats=regress(y1,x2); z=b(1)+b(2)*x1;yc=1./z; plot(x1,y1, k+ ,x1,z,变换后r数据)%的散点图和回归直线图 n=length(x);lyy=sum(y.2)-n*(mean(y)2; R2=1-sum(y-yc).2)/lyy;% 模型的拟合优度系数b=0.008966629680570.00082917436336R

8、2 =0.97292374957556用类似的方法可以得出其它三个曲线回归方程,它们分别是:第二种方法的程序:format longx=2 3 4 5 7 8 10 11 14 15 16 18 19;y=106.42 108.20 109.58 109.5 110 109.93 110.49 110.59 110.60 110.9 110.76 111 111.20;x1=log(x);y1=y; x2=ones(13,1) x1;b,bint,rint,stats=regress(y1,x2); bz=b(1)+b(2)*x1;yc=z;n=length(x);lyy=sum(y.2)-n

9、*(mean(y)2;R2=1-sum(y-yc).2)/lyy;plot(x,y,k+,x,yc, c);legend(散点图 ,回归函数 )b = 1.0e+002 * 1.063146740751670.01713977247928R2 =0.87731500489620第三种方法的程序:format longx=2 3 4 5 7 8 10 11 14 15 16 18 19;y=106.42 108.20 109.58 109.5 110 109.93 110.49 110.59 110.60 110.9 110.76 111 111.20;x1=sqrt(x);y1=y;x2=on

10、es(13,1) x1;b,bint,rint,stats=regress(y1,x2);bz=b(1)+b(2)*x1;yc=z;n=length(x);lyy=sum(y.2)-n*(mean(y)2;R2=1-sum(y-yc).2)/lyy;plot(x,y,k+,x,yc,k);legend(散点图 ,回归函数 )b = 1.0e+002 * 1.063012750143820.01194728720517R2 = 0.78514164407253三种方法的拟合效果比较:R2 =0.97292374957556R2 =0.87731500489620R2 = 0.7851416440

11、72531. 原始数据下表给出了某地区19712000 年的人口数据(表1)。试分别用Matlab 和SPSS软件,对该地区的人口变化进行曲线拟合。表 1某地区人口变化数据年份时间变量t=年份 -1970人口 y/人1971133 8151972233 9811973334 0041974434 1651975534 2121976634 3271977734 3441978834 4581979934 49819801034 47619811134 48319821234 48819831334 51319841434 49719851534 51119861634 52019871734

12、50719881834 50919891934 52119902034 51319912134 51519922234 51719932334 51919942434 51919952534 52119962634 52119972734 52319982834 52519992934 52520003034 527根据上表中的数据,做出散点图,见图1。图 1某地区人口随时间变化的散点图从图 1 可以看出,人口随时间的变化呈非线性过程,而且存在一个与横坐标轴平行的渐近线,故可以用Logistic曲线模型进行拟合。因为 Logistic 曲线模型的基本形式为:所以,只要令:,就可以将其转化为直线

13、模型:下面,我们分别用Matlab 和 SPSS软件进行回归分析拟合计算。2用 Matlab 编程进行回归分析拟合计算源程序( Nonlinear-Regression-Model.m),如下:clear clc% 读入人口数据( 1971 2000 年) y = 33815 33981 34004 34165 34212 34327 34344 34458 34498 34476 34483 34488 3451334497 34511 34520 34507 34509 34521 34513 34515 34517 34519 34519 34521 34521 34523 34525

14、34525 34527;% 读入时间变量数据( t年份 1970) t=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30; % 线性化处理for t = 1:30, x(t)=exp(-t); y(t)=1/y(t,1);end% 计算,并输出回归系数 B c=zeros(30,1)+1;X=c,x;B=inv(X*X)*X*y for i=1:30, % 计算回归拟合值z(i)=B(1,1)+B(2,1)*x(i);% 计算离差s(i)=y(i)-sum(y)/30;% 计算误差w(i)=z(i)-y(i);end计算离差平方和 S S=s*s;回归误差平方和 Q Q=w*w;计算回归平方和 U U=S-Q;计算,并输出 F 检验值F=28*U/Q% 计算非线性回归模型的拟合值for j=1:30,Y(j)=1/(B(1,1)+B(2,1)*exp(-j);end% 输出非线性回归模型的拟合曲线(Logisic 曲线)plot(T,Y)上述程序运行后,输出(1)输出回归系数 B 及 F 检

温馨提示

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

评论

0/150

提交评论