第三十三课 逐步回归分析
(2010-09-18 22:26:33)
标签:
杂谈 |
分类: SAS学习 |
第三十三课
一、
在一个多元线性回归模型中,并不是所有的自变量都与因变量有显著关系,有时有些自变量的作用可以忽略。这就产生了怎样从大量可能有关的自变量中挑选出对因变量有显著影响的部分自变量的问题。
在可能自变量的整个集合有40到60个,甚至更多的自变量的情况下,使用“最优”子集算法可能并不行得通。那么,逐步产生回归模型要含有的X变量子集的自动搜索方法,可能是有效的。逐步回归方法可能是应用最广泛的自动搜索方法。这是在求适度“好”的自变量子集时,同所有可能回归的方法比较,为节省计算工作量而产生的。从本质上说,这种方法在每一步增加或剔除一个X变量时,产生一系列回归模型。增加或剔除一个X变量的准则,可以等价地用误差平方和缩减量、偏相关系数或F统计量来表示。
无疑选择自变量要靠有关专业知识,但是作为起参谋作用的数学工具,往往是不容轻视的。通常在多元线性模型中,我们首先从专业角度选择有关的为数众多的因子,然后用数学方法从中选择适当的子集。本节介绍的逐步回归法就是人们在实际问题中常用的,并且行之有效的方法。
逐步回归的基本思想是,将变量一个一个引入,引入变量的条件是偏回归平方和经检验是显著的,同时每引入一个新变量后,对已选入的变量要进行逐个检验,将不显著变量剔除,这样保证最后所得的变量子集中的所有变量都是显著的。这样经若干步以后便得“最优”变量子集。
逐步回归是这样一种方法,使用它时每一步只有一个单独的回归因子引进或从当前的回归模型中剔除。Efroymoson (1966)编的程序中,有两个F水平,记作Fin和Fout,在每一步时,只有一个回归因子,比如说Xi,如果剔除它可能引起RSS的减少不超过残差均方MSE(即ESS/(N-k-1))的Fout倍,则将它剔除;这就是在当前的回归模型中,用来检验i=0的F比 是小于或等于Fout。
若剔除的变量需要选择,则就选择使RSS减少最少的那一个(或等价的选择F比最小的)。用这种方式如果没有变量被剔除,则开始引进一个回归因子,比如Xj,如果引进它后使RSS的增加,至少是残差均方的Fin倍,则将它引进。即若在当前模型加Xj项后,为了检验
j
二、
若在回归方程中增加自变量Xi,称为“引入”变量Xi,将已在回归方程中的自变量Xj从回归方程中删除,则称为“剔除”变量Xj。无论引入变量或剔除变量,都要利用F检验,将显著的变量引入回归方程,而将不显著的从回归方程中剔除。记引入变量F检验的临界值为Fin(进),剔除变量F检验的临界值为Fout(出),一般取Fin≥Fout,它的确定原则一般是对k个自变量的m个(m ≤k),对显著性水平df1=1,df2= 的F分布表的值,记为F*,则取Fin=Fout= F*。一般来说,也可以直接取Fin=Fout=2.0或2.5。当然,为了回归方程中还能够多进入一些自变量,甚至也可以取为1.0或1.5。
1.
首先对全部k个自变量,分别对因变量Y建立一元回归方程,并分别计算这k个一元回归方程的k个回归系数F检验值,记为{
},选其最大的记为
接着考虑X1分别与X2,X3,...,Xk与因变量Y组成二元回归方程,对于这k-1个回归方程中X2,...,Xk的回归系数进行F检验,计算F值,并选其最大的F值 ,若 ≥Fin,则接着就将Xj引入回归方程,不失一般性,设Xj就是X2。
对已经引入回归方程的变量X1和X2,如同前面的方法做下去,直至所有未被引入方程的变量的F值均小于Fin时为止。这时的回归方程就是最终选定的回归方程。
显然,这种增加法有一定的缺点,主要是,它不能反映后来变化的情况。因为对于某个自变量,它可能开始是显著的,即将其引入到回归方程,但是,随着以后其他自变量的引入,它也可能又变为不显著了,但是,并没有将其及时从回归方程中剔除掉。也就是增加变量法,只考虑引入而不考虑剔除。
2.
与变量增加法相反,变量减少法是首先建立全部自变量X1,X2,...,Xk对因变量Y的回归方程,然后对k个回归系数进行F检验,记求得的F值为{ },选其最小的记为 =min{ },若有 ≤Fout,则可以考虑将自变量Xi从回归方程中剔除掉,不妨设Xi就取为X1。
再对X2,X3,...,Xk对因变量Y建立的回归方程重复上述过程,取最小的F值为 ,若有 ≤Fout,则将Xj也从回归方程中剔除掉。不妨设Xj就是X2。重复前面的做法,直至在回归方程中的自变量F检验值均大于Fout,即没有变量可剔除为止。这时的回归方程就是最终的回归方程。
这种减少法也有一个明显的缺点,就是一开始把全部变量都引入回归方程,这样计算量比较大。若对一些不重要的变量,一开始就不引入,这样就可以减少一些计算。
3.
前面的两种方法各有其特点,若自变量X1,X2,...,Xk
三、
如果在某一步时,已有 个变量被引入到回归方程中,不妨设为
,即已得回归方程:
|
|
(33.1) |
并且有平方和分解式:
|
|
(33.2) |
显然,回归平方和 及残差平方和 均与引入的变量相关。为了使其意义更清楚起见,将其分别设为RSS( )及ESS( )。下面我们来考虑,又有一个变量 (l≤i≤k)被引入回归方程中,这时对于新的回归方程所对应的平方和分解式为:
|
TSS = RSS( , ) ESS( , ) |
(33.3) |
当变量Xi引入后,回归平方和从RSS( )增加到RSS( , ),而相应的残差平方和却从ESS( )降到ESS( , ),并有:
|
|
(33.4) |
记 ,它反映了由于引入 后, 对回归平方和的贡献,也等价于引入 后残差平方和所减少的量,称其为 对因变量 的方差贡献,故考虑检验统计量:
|
|
(33.5) |
其中 为样本量, 是已引入回归方程的变量个数,这时若有 ,则可以考虑将自变量 引入回归方程,否则不能引入。
实际上大于Fin的变量开始时可能同时有几个,那么是否将它们都全部引入呢?实际编程序时并不是一起全部引入,而是选其最大的一个引入回归方程。
关于剔除变量,如果已有 个变量被引入回归方程,不失一般性,设其为 ,所对应的平方和分解公式为:
|
|
(33.6) |
其中
为了研究每个变量在回归方程中的作用,我们来考虑分别删掉Xi
|
|
(33.7) |
这时,回归平方和从 降为 ,同时残差也发生相应的变化。残差平方和从 增加到 , 对回归平方和的贡献,也等价于删除 后残差平方和所增加的量,同理可表示为:
|
|
(33.8) |
同理,我们来构造检验统计量:
|
|
(33.9) |
显然,这时Fi越小,则说明 在回归方程中起的作用(对回归方程的贡献)越小,也就是若有 ,则可以考虑将自变量 从回归方程中剔除掉,我们在编程序时,每次只剔除一个,因此,我们每次选择最小的 来与 进行比较。若有 则可以不考虑剔除,而开始考虑引入。
四、
逐步回归在计算过程中,进入和剔除变量规则的差别在例子中有可能得到说明。例如,可以根据Fi统计量中MSE的自由度来使用不同的Fin和 。但是,往往并不使用这种提纯量,而是使用固定的F 值,因为在搜索过程的重复检验中,并不可能得到精确的概率解释。最低可接受Fin决不应小于最高可接受 ,否则就有可能重复进入和剔除一个自变量。
自变量进入模型的顺序并不反映它们的重要程度。例如,第一个进入模型的X1,最终却可能被剔除。我们使用的逐步回归程序,在每个阶段上都打印出偏相关系数。对于筛选变量来说,使用这些相关系数与使用Fi值是等价的,事实上,有些程序就是使用偏相关系数来筛选变量的。进入和剔除一个变量的F 限不必根据近似显著性水平选定,但可以根据误差缩减量来描述性地确定。例如,一个进入变量的F限2.0可以这样来说明:变量一旦进入模型,那么,进入变量的边际误差缩减量至少应该是剩余误差均方的二倍。
逐步回归方法的一个局限是预先假定有单一的最优X变量子集,从而来进行识别。正如前面已经提到的,常常并没有唯一的最优子集。因此,一些统计学家建议,求得逐步回归的解后,拟合所有可能与逐步回归解的自变量个数相同的回归模型,以研究是否存在更好的X变量子集。
逐步回归方法的另一个缺点是当X变量高度相关时,有时会得到不合理的“最优”子集。也有人提出好几种其他寻找“最优”自变量子集的自动搜索方法。我们这里提一下其中的两种。但这两种方法都还未被接受为逐步搜索方法。其中之一为向前选元法,这种搜索方法只是逐步回归方法的简化,略去了检验进入模型的变量是否应被剔除这一步。其中之二为向后剔除法,这种搜索方法与向前选元法相反。它从包括所有X变量的模型开始,挑出
|
|
(33.10) |
如果最小的 值小于预定限,就剔除这个变量,然后拟合剩余的 个自变量的模型,挑选下一个待剔除元。重复这种过程,直至没有自变量可以被剔除。因为向后剔除法是从最大可能模型开始的,所以它比向前选元法需要更多的计算量。但是,向后剔除法有一个优点,它可以使使用者明白含有许多变量模型的复杂性。
五、
stepwise过程对逐步回归提供了九种方法。当你有许多自变量且想找出哪些自变量是该选入回归模型时,stepwise是有用的。
由于stepwise可以使你深入地了解自变量与因变量或响应变量之间的关系,因此,它对考察分析是很有帮助的。但是,stepwise并不能保证给你“最好”的模型,甚至具有最大R2的模型也不一定是“最好”的,并且靠这些均值演变得来的模型没有一个可以保证它精确地描述了真实世界的过程。
stepwise与rsquare以及其他过程是不同的。rsquare对所有自变量的组合找出R2 ,所以它可以指出具有最大R2的模型。而stepwise在挑选变量时选择下面描述的方法,所以,当stepwise判断模型时,它打印一份多个回归报告。
1.
(1)
(2)
(3)
(4)
(5)
maxr方法先找出一个产生最大R2值的变量,然后再加入另一个次最大R2值的变量,从而形成二变量的模型。形成二变量的模型之后,将模型中的变量与模型外的变量相比较,以决定是否移去一个变量而以另一个能生成更大R2 值的变量来代替。全部比较结束后,便得到了最佳二变量模型。依次往下,便得到最佳三变量模型等等。
(6)
(7)
(8)
(9)
|
|
(33.11) |
其中,P是模型中包括截距项的参数个数,MSE是满模型时均方误差,ESSp是具有P个自变量(包括截距项)回归模型的误差平方和。作Cp与P的曲线图,Matlows建议取Cp 首次接近P的地方的模型。
2.
|
proc |
|
model
|
|
weight |
|
by |
|
run ; |
stepwise至少需要一个model语句。by语句和weight语句可以放在任何地方。
(1)
stepwise中可以有任意多个model语句。model语句中的选项如下:
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
(2)
l
l

加载中…