SAS学习系列23多元线性回归.docx
- 文档编号:2430523
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:16
- 大小:390.93KB
SAS学习系列23多元线性回归.docx
《SAS学习系列23多元线性回归.docx》由会员分享,可在线阅读,更多相关《SAS学习系列23多元线性回归.docx(16页珍藏版)》请在冰豆网上搜索。
SAS学习系列23多元线性回归
23.多元线性回归
一、多元线性回归
1.模型为
Y=𝛽0+𝛽1X1+…+𝛽NXN+ε
其中X1,…,XN是自变量,Y是因变量,𝛽0,𝛽1…,𝛽N是待求的未知参数,ε是随机误差项(残差),若记
多元线性回归模型可写为矩阵形式:
Y=Xβ+ε
通常要求:
矩阵X的秩为k+1(保证不出现共线性),且k 用最小二乘法原理,令残差平方和 最小,得到 为β的最佳线性无偏估计量(高斯-马尔可夫定理)。 2.𝜎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值较大,则否定原假设。 二、PROCREG过程步 基本语法: PROCREGdata=数据集; MODEL因变量=自变量列表可选项>; 说明: MODEL语句用来指定因变量和自变量; restrict语句示例: restricta1+a2=1; 常用的输出可选项: STB——输出标准化偏回归系数矩阵 CORRB——输出参数估计矩阵 COLLINOINT——对自变量进行共线性分析 P——输出个体观测值、预测值及残差(R/CLM/CLI包含P) R——输出每个个体观测值、残差及标准误差 CLM——输出因变量均值95%的置信界限的上下限 CLI——对各预测值输出95%的置信界限的上下限 MSE——要求输出随机扰动项方差𝜎2的估计 与残差分析有关的可选项 VIF——输出变量间相关性的方差膨胀系数,VIF越大,说明由于共线性存在,使方差变大; COLLIN——输出条件数,它表示最大的特征值与每个自变量特征值之比的平方根。 一般情况下,条件数越大越可能存在共线性; TOL——表示共线性水平的容许值,TOL越小说明其可用别的自变量解释的部分多,自然可能与别的自变量存在共线性关系; DW——输出Durbin-Watson统计量; influence——对异常点进行诊断,对每一观测点输出统计量(Cook’sD>50%,defits/debetas>2说明该点影响较大)。 交互式语句 add——向模型中增加变量; delete——删除原拟合模型中的有关变量; refit——重新拟合模型; print——输出有关模型的相关信息。 绘制回归分析的图形 在PROCREG过程步加入绘图选项语句即可。 基本语法: PROCREGdata=数据集PLOTS=(图形类型); 可选的绘图类型: FITPLOT——带回归线、置信预测带的散点图; RESIDUALS——自变量的残差图; DIAGNOSTICS——诊断图(包括下面各图); COOKSD——Cook'sD统计量图; OBSERVEDBYPREDICTED——根据预测值的因变量图; QQPLOT——检验残差正态性的QQ图; RESIDUALBYPREDICTED——根据预测值的残差图; RESIDUALHISTOGRAM——残差的直方图; RFPLOT——残差拟合图; RSTUDENTBYLEVERAGE——杠杆比率的学生化残差图; RSTUDENTBYPREDICTED——预测值的学生化残差图; 注: 残差图(RESIDUALS)和诊断图(DIAGNOSTICS)是自动生成的,根据模型也有其它默认的图形输出;若只绘制指定的图形需要加上ONLY: PROCREGdata=数据集PLOTS(ONLY)=(图形类型); 例1用多元线性回归模型,来研究耗氧量的是如何依赖其它变量的。 31位成年人心肺功能的调查数据(见下表),由于回归是相关的,所以理论上还应该做共线性诊断。 age weight Oxygen 耗氧量 runtime 跑15英哩的时间(分) rstpulse 休息时每分钟心跳次数 runpulse 跑步时每分钟心跳次数 Maxpulse 每分钟心跳次数最大值 44 89.47 44.609 11.37 62 178 182 40 75.07 45.313 10.07 62 185 185 44 85.84 54.297 8.65 45 156 168 42 68.15 59.571 8.17 40 166 172 38 89.02 49.874 9.22 55 178 180 47 77.45 44.811 11.63 58 176 176 40 75.98 45.681 11.95 70 176 180 43 81.19 49.091 10.85 64 162 170 44 81.42 39.442 13.08 63 174 176 38 81.87 60.055 8.63 48 170 186 44 73.03 50.541 10.13 45 168 168 45 87.66 37.388 14.03 56 186 192 45 66.45 44.754 11.12 51 176 176 47 79.15 47.273 10.60 47 162 164 54 83.12 51.855 10.33 50 166 170 49 81.42 49.156 8.95 44 180 185 51 69.63 40.836 10.95 57 168 172 51 77.91 46.672 10.00 48 162 168 48 91.63 46.774 10.25 48 162 164 49 73.37 50.388 10.08 76 168 168 57 73.37 39.407 12.63 58 174 176 54 79.38 46.080 11.17 62 156 165 52 76.32 45.441 9.63 48 164 166 50 70.87 54.625 8.92 48 146 155 51 67.25 45.118 11.08 48 172 172 54 91.63 39.203 12.88 44 168 172 51 73.71 45.790 10.47 59 186 188 57 59.08 50.545 9.93 49 148 155 49 76.32 48.673 9.40 56 186 188 48 61.24 47.920 11.50 52 170 176 52 82.78 47.467 10.50 53 170 172 代码: datafitness; inputageweightoxygenruntimerstpulserunpulsemaxpulse; datalines; 4489.4744.60911.3762178182 4075.0745.31310.0762185185 4485.8454.2978.6545156168 4268.1559.5718.1740166172 3889.0249.8749.2255178180 4777.4544.81111.6358176176 4075.9845.68111.9570176180 4381.1949.09110.8564162170 4481.4239.44213.0863174176 3881.8760.0558.6348170186 4473.0350.54110.1345168168 4587.6637.38814.0356186192 4566.4544.75411.1251176176 4779.1547.27310.6047162164 5483.1251.85510.3350166170 4981.4249.1568.9544180185 5169.6340.83610.9557168172 5177.9146.67210.0048162168 4891.6346.77410.2548162164 4973.3750.38810.0876168168 5773.3739.40712.6358174176 5479.3846.08011.1762156165 5276.3245.4419.6348164166 5070.8754.6258.9248146155 5167.2545.11811.0848172172 5491.6339.20312.8844168172 5173.7145.79010.4759186188 5759.0850.5459.9349148155 4976.3248.6739.4056186188 4861.2447.92011.5052170176 5282.7847.46710.5053170172 ; run; proccorrdata=fitnessPLOT=MATRIX(HISTOGRAMnvar=all); varoxygenageweightruntimerstpulserunpulsemaxpulse; labeloxygen='Oxygenconsumption' age='Ageinyears' weight='weightinkg' runtime='Min.torun1.5miles' rstpulse='Heartratewhileresting' runpulse='Heartratewhilerunning' maxpulse='Maximumheartrate'; run; procregdata=fitnessPLOTS(ONLY)=(DIAGNOSTICSFITPLOT); modeloxygen=agemaxpulserstpulserunpulseruntimeweight/ss1ss2;/*ss1为第Ⅰ类型平方和,ss2为第Ⅱ类型平方和*/ run; deleterstpulse; print; run; procreg
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAS 学习 系列 23 多元 线性 回归