Matlab实现多元回归实例_第1页
Matlab实现多元回归实例_第2页
Matlab实现多元回归实例_第3页
Matlab实现多元回归实例_第4页
免费预览已结束,剩余15页可下载查看

下载本文档

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

文档简介

1、Matlab 实现多元回归实例( 一) 一般多元回归一般在生产实践和科学研究中,人们得到了参数x X i, ,Xn 和因变量 y 的 数据,需要求出关系式 y f X ,这时就可以用到回归分析的方法。如果只考虑f 是线性函数的情形,当自变量只有一个时,即,X X i, ,X n 中 n 1 时,称为一元线性回归,当自变量有多个时,即,X %, ,X n 中 n 2 时,称为多元线性回归。进行线性回归时,有4 个基本假定: 因变量与自变量之间存在线性关系; 残差是独立的; 残差满足方差奇性; 残差满足正态分布。在 Matlab 软件包中有一个做一般多元回归分析的命令regeress 调用格式如下

2、:b, bint, r, rint, stats = regress(y,X,alpha)或者b, bi nt, r, rint, stats = regress(y,X)此时,默认alpha=0.05.这里,y是一个n 1 的列向量,X是一个n m 1的矩阵,其中第一列是全1向量 (这一点对于回归来说很重要,这一个全1列向量对应回归方程的常数项), 一般情况下,需要人工造一个全1列向量。回归方程具有如下形式:y 01X1m X m其中,是残差。在返回项 b,bint,r,rint,stats 中, b 0 1m 是回归方程的系数; bint 是一个 m 2 矩阵,它的第 i 行表示 i 的(

3、1-alpha) 置信区间; r 是 n 1 的残差列向量; rint 是 n 2 矩阵,它的第 i 行表示第 i 个残差匚的 (1-alpha) 置信区间;注释:残差与残差区间杠杆图,最好在 0 点线附近比较均匀的分布,而不呈 现一定的规律性,如果是这样,就说明回归分析做得比较理想。 一般的, stast 返回 4 个值: R2 值、 F_检验值、阈值f,与显著性概率相关的 p 值( 如果这个 p 值不存在,贝 U,只输出前 3 项 ) 。注释 :( 1) 一般说来, R2 值越大越好。(2) 人们一般用以下统计量对回归方程做显著性检验:F_检验、 t_检验、以及相关系数检验法。 Matla

4、b 软件包输出 F_检验值和阈值f。一般说来, F_检验值越大越好,特别的,应该有F_检验值 f。(3) 与显著性概率相关的p值应该满足p alpha。如果p alpha,则说明回归方程中有多余的自变量,可以将这些多余的自变量从回归方程中剔除 (见下面逐 步回归的内容)。这几个技术指标说明拟合程度的好坏。 这几个指标都好,就说明回归方程是 有意义的。例 1 ( Hamilton , 1987 )数据如下 :序号YX1X2112.372.239.66212.662.578.94312.003.874.40411.933.106.64511.063.394.91613.032.838.52713.

5、133.028.04811.442.149.05912.863.047.711010.843.265.111111.203.395.051211.562.358.511310.832.766.591412.633.904.901512.463.166.96第一步分析数据在 Matlab 软件包中分析是否具有线性关系,并作图观察,M 文件opt_ha nmilton_1987 :x1=2.23,2.57,3.87,3.10,3.39,2.83,3.02,2.14,3.04,3.26,3.39,2.35,2.76,3.90,3.16;x2=9.66,8.94,4.40,6.64,4.91,8.52

6、,8.04,9.05,7.71,5.11,5.05,8.51,6.59,4.90,6.96;y=12.37,12.66,12.00,11.93,11.06,13.03,13.13,11.44,12.86,10.84,11.20,11.56,10.83,12 .63,12.46;corrcoef(x1,y)corrcoef(x2,y)plot3(x1,x2,y, *)得到结果:ans =1.00000.00250.00251.0000ans =1.00000.43410.43411.0000即, corrcoef(x1,y) = 0.0025 ,corrcoef(x2,y) = 0.4341 ,

7、 说明没有非常明显的单变量线性关系。图形如下:这说明, y,x1,x2 在一个平面上,满足线性关系:a1 x1a2 x2b y a或者,换成一个常见的形式ya0 a 1 x1a2 x2其中,是残差。于是,在Matlab 软件包中做线性多元回归,写一个M 文件opt_regress_hamiltonx1=2.23,2.57,3.87,3.10,3.39,2.83,3.02,2.14,3.04,3.26,3.39,2.35,2.76,3.90,3.16;x2=9.66,8.94,4.40,6.64,4.91,8.52,8.04,9.05,7.71,5.11,5.05,8.51,6.59,4.90,

8、6.96;y=12.37,12.66,12.00,11.93,11.06,13.03,13.13,11.44,12.86,10.84,11.20,11.56,10.83,12.63,12.46;e=on es(15,1);x=e,x1,x2;b,b in t,r,ri nt,stats=regress(y,x,0.05)rcoplot(r,ri nt)其中, rcoplot ( Residual case order plo ) 表示画出残差与残差区间的杠杆图。执行后得到:b =-4.51543.09701.0319bint =-4.6486 -4.38223.0703 3.12381.023

9、8 1.0399 r =0.0113-0.0087-0.0102-0.00690.0101-0.0106-0.0037-0.01050.0049-0.01360.00570.0163-0.00230.01100.0071rint =-0.0087 0.0314-0.0303 0.0128-0.0301 0.0098-0.0299 0.0162-0.0106 0.0308-0.0313 0.0102-0.0252 0.0178-0.0299 0.0089-0.0174 0.0272-0.0331 0.0058-0.0161 0.0275-0.0027 0.0354-0.0236 0.0190-0

10、.0079 0.0299-0.0156 0.0298stats =1.0e+004*0.00013.92220 0.0000即, y 4.515 3.097X , 1.0319x 2。置信度 95 %,且 R2 1.0, F_ 检验值39222 0 , 与显著性概率0.05 相关的p 0.0000 0.05 ,这说明,回归方程中的每个自变量的选取,都是有意义的。残差杠杆图:D.D.a D-D. C3EDIO0102Ctw NurrHer从杠杆图看出,所有的残差都在0 点附近均匀分布,区间几乎都位于0.03,0.03 之间,即,没有发现高杠杆点,也就是说,数据中没有强影响点、异常观测点。综合起来

11、看,以上回归结果( 回归函数、拟合曲线或曲面) 近乎完美。( 二) 逐步回归假设已有数据X 和丫,在 Matlab 软件包中,使用stepwise 命令进行逐步回命令的使用格式如下: stepwise(X,Y)归,得到回归方程Y 81X182X2anXn,其中是随机误差。stepwise注意:应用 stepwise 命令做逐步回归,数据矩阵X 的第一列不需要人工加向量,程序会自动求出回归方程的常数项( intercept ) 。在应用 stepwise 命令进行运算时,程序不断提醒将某个变量加入( Move in)一个全回归方1程,或者提醒将某个变量从回归方程中剔除(Move out ) 。注

12、释:使用 stepwise 命令进行逐步回归,既有剔除变量的运算,也有引入变量的运算,它是目前应用较为广泛的一种多元回归方法。在运行stepwise(X,Y)命令时,默认显著性概率0.05 。例 2( Hald,1960)Hald数据是关于水泥生产的数据。某种水泥在凝固时放出的热量 丫(单位:卡/克 ) 与水泥中4种化学成分所占的百分比有关:x1: 3Cao AI2O 3X2: 3Cao Sio2X3:4Cao AI2 O3Fe2QX4:2Cao SiQ在生产中测得 13 组数据 :序号X1X2X3X4Y17266P 6078.52129155274.331156820104.34113184

13、787.6575263395.961155922109.27371176102.78131224472.59254182293.1102147426115.911140233483.8121166912113.3131068812109.4求出关系式 丫 f X。解:( 1)本问题涉及的数据是5 维的,不能画图观察。先做异常值分析。X=7,26,6,60;1,29,15,52;11,56,8,20;11,31,8,47;7,52,6,33;11,55,9,22;3,71,17,6;1,31,2 2,44;2,54,18,22;21,47,4,26;1,40,23,34;11,66,9,12;1

14、0,68,8,12;丫=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;A=X,Y;mahal (A,A )程序执行后得到结果:ans =5.68033.64846.70023.36763.38394.43004.00806.50673.08497.50165.17682.4701可以认为数据都是正常的。(2)一般多元回归。在 Matlab 软件包中写一个M 文件 opt_cement_1:X=7,26,6,60;1,29,15,52;11,56,8,20;11,31,8,47;7,52,6,33;1

15、1,55,9,22;3,71,17,6;1,31,22,44;2,54,18,22;21,47,4,26;1,40,23,34;11,66,9,12;10,68,8,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;a1=ones(13,1);A=a1,X;b,bint,r,rint,stat=regress(Y,A)rcoplot(r,rint)程序执行后得到:b =62.40541.55110.51020.1019-0.1441bint =-99.1786223.9893-0.16633.

16、2685-1.15892.1792-1.63851.8423-1.77911.4910r =0.00481.5112-1.6709-1.72710.25083.9254-1.4487-3.17501.37830.28151.99100.9730-2.2943rint =-4.03904.0485-3.23316.2555-5.31261.9707-6.56033.1061-4.57735.0788-0.56238.4132-6.07673.1794-6.89630.5463-3.54266.2993-3.00983.5729-2.23726.2191-4.13386.0797-6.91152.

17、3228stat =0.9824 111.47920.00005.9830以及残差杠杆图:一田工FF : N-omMr于是,我们得到:Y 62 .40541 .5511 x 1 0.5102 x 0.1019 x 3 0.1441 x 4并且,残差杠杆图显示,残差均匀分布在0 点线附近,在 stat 返回的 4 个值中 ,R2=0.9824,说明模型拟合的很好。F_检验值 =符合要求。但是,与显111.47920.000,著性概率相关的p 值二 5.98300.05, 这说明,回归方程中有些变量可以剔除。( 3) 逐步回归在 Matlab 软件包中写一个 M 文件 opt_cement_2:X

18、=7,26,6,60;1,29,15,52;11,56,8,20;11,31,8,47;7,52,6,33;11,55,9,22;3,71,17,6;1,31,22,44;2,54,18,22;21,47,4,26;1,40,23,34;11,66,9,12;10,68,8,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;stepwise(X,Y)程序执行后得到下列逐步回归的画面:Coefficients with Error BarsCoeff. t-stat p-valNext slep

19、 :X1X2X3-1.86875 3.55000.00460.789125 4.68620.0007-1.25578 -2.09840.0598Move X4 InX4-?-0.738162 -4.7748 0.0006-3-2-1IrtBrcefJt - K .42311F =NsiNRMSE-15.W37AdjR-3q-4J.D833333Model History171615141程序提示:将变量 x4 加进回归方程( Move x4 in ),点击 Next Step 按钮,即,进行下一步运算,将第 4 列数据对应的变量 x4 加入回归方程。点击 Next Step 按健后,又得到提示

20、:将变量x1 加进回归方程( Move x1 in ),点击 Next Step按钮 ,即,进行下一步运算,将第1 列数据对应的变量冶加入回归方程。点击Next Step按健后,又得到提示: Move No terms ,即,没有需要加入(也没有需要剔除)的变量了。注意:在 Matlab7.0软件包中,可以直接点击“All Steps ”按钮,直接求出 结果(省略中间过程)Coefficie nts with Error BarsCoeff. t-stat p-val00.511.52Next step:X1Irlercept = 103D971.43996 10.4031 0.0000F = 17&.627Mova no怕 meR-src|usre - 0.972471RMS = 2.73427AxjjR-sq = 0 964212p = 1.56l06e-006X20.41611 2.2418 0.0517Model History20X3-0.410043 -2.0581 0.0697in10ter

温馨提示

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

评论

0/150

提交评论