SAS学习系列24逐步回归.docx

上传人:b****7 文档编号:15756805 上传时间:2023-07-07 格式:DOCX 页数:16 大小:230.92KB
下载 相关 举报
SAS学习系列24逐步回归.docx_第1页
第1页 / 共16页
SAS学习系列24逐步回归.docx_第2页
第2页 / 共16页
SAS学习系列24逐步回归.docx_第3页
第3页 / 共16页
SAS学习系列24逐步回归.docx_第4页
第4页 / 共16页
SAS学习系列24逐步回归.docx_第5页
第5页 / 共16页
SAS学习系列24逐步回归.docx_第6页
第6页 / 共16页
SAS学习系列24逐步回归.docx_第7页
第7页 / 共16页
SAS学习系列24逐步回归.docx_第8页
第8页 / 共16页
SAS学习系列24逐步回归.docx_第9页
第9页 / 共16页
SAS学习系列24逐步回归.docx_第10页
第10页 / 共16页
SAS学习系列24逐步回归.docx_第11页
第11页 / 共16页
SAS学习系列24逐步回归.docx_第12页
第12页 / 共16页
SAS学习系列24逐步回归.docx_第13页
第13页 / 共16页
SAS学习系列24逐步回归.docx_第14页
第14页 / 共16页
SAS学习系列24逐步回归.docx_第15页
第15页 / 共16页
SAS学习系列24逐步回归.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

SAS学习系列24逐步回归.docx

《SAS学习系列24逐步回归.docx》由会员分享,可在线阅读,更多相关《SAS学习系列24逐步回归.docx(16页珍藏版)》请在冰点文库上搜索。

SAS学习系列24逐步回归.docx

SAS学习系列24逐步回归

24.逐步回归

一、原理

多元线性回归模型中,并不是所有的自变量都与因变量有显著关系,有时有些自变量的作用可以忽略。

这就产生了怎样从大量可能有关的自变量中挑选出对因变量有显著影响的部分自变量的问题。

逐步回归的基本思想是,将变量一个一个引入,引入变量的条件是偏回归平方和经检验是显著的,同时每引入一个新变量后,对已选入的变量要进行逐个检验,将不显著变量剔除,这样保证最后所得的变量子集中的所有变量都是显著的。

这样经若干步以后便得“最优”变量子集。

逐步回归每一步只有一个变量单独的回归因子引进或从当前的回归模型中剔除,当没有回归因子能够引进模型时,该过程停止。

二、步骤

记引入变量F检验的临界值为Fin,剔除变量F检验的临界值为Fout,一般取Fin≥Fout.其确定原则:

对k个自变量中的m个(m≤k),则记F*=F(1,N-m-1),取Fin=Fout=F*.

一般也可以直接取Fin=Fout=2.0或2.5.要想回归方程多进入一些自变量,甚至也可以取为1.0或1.5.

1.前进法(变量增加法)

首先对全部k个自变量,分别对因变量Y建立一元回归方程,并

分别计算k个回归系数的F检验值,记为{11211,,kFFF?

},记为1iF=max{11211,,kFFF?

},若有1iF≥Fin,则将Xi引入回归方程,记为X1.接着考虑X1分别与其它自变量与因变量Y二元回归方程,选出最大F值若大于Fin,则将该变量引入回归方程,记为X2,依次类推,直到所有末被引入回归方程的自变量的F值均小于Fin时为止。

增加法的缺点是,它不能反映后来变化的情况,已引入的变量因为后引入的某个自变量的影响,它可能由显著变为不显著,但并没有及时从回归方程中将它剔除掉。

2.后退法(变量减少法)

首先建立全部自变量X1,X2,...,Xk对因变变量Y的回归方程,然后分别求出k个回归系数的F值为{11211,,kFFF?

},记1iF=min{11211,,kFFF?

},若有1iF≤Fout,则将自变量Xi从回归方程中剔除掉。

以此类推,直到在回归方程中的自变量的F值均大于Fout为止。

减少法的缺点是,一开始把全部变量都引入回归方程,这样计算量比较大。

3.逐步筛选法(变量增减法)

在实际的数据中,自变量X1,X2,...,Xk之间往往并不是独立的,而是有一定的相关性存在的,这就会使得随着回归方程中变量的增加和减少,某些自变量对回归方程的贡献也会发生变化。

因此将前两种方法综合起来,也就是对每一个自变量,随着其对回归方程贡献的变化,它随时可能被引入回归方程或被剔除出去,最终的回归模型是在回归方程中的自变量均为显著的,不在回归方程中

的自变量均不显著。

三、需要注意的问题

1.实际中,往往不使用每次计算出的Fin和Fout,而是使用固定的F值(避免出现Fin

2.自变量进入模型的顺序并不反映它们的重要程度;

3.逐步回归方法的一个局限是,预先假定有单一的最优X变量子集,也可能还有其它最优选择;

4.逐步回归方法的另一个缺点是,当X变量高度相关时,有时会得到不合理的“最优”子集。

四、PROCREG过程步

基本语法:

PROCREGdata=数据集;

MODEL因变量=自变量列表;

SELECTION=选项

用于逐步回归中选择合适的建立模型方法:

none——全部变量forward——前backward——后stepwise——逐步筛选法

maxr——最大R2增minr——最小R2增rsquare——R2选cp——Mallow'sCp选adjrsq——修正的R2选择法

注:

在前进法、后退法或逐步回归的变量选择过程中,都有一个判断是否可进入或剔除的显著水平,分别由model语句的选项slentry=和slstay=设定的:

start=s指定先从s个自变量的回归模型开始;

stop=s指定找到s个自变量的回归模型结束;

Mallows的Cp统计量——是由Mallows提出的作为选择模型的判别式的变量。

Cp是一个误差平方总和的量度:

)2(PNMSEESSCpP?

?

?

其中,P是模型中包括截距项的参数个数,MSE是满模型时均方误差,ESSp是具有P个自变量(包括截距项)回归模型的误差平方和。

作Cp与P的曲线图,Matlows建议取Cp首次接近P的地方的模型。

常用的输出可选项:

STB——输出标准化偏回归系数矩阵

CORRB——输出参数估计矩阵

COLLINOINT——对自变量进行共线性分析

P——输出个体观测值、预测值及残差(R/CLM/CLI包含P)

R——输出每个个体观测值、残差及标准误差

CLM——输出因变量均值95%的置信界限的上下限

CLI——对各预测值输出95%的置信界限的上下限

MSE——要求输出随机扰动项方差?

?

2的估计2?

?

与残差分析有关的可选项

VIF——输出变量间相关性的方差膨胀系数,VIF越大,说明由于共线性存在,使方差变大;

COLLIN——输出条件数,它表示最大的特征值与每个自变量特征值之比的平方根。

一般情况下,条件数越大越可能存在共线性;

TOL——表示共线性水平的容许值,TOL越小说明其可用别的自变量解释的部分多,自然可能与别的自变量存在共线性关系;

DW——输出Durbin-Watson统计量;

influence——对异常点进行诊断,对每一观测点输出统计量(Cook'sD>50%,defits/debetas>2说明该点影响较大)。

2.绘制回归分析的图形

在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位成年人心肺功能的调查数据(见下表)

ageweightOxygen

耗氧量runtim跑15英哩的时间(分)rstpulse

休息时每分钟心跳次数runpulse

跑步时每分钟心跳次数Maxpulse

每分钟心跳次数最大值

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.6047162164583.151.8510.351617

481.449.158.941818

569.640.8310.951617

577.946.6710.041616

491.646.7710.241616

473.350.3810.071616

573.339.4012.651717

579.346.0811.161516

576.345.449.641616

570.854.628.941415

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

代码:

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;

procregdata=fitness;

modeloxygen=ageweightrstpulsemaxpulserunpulseruntime/selection=stepwise;

run;

运行结果:

逐步选择:

第1步

变量runtime已输入:

R方=0.7434和C(p)=13.5198

条件数字的边界:

1,1

逐步选择:

第2步

变量age已输入:

R方=0.7642和C(p)=12.2249

条件数字的边界:

1.0369,4.1478

逐步选择:

第3步

变量runpulse已输入:

R方=0.8111和

C(p)=6.8278

条件数字的边界:

1.3548,11.597

逐步选择:

第4步

变量maxpulse已输入:

R方=0.8368和C(p)=4.7661

条件数字的边界:

8.4182,76.851

留在模型中的所有变量的显著性水平都为0.1500。

没有其他变量满足0.1500显著性水平,无法输入该模型。

结果说明:

(1)在显著水平015下,用逐步回归法挑选出四个自变量按runtime,age,runpulse,maxpulse先后被选入回归模型。

其它变量在0.15水平下是不显著的。

(2)同时还输出了每个回归模型变化时的R2值增加值、R2值、CP值、相应的F统计量、P值。

另外,在每步还列出了条件指数的最小值最大值,以及每一个回归变量的第Ⅱ类平方和。

(3)age变量进入模型后,R2值的增加值(称为偏R2)为

(650.66573-632.90010)/851.38154=0.020867=0.7642-0.7434

如果按CP值选择最优子集,随着进入回归模型中的自变量个数P从2到5个(包括截距),相应CP值从大到小为

13.5198、12.2249、6.8278、4.7661

按照Mallows提出的回归模型最优自变量个数的选择准则,CP=4.7661是最接近自变量个数P=5的模型。

当P=5时,

CP=138.93001792/5.39197-(31-2×5)=4.76608569

因此,用逐步回归方法及CP值确认的拟合回归模型为:

oxygen=98.14789-0.19773age+0.27051maxpulse

-0.34811runpulse-2.76758runtime

(4)条件指数为最大特征值和每个特征值之比的平方根。

当模型进入第四个自变量maxpulse时,最大的条件指数从较小11.597变成了较大76.851,说明存在一定程度的共线性,根据前面上篇例1的分析,这个共线性方程可能为runpulse-maxpulse=0.

若引入新变量代替线性组合关系的变量:

maxrun=maxpulse-runpulse

重新进行逐步回归:

datafitness2;

setfitness;

maxrun=maxpulse-runpulse;

run;

procregdata=fitness2;

modeloxygen=ageweightrstpulsemaxrunruntime/selection=stepwise;

run;

得到回归方程为:

(其它输出略)

oxygen=89.48742-0.16297age-0.08063weight

+0.38826maxrun-2.80555runtime

例2同例1,用R2选择法逐步回归给出全部可能回归的程序,并且以R2值的大到小排序输出。

代码:

procregdata=fitness;

modeloxygen=ageweightrstpulsemaxpulserunpulseruntime/selection=rsquarebbest=2;

*选项b输出各回归系数;

run;

运行结果:

例如,含2个自变量按R2值第二大(0.7614)的回归模型为:

oxygen=93.08877-0.07351runpulse-3.14019runtime

例3例2中的各个回归模型到底选哪个呢?

方法是先用Mallows的Cp方法确定变量个数;对所有可能的回归按Cp由小到大进行排序并保留其前5种,并绘制Cp图。

代码:

goptionsreset=globalgunit=pctcback=whiteborder

htitle=6htext=3ftext=swissbcolors=(back);

title'CpplotwithReferenceLines';

procregdata=fitness;

modeloxygen=ageweightrstpulsemaxpulserunpulseruntime/selection=cpadjrsqbest=5;

plotcp.*np./chocking=redcmallows=bluevaxis=0to15by2haxis=0

to8by1;

run;

运行结果:

程序说明:

(1)选项selection=cp指定用Mallow'sCp选择法。

选项adjrsq表示要输出每种回归模型的统计量Adj-R2.选项best=5表示

保留Cp值最小的前5种回归模型;

(2)plot语句中的cp.*np.表达式(注意统计量关键字母后的小圆点)表示Y轴为Cp值X轴为P值(P值包括截距项);

(3)Hocking(1976)建议选择满足Cp≤2P-Pfull且Cp≤P的模型。

plot语句的选项chocking=red,表示画Cp=2P-Pfull红色参考虚线,其中P是子模型中含截距的参数个数,Pfull是全模型中不含截距的参数个数;

(4)Mallows(1973)建议考虑所有满足Cp较小且接近P的模型。

plot语句的选项cmallows=blue,表示画Cp=P蓝色参考实线,其中P是子模型中含截距的参数个数;

(5)从输出结果看,以Mallows的建议为标准,age,maxpulse,

runpulse和runtime四个变量进入回归模型时Cp最小(4.76609),且与P=4+1=5最接近,因为5-4.76609<6-5.00021,所以应该选择Cp=4.76609的模型。

以Hocking的建议为标准,Cp=4.76609的模型不满足要求,因为4.76609>2×5-6=4。

而Cp=5.00021的模型满足要求,因为5.00021<2×6-6=6且5.00021<6。

而Cp=6.75259的模型,无论以Mallows的建议还是以Hocking的建议都不满足要求。

其实我们不必具体计算,只要看输出图形,表示Cp值大小位置的“+”号,在蓝实线附近即满足Mallows的建议的标准,在红虚线下方即满足Hocking的建议的标准。

但从Adj-R2看,Cp=4.76609的模型将变量weight加入后,R2更大(0.84800181>0.83681815).不同的标准提供不同的选择结果,这是常有的情况。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2