106730947.doc
商务数据分析
电子商务系列
Correlation Analysis 7 'VAR' Variables: OXYGEN AGE WEIGHT RUNTIME RSTPULSE RUNPULSE MAXPULSE Simple Statistics Variable N Mean Std Dev Sum Minimum Maximum Label OXYGEN 31 47.3758 5.3272 1468.7 37.3880 60.0550 Oxygen consumption AGE 31 47.6774 5.2114 1478.0 38.0000 57.0000 Age in years WEIGHT 31 77.4445 8.3286 2400.8 59.0800 91.6300 Weight in kg RUNTIME 31 10.5861 1.3874 328.2 8.1700 14.0300 Min. to run 1.5 miles RSTPULSE 31 53.7419 8.2944 1666.0 40.0000 76.0000 Heart rate while resting RUNPULSE 31 169.6452 10.2520 5259.0 146.0000 186.0000 Heart rate while running MAXPULSE 31 173.7742 9.1641 5387.0 155.0000 192.0000 Maximum heart rate Pearson Correlation Coefficients / Prob > |R| under Ho: Rho=0 / N = 31 OXYGEN AGE WEIGHT RUNTIME RSTPULSE RUNPULSE MAXPULSE OXYGEN 1.00000 -0.30459 -0.16275 -0.86219 -0.34641 -0.39797 -0.23674 Oxygen consumption 0.0 0.0957 0.3817 0.0001 0.0563 0.0266 0.1997 AGE -0.30459 1.00000 -0.23354 0.18875 -0.14157 -0.33787 -0.43292 Age in years 0.0957 0.0 0.2061 0.3092 0.4475 0.0630 0.0150 WEIGHT -0.16275 -0.23354 1.00000 0.14351 0.02270 0.18152 0.24938 Weight in kg 0.3817 0.2061 0.0 0.4412 0.9035 0.3284 0.1761 RUNTIME -0.86219 0.18875 0.14351 1.00000 0.40054 0.31365 0.22610
4. 回归分析
编写的回归分析程序如下:
proc reg data= fitness;
model oxygen=age maxpulse rstpulse runpulse runtime weight/ss1 ss2 ; run ;
Model语句中增加ss1和ss2选项,回归模型将计算每个自变量两种不同类型的平方和,其中,ss1是按model语句中自变量的排列顺序依次计算每个自变量的平方和,也称为第一类平方和或称顺序平方和,ss2是把model语句中每个自变量排到变量列表的最后,所计算的第一类平方和,也称为第二类平方和或称部分平方和。通过分析每个自变量的这两类平方和,能知道回归模型总的平方和的构成和各个自变量所贡献的平方和,进而能知道哪些自变量是最重要的回归变量,哪些回归变量可能是无关紧要的,配合参数估计的t检验,最终为缩减回归变量提供依据,达到简化模型的目的。运行后,在Output窗口得到表32.11所示的结果。
表32.11 fitness数据的回归分析结果
上海财经大学经济信息管理系IS/SHUFE
Page 21 of 27
106730947.doc
商务数据分析
电子商务系列 Model: MODEL1 Dependent Variable: OXYGEN Analysis of Variance Sum of Mean Source DF Squares Square F Value Prob>F Model 6 721.97421 120.32904 22.316 0.0001 Error 24 129.40733 5.39197 C Total 30 851.38154 Root MSE 2.32206 R-square 0.8480 Dep Mean 47.37581 Adj R-sq 0.8100 C.V. 4.90137 Parameter Estimates Parameter Standard T for H0: Variable DF Estimate Error Parameter=0 Prob > |T| Type I SS Type II SS INTERCEP 1 102.238339 12.45304719 8.210 0.0001 69578 363.432659 AGE 1 -0.219916 0.09959154 -2.208 0.0370 78.988227 26.291488
这一输出与简单线性回归的输出是完全相仿的,只是进入回归的自变量有6个。从参数的估计值容易得到拟合的回归为:
oxygen= 102.238339-0.219916age + 0.304735maxpulse-0.000844rstpulse-
0.373164runpulse-2.680516runtime-0.072380weight
方差分析类似于例30.1,在多元线性回归时,F Value是除了截距外其他所有参数都为零的假设检验。R-Square同时还是多重相关系数的平方,换言之,它是自变量与预测值之间的相关系数平方。我们这里不再重复分析和计算。
多元线性回归模型的第一个重要问题是模型的简化,也就是说如何正确地缩减自变量达到最优的简化模型。由于自变量除了对总方差贡献大小外,还存在着自变量间的相关性,删除哪一个自变量并不是一个简单问题。我们在这里重点分析参数估计表中的Type I SS和Type II SS平方和,配合分析参数估计的t检验p值,对缩减自变量的依据有所掌握。
类型1的平方和(Type I SS)被称为序列平方和,它是按model语句中自变量的先后序列,每加入一个自变量到这个序列中,回归模型因此而增加的平方和,把这个增加的平方和算为这个自变量的类型1的平方和。截距INTERCEP的Type I SS为ny,称为修正均值,31×47.375812=69578。age的类型1的平方和等于回归模型只包括截距和age时的RSS值(78.988227),maxpulse的类型1的平方和等于回归模型只包括截距、age、maxpulse时的RSS值(221.344)减回归模型只包括截距和age时的RSS值(78.988227),即221.344-78.988227=142.355426,实质上是指回归模型在前面模型的基础上增加了自变量maxpulse而增加的RSS,用表达式表示为:
Type I SS(maxpulse)=RSS(model oxygen=age maxpulse )-RSS(model oxygen=age) 以此类推,weight的类型1的平方和为:
Type I SS(weight)=RSS(model oxygen=age maxpulse rstpulse runpulse runtime weight )-RSS(model oxygen= age maxpulse rstpulse runpulse runtime)
上海财经大学经济信息管理系IS/SHUFE
Page 22 of 27
2106730947.doc
商务数据分析
电子商务系列
所以有恆等式:
Type I SS(age)+ Type I SS(maxpulse)+ Type I SS(rstpulse)+ Type I SS(runpulse)+ Type I SS(runtime)+ Type I SS(weight)= RSS(model oxygen=age maxpulse rstpulse runpulse runtime weight )
即:
721.97421=78.988227+142.355426+82.447865+98.364065+310.368687+9.449942 说明回归模型的平方和可以分解成回归模型中各自变量的类型1平方和。
类型2的平方和(Type II SS)通常被称为部分平方和,对于一个给定自变量的类型2平方和等于把这个自变量放在model语句等号右边的最后,所求得的类型1平方和。例如: Type II SS(age)=RSS(model oxygen=maxpulse rstpulse runpulse runtime weight age )-RSS(model oxygen= maxpulse rstpulse runpulse runtime weight)
所以,model语句最后一个自变量的类型1平方和与类型2平方和总是相等的,例如,表32.11中的最后一个变量weight,Type I SS(weight)= Type II SS(weight)=9.449942。从类型2平方和的计算可知,自变量的类型2平方和不依赖于在model语句中的列表次序,而类型1平方和却与自变量在model语句中的列表次序密切相关。每个自变量的类型2平方和总是小于等于类型1平方和,所以所有自变量的类型2平方和之和小于回归模型的平方和,原因是一个自变量先进入模型,它的贡献总是大于最后进入模型的自变量,因为变量间有相关性,所以先进入模型的自变量总或多或少把后进入模型相关变量的贡献也算在自己头上一点。除非每个自变量之间是不相关的,类型1平方和与类型2平方和才是等价的。
判断回归模型是否还能缩减自变量,可以通过这两类平方和构造F检验来比较确定。首先,注意到每个自变量的平方和只有一个自由度,所以平方和也就是均方和,除以均方误差MSE构造了模型中包含这个自变量的F统计量,原假设为包含这个自变量模型与不包含这个自变量的模型是一样好。这样,maxpulse变量的类型1平方和的F统计量为:
F1maxpulse(1,29)?142.355426?26.40136
5.39197相应p=0.000017,拒绝原假设,接受回归模型中包含age和 maxpulse比只包含age要好。变量的类型1平方和的F统计量只有weight的p值不显著,不能拒绝回归模型中包含age、 maxpulse、 rstpulse、 runpulse、 runtime、 weight与包含age、 maxpulse、 rstpulse、 runpulse、 runtime一样好。类似地,我们可以计算maxpulse变量的类型2平方和的F统计量:
F2maxpulse(1,29)?26.59054?4.931505
5.39197相应p=0.03434219,拒绝原假设,接受回归模型中包含age、 maxpulse、 rstpulse、 runpulse、 runtime、 weight比包含age、 rstpulse、 runpulse、 runtime、 weight要好。类型2平方和的F统计量只有rstpulse和weight不显著。两类F统计量的p值差异最大的是rstpulse自变量,这是我们首先要考虑删除的。实际上,自变量类型2平方和的F检验等同于这个自变量的参数t检验,因为F值等于t值的平方,例如,4.931505?2.22069931。
其实,有时直观地分析两类平方和的数值大小就能得到基本的判断,runtime自变量的两类平方和都是最大的且占的比例很大,说明是回归模型中第一重要的自变量。而rstpulse自变量在第一类平方和中有比较大的数值却在第二类平方和中是最小的,这是rstpulse自变量应该考虑被第一个删除的主要原因。
25. 剔除不显著的回归变量
上海财经大学经济信息管理系IS/SHUFE
Page 23 of 27
106730947.doc
商务数据分析
电子商务系列
从参数估计表检验部分也可以看出,对自变量rstpulse和weight的回归系数的t假设检验,不能拒绝它们为0的原假设。当然在这里必须小心地看待这些检验,因为它们都是在其他自变量都加入回归的前提下进行显著性检验的,完全可能因为自变量间存在较强的相关而掩盖他们对回归的贡献。所以,在剔除不显著的回归变量时必须逐个进行。另外,从自变量rstpulse和weight的回归系数接近于0,也提示我们应先考虑删除哪一个变量。
因为过程reg具有连续的交互功能,在执行了提交的部分语句后,仍可继续提交语句让它执行,直至提交quit语句或因执行其他过程而终止。根据上面删除自变量的分析,我们先从已加入回归模型的自变量中剔除rstpulse。可直接提交如下的程序:
delete rstpulse ; print ; run ;
运行后,得到表32.12所示的结果。 Model: MODEL1 Dependent Variable: OXYGEN Analysis of Variance Sum of Mean Source DF Squares Square F Value Prob>F Model 5 721.97309 144.39462 27.895 0.0001 Error 25 129.40845 5.17634 C Total 30 851.38154 Root MSE 2.27516 R-square 0.8480 Dep Mean 47.37581 Adj R-sq 0.8176 C.V. 4.80236 Parameter Estimates Parameter Standard T for H0: Variable DF Estimate Error Parameter=0 Prob > |T| Type I SS Type II SS INTERCEP 1 102.204275 11.97928972 8.532 0.0001 69578 376.789349 表32.12 剔除rstpulse后的回归分析结果
比较剔除rstpulse前后的输出可看出,R的变化在4位小数之后。进入回归的变量的回归系数在剔除rstpulse后的变化都小于1%。说明剔除自变量rstpulse后,对回归模型没有实质性的影响,这个自变量的剔除是恰当的。重新拟合的回归模型为:
oxygen= 102.204275-0.219621age + 0.304908maxpulse-0.373401runpulse-
2.682523runtime-0.072302weight
26. 系数的线性组合检验
SAS系统的reg过程可以单独地对回归系数进行系数为0的t假设检验测试,同时还可以对回归系数的线性组合进行F检验,使用test语句。例如,我们看到参数估计表中,maxpulse
上海财经大学经济信息管理系IS/SHUFE
Page 24 of 27
106730947.doc
商务数据分析
电子商务系列
变量的系数与runpulse变量的系数之和非常接近于0,想要检验一下这样的系数线性组合是否有很大的可能性,如果是那样,则可以简化回归模型。程序如下:
proc reg data= fitness;
model oxygen=age maxpulse runpulse runtime weight; pulse: test maxpulse+runpulse=0; run ;
其中,pulse是语句标记,可以是任意符号,用于区分多个test语句时是哪一个假设检验。本程序只有一个test语句,原假设H0:maxpulse+runpulse=0。程序运行后,得到表32.13所示的假设检验结果。
Dependent Variable: OXYGEN Test: PULSE Numerator: 8.2572 DF: 1 F value: 1.5952 Denominator: 5.176338 DF: 25 Prob>F: 0.2182 表32.13 系数的线性组合检验
检验结果分析:在test语句中的线性方程组只有一个,所以自由度为1,线性方程组的平方和为8.2572。在输出表32.13中,F检验的分子(Numerator)为均方和8.2572/1=8.2572,F检验的分母(Denominator)为均方误差MSE=5.176338,自由度为25。因此,F(1,25)=8.2572/5.176338=1.5952,p= 0.2182>0.05,即不能拒绝回归系数线性组合的原假设。
7. 有约束条件的回归模型
如果在回归模型中回归系数有线性组合的约束条件,我们可以使用restrict语句。例如,在上例中,我们通过test语句中的F检验发现很可能存在maxpulse变量的系数与runpulse变量的系数之和等于0,因此,我们需要在此约束条件下重新拟合回归模型。程序如下:
proc reg data= fitness;
model oxygen=age maxpulse runpulse runtime weight/ss2; restrict maxpulse+runpulse=0; run ;
注意使用restrict语句时,model语句的ss1选项不可用。程序运行后,得到表32.14所示的输出结果。
表32.14 有约束条件下的回归分析结果
上海财经大学经济信息管理系IS/SHUFE
Page 25 of 27
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库SAS讲义 - 第三十二课 - 多元线性回归分析(6)在线全文阅读。
相关推荐: