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