资源描述:
《多元线性回归的MATLAB实现-论文.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第28卷第2常熟理工学院学报(自然科学)Vol.28No.22014年3月Mar.,2014JournalofChangshuInstituteTechnology(NaturalSciences)多元线性回归的MATLAB实现122李艳娇,李瑞敏,陈经伟(1.沈阳建筑大学建筑设计研究院,辽宁沈阳110015;2.沈阳机床(集团)有限责任公司设计研究院,辽宁沈阳110142)摘要:针对各学科领域中常遇到的多元线性回归问题,在简单介绍回归分析基本理论的基础上,结合一具体实例,详细介绍了基于回归算法编写MATLAB程序、利用MATLAB预定义函数以及二者相结合解决多元线性回归问题的方法
2、.方法简单实用,其中基于算法编程、利用预定义函数及二者结合解决问题的方法不仅是解决多元线性回归问题的方法,也是利用MATLAB解决各学科领域中一般性数学问题的基本方法.关键词:回归分析;多元线性回归;适定方程组;超定方程组;MATLAB中图分类号:O212.4文献标识码:A文章编号:1008-2794(2014)02-0049-04在社会生活及生产实践中经常会遇到这样一种问题,即我们非常关注一个量的变化,而这个量受到另一个或是多个因素的影响.我们想要了解这些因素是如何影响我们最为关注的这个量的以及这些因素对我们最为关注的这个量的影响权重分别有多大.知道了这些,我们就可以对该量变化所
3、反应的相关问题做出分析和评价,并对其未来发展趋势进行预测和控制.这里就要用到数理统计中一个非常重要而普遍的分析方法,即回归分析法.MATLAB是一个非常强大的通用数学工具,利用其可以轻而易举地解决各学科领域中的一般性数学问题.下面我们首先简单介绍一下回归分析法,在此基础上结合一具体实例,详细介绍利用MATLAB进行多元线性回归分析的几种方法.1回归分析及多元线性回归模型回归分析是研究一个因变量与另一个或一组自变量间定量关系的一种统计分析方法.只有一个自变量的回归分析叫做一元回归分析,有多个自变量的回归分析叫做多元回归分析.按照自变量及因变量间的关系类型,回归分析又有线性回归及非线性
4、回归.所以就有一元线性回归、多元线性回归、一元非线性回归和[1-2]多元非线性回归四种基本回归分析类型.如果一个因变量y与k个自变量x,x,...,x存在线性相关关系,那么就可以用多元线性回归模型12ky=a+ax+ax+...+ax(1)01122kk对其进行描述,其中未知常量a,a,...,a称为回归模型系数.若n次抽样,第i次抽样数据为01k(y,x,x,…,x),那么就有i1i2iki收稿日期:2013-05-20通讯联系人:李艳娇,工程师,硕士,研究方向:工业与民用建筑结构设计及有限元分析,E-mail:liyanjiao0827@163.com.50常熟理工学院学报(自
5、然科学)2014年ìy1=a0+a1x11+a2x21+...+akxk1+ε1ïïy=a+ax+ax+...+ax+ε20112222kk22í(2)ï⋮ïy=a+ax+ax+...+ax+εîn011n22nkknn[1-2]其中ε,ε,...,ε为随机误差项.回归分析的主要任务就是以误差ε,ε,...,ε的平方和最小为原则,求取多01n01n元线性回归模型的回归系数a,a,...,a.01k某单位生产部门有一具体问题,生产人员已明确他们关心的变量y与两个因素x,x具有线性相关关12系,根据式(1)知可以用二元线性回归模型y=a+ax+ax(3)01122对其进行描述.车间给出
6、的n=16个测试数据见表1.现在需要技术部门帮助定量地确定两个因素x,x对他们关心的变量y的影响权重并对变量y的变化12趋势作出预判以便控制.2基于回归算法的MATLAB编程实现根据式(2)及表1中的16个测试数据有ìy1=a0+a1x1,1+a2x2,1+ε1ïïy2=a0+a1x1,2+a2x2,2+ε2í(4)ï⋮ïy=a+ax+ax+εî16011,1622,1616i=16i=1622根据上节的分析可知,现在的问题是要以S=∑εi=∑(a0+a1x1i+a2x2i-yi)最小为原则,求a0,a1,a2.i=1i=1要使得S最小,应满足∂S=0,j=0,1,2.表1测试数据
7、∂aji=16i(x1i,x2i,yi)i(x1i,x2i,yi)ìï∑2(a0+a1x1i+a2x2i-yi)=0-6ïïi=11(0,0,0)9(0.2,0,-2×10)i=16ï即í∑2(a0+a1x1i+a2x2i-yi)x1i=02(0,0.1,2×10-6)10(0.2,0.1,-1×10-6)ïi=1i=16ïï2(a+ax+ax-y)x=03(0,0.2,1×10-6)11(0.2,0.2,0)ï∑011i22ii2iîi=1-6-6ìi=16i=16