回归分析方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第八章回归分析方法当人们对研究对象的内在特性和各因素间的关系有比较充分的认识时,一般用机理分析方法建立数学模型。如果由于客观事物内部规律的复杂性及人们认识程度的限制,无法分析实际对象内在的因果关系,建立合乎机理规律的数学模型,那么通常的办法是搜集大量数据,基于对数据的统计分析去建立模型。本章讨论其中用途非常广泛的一类模型——统计回归模型。回归模型常用来解决预测、控制、生产工艺优化等问题。变量之间的关系可以分为两类:一类叫确定性关系,也叫函数关系,其特征是:一个变量随着其它变量的确定而确定。另一类关系叫相关关系,变量之间的关系很难用一种精确的方法表示出来。例如,通常人的年龄越大血压越高,但人的年龄和血压之间没有确定的数量关系,人的年龄和血压之间的关系就是相关关系。回归分析就是处理变量之间的相关关系的一种数学方法。其解决问题的大致方法、步骤如下:(1)收集一组包含因变量和自变量的数据;(2)选定因变量和自变量之间的模型,即一个数学式子,利用数据按照最小二乘准则计算模型中的系数;(3)利用统计分析方法对不同的模型进行比较,找出与数据拟合得最好的模型;(4)判断得到的模型是否适合于这组数据;(5)利用模型对因变量作出预测或解释。应用统计分析特别是多元统计分析方法一般都要处理大量数据,工作量非常大,所以在计算机普及以前,这些方法大都是停留在理论研究上。运用一般计算语言编程也要占用大量时间,而对于经济管理及社会学等对高级编程语言了解不深的人来说要应用这些统计方法更是不可能。MATLAB等软件的开发和普及大大减少了对计算机编程的要求,使数据分析方法的广泛应用成为可能。MATLAB统计工具箱几乎包括了数理统计方面主要的概念、理论、方法和算法。运用MATLAB统计工具箱,我们可以十分方便地在计算机上进行计算,从而进一步加深理解,同时,其强大的图形功能使得概念、过程和结果可以直观地展现在我们面前。本章内容通常先介绍有关回归分析的数学原理,主要说明建模过程中要做的工作及理由,如模型的假设检验、参数估计等,为了把主要精力集中在应用上,我们略去详细而繁杂的理论。在此基础上再介绍在建模过程中如何有效地使用MATLAB软件。没有学过这部分数学知识的读者可以不深究其数学原理,只要知道回归分析的目的,按照相应方法通过软件显示的图形或计算所得结果表示什么意思,那么,仍然可以学到用回归模型解决实际问题的基本方法。包括:一元线性回归、多元线性回归、非线性回归、逐步回归等方法以及如何利用MATLAB软件建立初步的数学模型,如何透过输出结果对模型进行分析和改进,回归模型的应用等。8.1一元线性回归分析回归模型可分为线性回归模型和非线性回归模型。非线性回归模型是回归函数关于未知参数具有非线性结构的回归模型。某些非线性回归模型可以化为线性回归模型处理;如果知道函数形式只是要确定其中的参数则是拟合问题,可以使用MATLAB软件的curvefit命令或nlinfit命令拟合得到参数的估计并进行统计分析。本节主要考察线性回归模型。8.1.1一元线性回归模型的建立及其MATLAB实现其中01,是待定系数,对于不同的,xy是相互独立的随机变量。假设对于x的n个值ix,得到y的n个相应的值iy,确定01,的方法是根据最小二乘准则,要使取最小值。利用极值必要条件令010,0QQ,求01,的估计值01ˆˆ,,从而得到回归直线01ˆˆyx。只不过这个过程可以由软件通过直线拟合完成,而无须进行繁杂的运算。(1)参数的区间估计由于我们所计算出的01ˆˆ,仍然是随机变量,因此要对01ˆˆ,取值的区间进行估计,如果区间估计值是一个较短的区间表示模型精度较高。(2)对误差方差的估计设ˆiy为回归函数的值,iy为测量值,残差平方和剩余方差22Qsn(3)线性相关性的检验由于我们采用的是一元线性回归,因此,如果模型可用的话,应该具有较好的线性关系。反映模型是否具有良好线性关系可通过相关系数R的值及F值观察(后面的例子说明)。(4)一元线性回归的MATLAB实现MATLAB工具箱中用命令regress实现,其用法是:b=regress(y,x)[b,bint,r,rint,s]=regress(y,x,alpha)输入y(因变量,列向量)、x(1与自变量组成的矩阵,见下例),alpha是显着性水平(缺省时默认0.05)。输出01ˆˆ(,)b,注意:b中元素顺序与拟合命令polyfit的输出不同,bint是01,的置信区间,r是残差(列向量),rint是残差的置信区间,s包含4个统计量:决定系数2R(相关系数为R);F值;F(1,n-2)分布大于F值的概率p;剩余方差2s的值(MATLAB7.0以后版本)。2s也可由程序sum(r.^2)/(n-2)计算。其意义和用法如下:2R的值越接近1,变量的线性相关性越强,说明模型有效;如果满足1(1,2)FnF,则认为变量y与x显着地有线性关系,其中1(1,2)Fn的值可查F分布表,或直接用MATLAB命令finv(1-,1,n-2)计算得到;如果p表示线性模型可用。这三个值可以相互印证。2s的值主要用来比较模型是否有改进,其值越小说明模型精度越高。例1测得16名成年女子身高y与腿长x所得数据如下:表8-116名女子身高(cm)腿长(cm)数据8885889192939395969897969899100102143145146147149150153154155156157158159160162164首先利用命令plot(x,y,'r*')画出散点图,从图形可以看出,这些点大致分布在一条直线的左右,因此,可以考虑一元线性回归。可编制程序如下:y=[143145146147149150153154155156157158159160162164];x=[8885889192939395969897969899100102];n=16;X=[ones(n,1),x'];[b,bint,r,rint,s]=regress(y',X,0.05);b,bint,s,rcoplot(r,rint)运行后得到b=31.77131.2903bint=12.319651.22291.08461.4960s=0.9282180.95310.00003.12772R=0.9282,由finv(0.95,1,14)=4.6001,即1(1,2)Fn=4.6001F=180.9531,p0.0001,可以通过残差图发现,第二个数据为奇异数据,去掉该数据后运行后得到b=17.65491.4363bint=-0.598635.90831.24451.6281s=0.9527261.63890.00001.93132R=0.9527,由finv(0.95,1,13)=4.6672,即1(1,2)Fn=4.6672F=261.6389,p0.0001,说明模型有效且有改进,因此我们得到身高与腿长的关系17.65491.4363yx。当然,也可以利用直线拟合得到同一方程。只不过不能得到参数置信区间和对模型进行检验。拟合程序如下:y=[143145146147149150153154155156157158159160162164];x=[8885889192939395969897969899100102];a=polyfit(x,y,1)temp=polyval(a,x);plot(x,y,'r*',x,temp)注意:函数相同,但输出一次函数参数顺序与回归分析(升幂排列)中不同。另一个差别是拟合不能发现奇异数据。8.2多元线性回归分析8.2.1多元线性回归模型的建模步骤及其MATLAB实现如果根据经验和有关知识认为与因变量有关联的自变量不止一个,那么就应该考虑用最小二乘准则建立多元线性回归模型。设影响因变量y的主要因素(自变量)有m个,记1(,,)mxxx,假设它们有如下的线性关系式:011mmyxx,2~(0,)N如果对变量y与自变量12,,,mxxx同时作n次观察(nm)得n组观察值,采用最小二乘估计求得回归方程011ˆˆˆˆkmyxx.建立回归模型是一个相当复杂的过程,概括起来主要有以下几个方面工作(1)根据研究目的收集数据和预分析;(2)根据散点图是否具有线性关系建立基本回归模型;(3)模型的精细分析;(4)模型的确认与应用等。收集数据的一个经验准则是收集的数据量(样本容量)至少应为可能的自变量数目的6~10倍。在建模过程中首先要根据所研究问题的目的设置因变量,然后再选取与该因变量有统计关系的一些变量作为自变量。我们当然希望选择与问题关系密切的变量,同时这些变量之间相关性不太强,这可以在得到初步的模型后利用MATLAB软件进行相关性检验。下面通过一个案例探讨MATLAB软件在回归分析建模各个环节中如何应用。多元线性回归的MATLAB实现仍然用命令regress(y,X),只是要注意矩阵X的形式,将通过如下例子说明其用法。8.2.2某类研究学者的年薪1.问题例2工薪阶层关心年薪与哪些因素有关,以此可制定出它们自己的奋斗目标。某科学基金会希望估计从事某研究的学者的年薪Y与他们的研究成果(论文、着作等)的质量指标X1、从事研究工作的时间X2、能成功获得资助的指标X3之间的关系,为此按一定的实验设计方法调查了24位研究学者,得到如下数据(i为学者序号):表8-2从事某种研究的学者的相关指标数据i1234567891011123.55.35.15.84.26.06.85.53.17.24.54.992018333113253054725116.16.47.46.77.55.96.04.05.88.35.06.433.240.338.746.841.437.539.040.730.152.938.231.8i1314151617181920212223248.06.56.63.76.27.04.04.55.95.64.83.9233539217403523332734157.67.05.04.45.57.06.03.54.94.38.05.843.344.142.533.634.248.038.035.940.436.845.235.1试建立Y与123,,XXX之间关系的数学模型,并得出有关结论和作统计分析。2.作出因变量Y与各自变量的样本散点图作散点图的目的主要是观察因变量Y与各自变量间是否有比较好的线性关系,以便选择恰当的数学模型形式。下图分别为年薪Y与成果质量指标1X、研究工作时间2X、获得资助的指标3X之间的散点图,subplot(1,3,1),plot(x1,Y,'g*'),subplot(1,3,2),plot(x2,Y,'k+'),subplot(1,3,3),plot(x3,Y,'ro'),从图可以看出这些点大致分布在一条直线旁边,因此,有比较好的线性关系,可以采用线性回归。Y与x1的散点图Y与x2的散点图Y与x3的散点图图8.1因变量Y与各自变量的样本散点图3.利用MATLAB统计工具箱得到初步的回归方程设回归方程为:0112333ˆˆˆˆˆyxxx.建立m-文件输入如下程序数据:x1=[3.55.35.15.84.26.06.85.53.17.24.54.98.06.56.53.76.27.04.04.55.95.64.83.9];x2=[920183331132530547251123353921740352333273415];x3=[6.16.47.46.77.55.96.04.05.88.35.06.47.67.05.04.05.57.06.03.54.94.38.05.0];Y=[33.240.338.746.841.437.539.040.730.152.938.231.843.344.142.533.634.248.038.035.940.436.845.235.1];n=24;m=3;X

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功