106730947.doc
商务数据分析
电子商务系列
5. 输出带有回归线的散点图
如果我们需要输出带有回归线的散点图,菜单操作方法是通过在additional options选项菜单中选择Regression Plots/Plots of dependent by independent columns命令,重新再提交一次。注意,此时还可以同时选择输出残差图。程序的方法是在proc reg过程里增加plot语句,要注意SAS的关键字使用在plot语句中时要加小圆点,这里是预测值p关键字,增加的plot语句如下:
plot weight * height=’+’ p.* height=’*’/ overlay ;
如果我们需要输出高分辨率的回归线图形,可以先在reg过程中将拟合的预测值p输出到一个SAS数据集如bclassg中,再调用gplot过程绘制图形。增加的output语句如下:
output out=study.bclassg p=predict l95=clil95 u95=cliu95;
绘制高分辨率的带有回归线的散点图程序如下:
goptions reset=global gunit=pct cback=white border htitle=6 htext=3 ftext=swissb colors=(back); proc gplot data=bclassg ;
plot weight*height predict*height clil95*height cliu95*height/overlay; symbol1 v=plus c=red i=none h=2.5; symbol2 i=spline v=none c=blue; symbol3 i=spline v=none c=red l=3; symbol4 i=spline v=none c=black l=3; run ;
注意,我们也可以用图形自带i=rlcli95选项,直接绘制预测值的置信区间上下界。运行后,在Graph窗口得到如图32.2所示的结果。
上海财经大学经济信息管理系IS/SHUFE
Page 16 of 27
106730947.doc
商务数据分析
电子商务系列
图32.2 带有回归线、95%置信线的体重与身高(weight与height)散点图 从绘制出的带有回归线的图形可形象地看出模型拟合数据比只用均值预测的基线模型好。仔细观察图形,两条95%的上下预测值置信带呈现两头喇叭口。此外,还可用性别来分组,分别对男生和女生进行回归分析,分别建立男生和女生的回归模型。
例32.2 研究耗氧量模型。这是有关身体适应性测试的例子,肺活量与一些简单的锻炼测试数据的拟合,目的是为了在锻炼测试的基础上而不是在昂贵笨重的氧气消耗测试的基础上得到方程来预测适应性。由于回归是相关的,因此,理论上还应该请求共线性诊断。该数据名为fitness,这是一个对31位成年人心肺功能的调查结果,它包含的变量见表32.8,测试的各项数据见表32.9。
表32.8 fitness数据集的变量名
变量名 含 义 年龄 体重 耗氧量 跑15英哩的时间(分) 休息时每分钟心跳次数 跑步时每分钟心跳次数 每分钟心跳次数最大值 age weight oxygen runtime rstpulse runpulse maxpulse 表32.9 fitness数据集中的测试数据 age 44 40 44 weight 89.47 75.07 85.84 oxygen 44.609 45.313 54.297 runtime 11.37 10.07 8.65 rstpulse 62 62 45 runpulse 178 185 156 maxpulse 182 185 168 上海财经大学经济信息管理系IS/SHUFE
Page 17 of 27
106730947.doc
商务数据分析
电子商务系列
42 38 47 40 43 44 38 44 45 45 47 54 49 51 51 48 49 57 54 52 50 51 54 51 57 49 48 52 68.15 89.02 77.45 75.98 81.19 81.42 81.87 73.03 87.66 66.45 79.15 83.12 81.42 69.63 77.91 91.63 73.37 73.37 79.38 76.32 70.87 67.25 91.63 73.71 59.08 76.32 61.24 82.78 59.571 49.874 44.811 45.681 49.091 39.442 60.055 50.541 37.388 44.754 47.273 51.855 49.156 40.836 46.672 46.774 50.388 39.407 46.080 45.441 54.625 45.118 39.203 45.790 50.545 48.673 47.920 47.467 8.17 9.22 11.63 11.95 10.85 13.08 8.63 10.13 14.03 11.12 10.60 10.33 8.95 10.95 10.00 10.25 10.08 12.63 11.17 9.63 8.92 11.08 12.88 10.47 9.93 9.40 11.50 10.50 40 55 58 70 64 63 48 45 56 51 47 50 44 57 48 48 76 58 62 48 48 48 44 59 49 56 52 53 166 178 176 176 162 174 170 168 186 176 162 166 180 168 162 162 168 174 156 164 146 172 168 186 148 186 170 170 172 180 176 180 170 176 186 168 192 176 164 170 185 172 168 164 168 176 165 166 155 172 172 188 155 188 176 172
在这个锻炼测试数据里,我们感兴趣的是耗氧量是如何依赖于其他变量的。
1. 建立数据文件
程序如下:
data fitness ;
input age weight oxygen runtime rstpulse runpulse maxpulse; cards ;
44 89.47 44.609 11.37 62 178 182 40 75.07 45.313 10.07 62 185 185 ???
52 82.78 47.467 10.50 53 170 172
;
上海财经大学经济信息管理系IS/SHUFE
Page 18 of 27
106730947.doc
商务数据分析
电子商务系列
run ;
2. 制作变量的散点图
fitness数据集中的变量较多,我们需要制作每两个不同变量oxygen、age 、weight、runtime、rstpulse、runpulse和maxpulse之间的所有散点图,即散点图矩阵,共有7×6=42个散点图。我们可以通过在SAS/Insight软件中绘制散点图矩阵,操作步骤为:在SAS命令框中键入insight后按Enter,在SAS/Insight:Open对话单中,选择work.fitness数据集后单击Open按钮,将在屏幕的窗口中显示当前打开的数据集work.fitness内容,再选择菜单上的Analyze/Scatter Plot(Y X)命令,在出现的Scatter Plot(Y X)对话单中,把fitness数据集中的7个变量依上面
60.055 OXYGEN 37.388 57 AGE 38 91.63 WEIGHT 59.08 14.03 RUNTIME 8.17 76 RSTPULSE 40 186 RUNPULSE 146 192 MAXPULSE 155 图32.3 fitness变量间的散点图矩阵
的次序全部加入Y轴和X轴的列表框中,最后单击OK。如图32.3所示。
散点图矩阵图中第一行的六个散点图分别表示oxygen变量作为y轴,其他六个变量作为x轴的散点图,第一列的六个散点图分别表示oxygen变量作为x轴,其他六个变量作为y轴的散点图。对角线上第一个oxygen小方格里的左下角数字37.388和右上角数字60.055,表示变量oxygen的数值变化范围。其他行和列中的散点图所代表的两个变量类同。
绘制散点图矩阵图是为了研究变量间的相关性,从图32.3中,我们发现变量runpulse与maxpulse之间存在有较强的共线性,如果在回归模型中增加方差膨胀系数(vif),共线性水平
上海财经大学经济信息管理系IS/SHUFE
Page 19 of 27
106730947.doc
商务数据分析
电子商务系列
的容许值(tol),条件数(collin)选项对回归进行诊断,也会得到相同的结论。另外,我们从图中还发现耗氧量oxygen与变量runtime有较强的负相关。从下面的相关系数计算中也能得到这些相同认识。
3. 相关系数计算
编写的相关系数计算程序如下:
proc corr data= fitness ;
var oxygen age weight runtime rstpulse runpulse maxpulse; label oxygen = 'Oxygen consumption'
age = 'Age in years'
weight = 'weight in kg' runtime = 'Min. to run 1.5 miles' rstpulse= 'Heart rate while resting' runpulse= 'Heart rate while running' maxpulse= 'Maximum heart rate'; run ;
运行后,在Output窗口得到表32.10所示的结果。
表32.10 fitness变量间的相关系数
上海财经大学经济信息管理系IS/SHUFE
Page 20 of 27
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库SAS讲义 - 第三十二课 - 多元线性回归分析(4)在线全文阅读。
相关推荐: