SAS学习系列23.-多元线性回归(共17页).docx

上传人:飞****2 文档编号:13645358 上传时间:2022-04-30 格式:DOCX 页数:17 大小:423.78KB
返回 下载 相关 举报
SAS学习系列23.-多元线性回归(共17页).docx_第1页
第1页 / 共17页
SAS学习系列23.-多元线性回归(共17页).docx_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《SAS学习系列23.-多元线性回归(共17页).docx》由会员分享,可在线阅读,更多相关《SAS学习系列23.-多元线性回归(共17页).docx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上23. 多元线性回归一、多元线性回归1. 模型为Y=𝛽0+𝛽1X1+ 𝛽NXN+其中 X1, , XN是自变量,Y是因变量,𝛽0, 𝛽1, 𝛽N是待求的未知参数,是随机误差项(残差),若记多元线性回归模型可写为矩阵形式:Y=X+通常要求:矩阵X的秩为k+1(保证不出现共线性), 且kN; 为正态分布,E()=0 和E()= 𝜎2I,其中I为NN单位矩阵。用最小二乘法原理,令残差平方和 最小,得到为的最佳线性无偏估计量(高斯马尔可夫定理)。2. ⼛

2、0;2的估计和T检验选取𝜎2的估计量:则假如t值的绝对值相当大,就可以在适当选定的置信水平上否定原假设,参数的1-置信区间可由下式得出:其中t/2为与%显著水平有关的t分布临界值。3. R2和F检验若因变量不具有0平均值,则必须对R2做如下改进:随着模型中增添新的变量,R2的值必定会增大,为了去掉这种增大的干扰,还需要对R2进行修正(校正拟合优度对自由度的依赖关系):做假设检验:H0: 𝛽1=𝛽N=0; H1: 𝛽1, 𝛽N至少有一个0;使用F统计量做检验,若F值较大,则否定原假设。二、PROC REG过程步基本语

3、法:PROC REG data = 数据集;MODEL 因变量 = 自变量列表 ;说明:MODEL语句用来指定因变量和自变量;restrict语句示例:restrict a1+a2=1;常用的输出可选项:STB输出标准化偏回归系数矩阵CORRB输出参数估计矩阵COLLINOINT对自变量进行共线性分析P输出个体观测值、预测值及残差 (R/CLM/CLI包含P)R输出每个个体观测值、残差及标准误差CLM输出因变量均值95%的置信界限的上下限CLI对各预测值输出95%的置信界限的上下限MSE要求输出随机扰动项方差𝜎2的估计与残差分析有关的可选项l VIF输出变量间相关性的方差膨胀系

4、数,VIF越大,说明由于共线性存在,使方差变大;lCOLLIN输出条件数,它表示最大的特征值与每个自变量特征值之比的平方根。一般情况下,条件数越大越可能存在共线性;lTOL表示共线性水平的容许值,TOL越小说明其可用别的自变量解释的部分多,自然可能与别的自变量存在共线性关系;lDW输出Durbin-Watson统计量; influence对异常点进行诊断,对每一观测点输出统计量(Cooks D 50%, defits/debetas 2说明该点影响较大)。交互式语句ladd向模型中增加变量;ldelete删除原拟合模型中的有关变量;lrefit重新拟合模型;lprint输出有关模型的相关信息。

5、绘制回归分析的图形在PROC REG过程步加入绘图选项语句即可。基本语法:PROC REG data = 数据集PLOTS = (图形类型);可选的绘图类型: FITPLOT带回归线、置信预测带的散点图;RESIDUALS自变量的残差图;DIAGNOSTICS诊断图(包括下面各图);COOKSDCooks D统计量图;OBSERVEDBYPREDICTED根据预测值的因变量图;QQPLOT 检验残差正态性的QQ图;RESIDUALBYPREDICTED根据预测值的残差图;RESIDUALHISTOGRAM残差的直方图;RFPLOT残差拟合图;RSTUDENTBYLEVERAGE杠杆比率的学生化

6、残差图;RSTUDENTBYPREDICTED预测值的学生化残差图;注:残差图(RESIDUALS)和诊断图(DIAGNOSTICS)是自动生成的,根据模型也有其它默认的图形输出;若只绘制指定的图形需要加上ONLY:PROC REG data = 数据集 PLOTS(ONLY) = (图形类型);例1 用多元线性回归模型,来研究耗氧量的是如何依赖其它变量的。31位成年人心肺功能的调查数据(见下表),由于回归是相关的,所以理论上还应该做共线性诊断。age weight Oxygen耗氧量 runtime 跑15英哩的时间(分)rstpulse 休息时每分钟心跳次数runpulse 跑步时每分钟心

7、跳次数Maxpulse每分钟心跳次数最大值4489.4744.60911.37621781824075.0745.31310.07621851854485.8454.2978.65451561684268.1559.5718.17401661723889.0249.8749.22551781804777.4544.81111.63581761764075.9845.68111.95701761804381.1949.09110.85641621704481.4239.44213.08631741763881.8760.0558.63481701864473.0350.54110.1345168

8、1684587.6637.38814.03561861924566.4544.75411.12511761764779.1547.27310.60471621645483.1251.85510.33501661704981.4249.1568.95441801855169.6340.83610.95571681725177.9146.67210.00481621684891.6346.77410.25481621644973.3750.38810.08761681685773.3739.40712.63581741765479.3846.08011.17621561655276.3245.44

9、19.63481641665070.8754.6258.92481461555167.2545.11811.08481721725491.6339.20312.88441681725173.7145.79010.47591861885759.0850.5459.93491481554976.3248.6739.40561861884861.2447.92011.50521701765282.7847.46710.5053170172代码:data fitness ;input age weight oxygen runtime rstpulse runpulse maxpulse;datali

10、nes; 4489.4744.60911.37621781824075.0745.31310.07621851854485.8454.2978.65451561684268.1559.5718.17401661723889.0249.8749.22551781804777.4544.81111.63581761764075.9845.68111.95701761804381.1949.09110.85641621704481.4239.44213.08631741763881.8760.0558.63481701864473.0350.54110.13451681684587.6637.388

11、14.03561861924566.4544.75411.12511761764779.1547.27310.60471621645483.1251.85510.33501661704981.4249.1568.95441801855169.6340.83610.95571681725177.9146.67210.00481621684891.6346.77410.25481621644973.3750.38810.08761681685773.3739.40712.63581741765479.3846.08011.17621561655276.3245.4419.6348164166507

12、0.8754.6258.92481461555167.2545.11811.08481721725491.6339.20312.88441681725173.7145.79010.47591861885759.0850.5459.93491481554976.3248.6739.40561861884861.2447.92011.50521701765282.7847.46710.5053170172;run;proc corr data = fitness PLOT = MATRIX(HISTOGRAM nvar=all);var oxygen age weight runtime rstp

13、ulse 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;proc reg data = fitness PLOTS(ONLY) = (DIAGNOSTICS FITPLOT);mode

14、l oxygen = age maxpulse rstpulse runpulse runtime weight/ss1 ss2; /* ss1为第类型平方和, ss2为第类型平方和 */run;delete rstpulse;print;run;proc reg data= fitness;model oxygen = age maxpulse runpulse runtime weight;pulse: test maxpulse+runpulse=0;run;proc reg data= fitness;model oxygen = age maxpulse runpulse runti

15、me weight/ss2; /* 带restrict约束条件的回归,ss1不可用 */restrict maxpulse+runpulse=0;run;data fitness2;set fitness;maxrun=maxpulse-runpulse;run;proc reg data= fitness2;model oxygen = age maxrun runtime weight/ss1 ss2;run;运行结果及说明:(1)相关性分析散点图矩阵中第一行的6个散点图分别表示oxygen变量作为y轴,其他六个变量作为x轴的散点图,第一列的6个散点图分别表示oxygen变量作为x轴,其他

16、六个变量作为y轴的散点图;对角线是该变量数值变化的直方图。绘制散点图矩阵图是为了观察变量间的相关性。从图中可以看出变量runpulse与maxpulse之间存在有较强的共线性,如果在回归模型中增加方差膨胀系数(vif),共线性水平的容许值(tol),条件数(collin)选项对回归进行共线性诊断,也会得到相同的结论。另外,我们从图中还发现耗氧量oxygen与变量runtime有较强的负相关,从下面的相关系数也能得到相同的结论。(2)回归分析得到回归方程:oxygen = 102.-0.age + 0.maxpulse-0.rstpuls-0.runpulse-2.runtime-0.weigh

17、t多元线性回归模型的一个重要问题是,如何正确地缩减自变量到达最优的简化模型。判断回归模型是否还能缩减自变量,可以通过这第类平方和(I型SS)和第类平方和(型SS),构造F检验(等同于这个自变量的参数t检验,因为F=t2)来比较确定。runtime自变量的两类平方和都是最大的且占的比例很大,说明是回归模型中第一重要的自变量。而rstpulse自变量在第一类平方和中有比较大的数值却在第类平方和中是最小的,这是rstpulse自变量(休息时每分钟心跳次数)应该被考虑第一个删除的主要原因。(3)剔除不显著的回归变量,继续回归分析自变量rstpulse和weight的回归系数的t检验的P值分别为0.98

18、86和0.1980,都大于=0.05,故不拒绝“系数=0”的原假设。这里要小心地看待这些检验,因为它们都是在其他自变量都加入回归的前提下进行显著性检验的,完全可能因为自变量间存在较强的相关而掩盖他们对回归的贡献。所以,在剔除不显著的回归变量时必须逐个进行。另外,从自变量rstpulse的回归系数更接近于0,也提示我们应先考虑删除自变量rstpulse. delete rstpulse;print;run;得到新的回归方程:oxygen = 102.-0.age+0.maxpulse-0.runpulse-2.runtime-0.weight比较剔除rstpulse前后的输出可看出,R2的变化在

19、4位小数之后。进入回归的变量的回归系数在剔除rstpulse后的变化都小于 1。说明剔除自变量rstpulse后,对回归模型没有实质性的影响,这个自变量的剔除是恰当的。(4)系数的线性组合检验使用test语句,还可以对回归系数的线性组合进行F检验。 例如,我们看到参数估计表中,maxpulse变量的系数与runpulse变量的系数之和非常接近于0(回顾前文:这两个自变量有很强的共线性),想要检验一下这样的系数线性组合是否有很大的可能性,如果是那样,则可以简化回归模型。在test语句中的线性方程组只有1个,所以自由度为1,线性方程组的平方和为8.2572。F检验的分子为均方和8.2572/1=8

20、.2572,F检验的分母为均方误差MSE=5.,自由度为25。因此,F(1,25)=8.2572/5.=1.5952,P值= 0.21820.05,即不能拒绝回归系数线性组合的原假设。(5)有约束条件的回归模型若回归模型中的回归系数有线性组合的约束条件,则可以使用restrict语句在此约束条件下重新拟合回归模型。proc reg data= fitness;model oxygen=age maxpulse runpulse runtime weight/ss2; /* 带restrict约束条件的回归,ss1不可用 */restrict maxpulse+runpulse=0;run;得到

21、新的回归方程:oxygen = 89.-0.age + 0.(maxpulse-runpulse)-2. runtime-0.weight注意到maxpulse变量的系数为0., runpulse变量的系数为0., 两者之和为0. 同时,它们的第类平方和也相等为57.没有约束条件时的RSS=721.97309,增加约束条件后的RSS= 713.71590,减少了8.25720,说明为了增加这个约束条件损失了回归平方和8.25720,但换来了简化的回归模型。这个数值越小越表明这个约束条件客观存在。所以restrict语句的第类平方和为8.,且自由度为1(是减少不是增加)。同时注意到这个8.257

22、20数字就是前面线性组合检验结果中的分子值。 自变量系数存在线性组合的约束条件,本质上是指这些自变量可以通过这种组合方式转换为一个新的自变量,例如,在这个样本中产生一个新变量maxrun=maxpulse-runpulse,这个新变量maxrun加入到回归模型中,而变量maxpulse和runpulse从回归模型中删除,重新拟合回归模型。data fitness2;set fitness;maxrun=maxpulse-runpulse;run;proc reg data= fitness2;model oxygen = age maxrun runtime weight/ss1 ss2;run;运行结果与前面相同。回归方程为:oxygen = 89.-0.age + 0.maxrun-2. runtime-0.weight专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁