1使用统计软件R进行多元回归分析李秀敏,蔡霞(河北科技大学理学院,河北石家庄050018)摘要:多元回归分析是计量经济中重要的模型之一,在实际工作中有着广泛的应用;统计软件在处理数据时显示出越来越重要的作用。本文详细介绍如何用统计软件R,建立回归分析模型,并解读统计分析结果。关键词:统计软件R;回归分析模型;共线性中图分类号:O245文献标示码:A1.1.1.1.统计软件RRRR简介软件R最初是由新西兰奥克兰大学的RossIhaka和RobertGentleman两位学者建立的统计分析及图形处理软件。它是通过计算机网络在GeneralPublicLicence(GPL)下自由发行的,可以免费使用。RossIhaka和RobertGentleman出于教学的目的,对S语言(后来发展称为20世纪80年代的商业软件S-PLUS)进行了简化,称为R语言。R语言自带许多功能强大的统计软件包,这些软件包是由许多不同领域的专家学者奉献的。除了一些常用的软件包如回归分析、方差分析等等以外,R还包含统计领域中较新的研究成果,如极值统计软件包、相关结构Copula软件包等。R语言的安装文件,不管是源代码形式还是二进制形式都可以从因特网ComprehensiveRArchiveNetwork(CRAN):上免费下载。安装R如同一般的Windows软件一样,回车就可以。R对数据的统计分析是通过程序命令完成的,快捷方便。下面以回归分析为例,介绍如何用R进行软件求解,并解读统计分析结果。本文假设读者已具有回归分析的理论知识。2.2.2.2.多元线性回归分析理论概述多元线性回归分析是研究一个响应变量与多个自变量间呈线性相关关系的问题,这种关系可以用多元线性回归方程来描述:01122ˆˆˆˆˆkkyxxx式中为回归常数项,称为偏回归系数,其意义为当其它自变量对响应变0ˆˆ(1,2,,)iik量的影响固定时,对应的第个自变量对的线性影响程度。ˆiiixy【案例1111】财政收入的多因素分析在一定时期内,财政收入(亿元)受许多因素影响,本例取税收收入(亿元)、国y1x2内生产总值(亿元)作为自变量,分析它们对财政收入的影响。数据来源于《中国统计2x年鉴》,数据时限为1978年到1995年。2.12.12.12.1数据的输入:向R中输入数据可以有多种方法,如果数据较少时,可以从键盘直接输入,下面是从放在d盘上的用记事本形式记录的一个数据框架shuju.txt,命令语句为:income=read.table(d:/shuju.txt,col.names=c(y,x1,x2)),输出结果为:incomyx1x211132.623624.1519.2821146.384038.2537.8231159.934517.8571.70164348.9534650.54255.30175218.1046532.95126.88186242.2057277.36038.04输出结果的最左边一列表明数据的长度,在这里就是样本容量的大小。2.22.22.22.2线性回归分析:线性回归分析的命令语句简捷明了,命令语句为:lm.income=lm(income$y~income$x1+income$x2)summary(lm.income)#显示回归结果输出结果为:Call:lm(formula=income$y~income$x1+income$x2)Residuals:Min1QMedian3QMax-140.03-75.76-15.1251.81456.77Coefficients:EstimateStd.ErrortvaluePr(|t|)(Intercept)8.036e+026.844e+0111.7425.82e-09***income$x16.082e-029.781e-036.2181.65e-05***income$x23.233e-019.134e-023.5400.00297**---Signif.codes:0'***'0.001'**'0.01'*'0.05'.'0.1''1Residualstandarderror:144.7on15degreesoffreedomMultipleR-Squared:0.9915,AdjustedR-squared:0.9904F-statistic:873.4on2and15DF,p-value:2.992e-16从输出结果可以看出,回归方程为,变量和的统计量12803.60.060.32yxx1x2xt的估计值分别为6.218和3.540,由对应的值都比显著性水平0.05小,可得两个偏回归系p数在显著性水平0.05下均显著不为零。进一步地剩余方差的估计值,统计22ˆ144.7F3量的估计值为873.4,由对应的值2.992e-16说明,回归方程是显著的。可决系数p,修正的可决系数为说明方程的拟合效果较好。20.9915R20.9904,R2.32.32.32.3拟合效果图形展示:以财政收入的原始数据作为轴,回归拟合值为轴作图,平xy面上的点用直线连接见图1。其命令语句为:plot(income$y,fitted(lm.1),type=l),图形如下:图1财政收入与回归值的拟合效果图2.42.42.42.4置信区间与预测区间:置信区间是给定自变量值后,由回归方程得到的的预测值(实0y际上是的平均值)的置信区间;预测区间是实际值的置信区间,在这里称为预测区间。0y0y预测区间要比置信区间稍大,命令与显示结果如下:predict(lm.1,int=c)predict(lm.1,int=p)fitlwruprfitlwrupr11191.9021072.9271310.87611191.902861.28981522.51321223.0791102.3081343.85021223.079891.81661554.34231263.1991141.6491384.74931263.199931.65211594.747164286.6294170.3384402.920164286.6293956.97364616.285175291.0395124.8475457.230175291.0394940.65485641.423186239.0376014.8316463.244186239.0375857.70036620.3742.52.52.52.5残差分析:残差分析可以对回归模型的假设条件即随机误差项是否独立同分布进行检验,同时还可以找出离群点。命令语句为plot(lm.1),显示结果如下:4图2残差分析图左上图是拟合值与残差的散点图,从图上可以发现,除去第6个离群点外,所有点基本上是随机地分散在纵坐标值为-1和+1的两条平行线之间,这说明随机误差项具有同方差性;左下图是拟合值与残差的标准差的散点图,其意义与上面类似;右上图表明随机误差项是服从正态分布的,其原因是正态Q-Q图近似地可以看成一条直线;右下图的CooK距离图进一步证实第6个观测值是一个离群点,它对回归方程的影响是比较大的,要根据具体问题,讨论出现这一观测值的实际背景。3.3.3.3.建立“最优”的回归方程在实际问题中,一个响应变量常常受多个自变量的影响,如果把这些所能考虑到的影响因素都放到回归方程里,不仅计算量大,而且有时得不到理想的结果。【案例2222】某种水泥在凝固时放出的热量(单位:cal/g)与水泥中下列4种化学成分y有关,测试数据见下表。5求变量对这些自变量的线性回归方程,命令程序如下:yconcrete=read.table(d:/example2.txt,col.names=c(x1,x2,x3,x4,y))lm.2=lm(concrete$y~concrete$x1+concrete$x2+concrete$x3+concrete$x4)summary(lm.2)#输出回归结果Call:lm(formula=concrete$y~concrete$x1+concrete$x2+concrete$x3+concrete$x4)Residuals:Min1QMedian3QMax-3.1750-1.67090.25081.37833.9254Coefficients:EstimateStd.ErrortvaluePr(|t|)(Intercept)62.405470.07100.8910.3991concrete$x11.55110.74482.0830.0708.concrete$x20.51020.72380.7050.5009concrete$x30.10190.75470.1350.8959concrete$x4-0.14410.7091-0.2030.8441---Signif.codes:0'***'0.001'**'0.01'*'0.05'.'0.1''1Residualstandarderror:2.446on8degreesoffreedomMultipleR-Squared:0.9824,AdjustedR-squared:0.9736F-statistic:111.5on4and8DF,p-value:4.756e-07从回归结果可以看到,各自变量的偏回归系数在显著性水平0.05下均显著为零,然而回归方程的检验统计量F对应的p值远远小于0.05,修正的可决系数也较高,达到了0.9736,说明回归效果是显著的。这个结果似乎是矛盾的,产生这个矛盾的原因就是因为这4个自变量之间有共线性问题。下面用“向后回归法”,通过软件分析建立“最优”回归方程。向后编号1x2x3x4xy12345678910111213711111711312211111026295631525571315447406668615886917221842398605220473322644222634121278.574.3104.387.695.9109.2102.772.593.1115.983.8113.3109.46回归法就是建立包含全部因子的回归方程,通过回归系数的检验,从回归方程中逐个剔除不显著的因子,直到留在方程中的因子都是显著的。首先剔除对应的t统计量观测值的绝对值最小的那个变量,在这里就是变量,进一步地去掉不显著变量,命令及回归结果如下:4x3xlm.3=lm(concrete$y~concrete$x1+concrete$x2+concrete$x3)summary(lm.3)#显示回归结果Call:lm(formula=concrete$y~concrete$x1+concrete$x2+concrete$x3)Residuals:Min1QMedian3QMax-3.2543-1.47260.17551.54093.9711Coefficients:EstimateStd.ErrortvaluePr(|t|)(Intercept)48.193633.9133012.3156.17e-07***concrete$x11.695890.204588.2901.66e-05***concrete$x20.656910.0442314.8511.23e-07***concrete$x30.250020.184711.3540.209---Signif.codes:0'***'0.001'**'0.01'*'0.05'.'0.1''1Residualstandarderror:2.312on9degreesoffreedomMultipleR-Squared:0.9823,AdjustedR-squared:0.9764F-statistic:166.3on3and9DF,p-value:3.367e-08进一步去掉不显著变量,命令及回归结果如下:3xlm.4=lm(concrete$y~concrete$x