您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > Matlab-多元线性回归
Matlab多元线性回归1、多元线性回归在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,更符合实际。在实际经济问题中,一个变量往往受到多个变量的影响。例如,家庭消费支出,除了受家庭可支配收入的影响外,还受诸如家庭所有的财富、物价水平、金融机构存款利息等多种因素的影响,表现在线性回归模型中的解释变量有多个。这样的模型被称为多元线性回归模型。(multivariablelinearregressionmodel)多元线性回归模型的一般形式为:01122iY=+X+X++X+,=1,2,,iiikkiinββββμ(1)其中k为解释变量的数目,(1,2,,)jjkβ=称为回归系数(regressioncoefficient)。上式也被称为总体回归函数的随机表达式。它的非随机表达式为:01122Y=+X+X++X,=1,2,,iiikkiinββββ(2)jβ也被称为偏回归系数(partialregressioncoefficient)。2、多元线性回归计算模型201122Y=+++++,(0,)kkxxxNββββεεδ∼(3)多元性回归模型的参数估计,同一元线性回归方程一样,也是在要求误差平方和(Σe)为最小的前提下,用最小二乘法或最大似然估计法求解参数。设11121112(,,,,),,(,,,,)pnnnpnxxxyxxxy是一个样本,用最大似然估计法估计参数:取010011ˆˆˆˆˆˆ,,,,,,,pppbbbbbbbbb===当时,20111()niipipiQybbxbx==−−−−∑达到最小。0111001112()0,2()01,2,,niipipiniipipijijQybbxbxbQybbxbxxbjp==⎧∂=−−−−−=⎪∂⎪⎨∂⎪=−−−−−=⎪∂⎩=∑∑(4)(4)化简可得:01122111120111212111111120112211111,,.nnnniipipiiiiinnnniiiipiipiiiiniiinnnnipipiipipipiiiinipiibnbxbxbxybxbxbxxbxxxybxbxxbxxbxxy==============⎫++++=⎪⎪⎪++++⎪⎪⎪=⎪⎬⎪⎪⎪++++⎪⎪⎪=⎪⎭∑∑∑∑∑∑∑∑∑∑∑∑∑∑(5)引入矩阵:111210121222121211,,.1ppnnnppnxxxbyxxxbyXYBxxxby⎛⎞⎛⎞⎛⎞⎜⎟⎜⎟⎜⎟⎜⎟⎜⎟⎜⎟===⎜⎟⎜⎟⎜⎟⎜⎟⎜⎟⎜⎟⎜⎟⎜⎟⎝⎠⎝⎠⎝⎠方程组(5)可以化简得:''XXBXY=(6)可得最大似然估计值:011ˆˆˆ(')'ˆpbbBXXXYb−⎛⎞⎜⎟⎜⎟==⎜⎟⎜⎟⎜⎟⎝⎠(7)12011(,,,)pppxxxbbxbxμ=+++的估计是:01122ˆˆˆˆˆppybbxbxbx=++++(8)公式(8)为P元经验线性回归方程。3、Matlab多元线性回归的实现多元线性回归在Matlab中主要实现方法如下:(1)b=regress(Y,X)确定回归系数的点估计值其中111210121222121211,,.1ppnnnppnxxxbyxxxbyXYBxxxby⎛⎞⎛⎞⎛⎞⎜⎟⎜⎟⎜⎟⎜⎟⎜⎟⎜⎟===⎜⎟⎜⎟⎜⎟⎜⎟⎜⎟⎜⎟⎜⎟⎜⎟⎝⎠⎝⎠⎝⎠(9)(2)[b,bint,r,rint,stats]=regress(Y,X,alpha)求回归系数的点估计和区间估计、并检验回归模型①bint表示回归系数的区间估计.②r表示残差③rint表示置信区间④stats表示用于检验回归模型的统计量,有三个数值:相关系数r2、F值、与F对应的概率p说明:相关系数r2越接近1,说明回归方程越显著;FF1-alpha(p,n-p-1)时拒绝H0,F越大,说明回归方程越显著;与F对应的概率pα时拒绝H0,回归模型成立。⑤alpha表示显著性水平(缺省时为0.05)(3)rcoplot(r,rint)画出残差及其置信区间实例1:(一元线性回归)测得16名女子的身高和腿长如下表所示(单位:cm):身高143145146147149150153154腿长8885889192939395身高155156157158159160162164腿长969897969899100102试研究这些数据之间的关系。分析:x=[143,145,146,147,149,150,153,154,155,156,157,158,159,160,162,164]由式(9)可得X=[eT,xT](eT为单位列向量)y=[88,85,88,91,92,93,93,95,96,98,97,96,98,99,100,102]Y=yTMatlab程序为:/输入如下命令:/在Matlab图示所示:x=[143,145,146,147,149,150,153,154,155,156,157,158,159,160,162,164];y=[88,85,88,91,92,93,93,95,96,98,97,96,98,99,100,102];X=[ones(length(y),1),x'];Y=y';[b,bint,r,rint,stats]=regress(Y,X);b,bint,stats/输出结果如图所示:/因此我们可得01ˆ16.0730,ˆ0.7194.bb=−=,0ˆ(33.7071,1.5612),b−的置信区间1ˆ(0.6047,0.834).b的置信区间20.9282,180.9531,0.0000.rFp===0.05,16.07300.7194.pyx=−+回归模型成立/残差分析/在Matlab命令窗口输入得到残差图如图所示:rcoplot(r,rint)/预测及作图/在Matlab命令窗口输入得到预测比较图如图所示:实例2:(多元线性回归)水泥凝固时放出的热量y与水泥中的四种化学成分x1,x2,x3,x4有关,今测得一组数据如下,试确定多元线性模型.z=b(1)+b(2)*xplot(x,Y,'k+',x,z,'r')序号1234567x17111117113x226295631525571x3615886917x46052204733226y78.574.3104.387.695.9109.2102.7序号8910111213x1122111110x2315447406668x3221842398x4442226341212y72.593.1115.983.8113.3109.4分析:x1=[7,1,11,11,7,11,3,1,2,21,1,11,10];x2=[26,29,56,31,52,55,71,31,54,47,40,66,68];x3=[6,15,8,8,6,9,17,22,18,4,23,9,8];x4=[60,52,20,47,33,22,6,44,22,26,34,12,12];y=[78.5,74.3,104.3,87.6,95.9,109.2,102.7,72.5,93.1,115.9,83.8,113.3,109.4];由式(9)可得X=[eT,x1T,x2T,x3T,x4T](eT为单位列向量)Y=yTMatlab程序为:/输入如下命令:/在Matlab图示所示:x1=[7,1,11,11,7,11,3,1,2,21,1,11,10];x2=[26,29,56,31,52,55,71,31,54,47,40,66,68];x3=[6,15,8,8,6,9,17,22,18,4,23,9,8];x4=[60,52,20,47,33,22,6,44,22,26,34,12,12];y=[78.5,74.3,104.3,87.6,95.9,109.2,102.7,72.5,93.1,115.9,83.8,113.3,109.4];X=[ones(length(y),1),x1',x2',x3',x4'];%把行向量转轶为列向量Y=y';%把行向量转轶为列向量[b,bint,r,rint,stats]=regress(Y,X);b,bint,stats/输出结果如图所示:/因此我们可得01234ˆ62.4054,ˆ1.5511,ˆ0.5102,ˆ0.1019,ˆ1441.bbbbb=====−,01234ˆ(99.1786,223.9893),ˆ(0.1663,3.2685),ˆ(1.1589,2.1792),ˆ(1.6385,1.8423),ˆ(1.7791,1.4910).bbbbb−−−−−的置信区间的置信区间的置信区间的置信区间的置信区间20.9824,111.4792,0.0000.rFp===12340.05,62.40541.55110.5102.pyxxxx=−++回归模型+0.1019-0.1441成立/残差分析/在Matlab命令窗口输入得到残差图如图所示:/预测及作图/在Matlab命令窗口输入得到预测比较图所示:z=b(1)+b(2)*x1+b(3)*x2+b(4)*x3+b(5)*x4;plot(X,Y,'k+',X,z,'r')rcoplot(r,rint)
本文标题:Matlab-多元线性回归
链接地址:https://www.777doc.com/doc-4732458 .html