UA MATH574M 统计学习V Variable Selection简介
UA MATH574M 統(tǒng)計學(xué)習(xí)V Variable Selection簡介
- 兩個基礎(chǔ)方法
- Ranking Variables
- Best Subset Algorithm
- 對基礎(chǔ)方法的改進(jìn)
- Generalized Information Criteria (GIC)
- Search Method
- Forward Selection
- Backward Elimination
Variable selection的目標(biāo)是從所有的predictor中選擇一個子集,這個子集具有所有的predictor的大部分解釋力,同時又能顯著減少model fitting的計算成本。先定義一些符號: {(Xi,Yi)}i=1n\{(X_i,Y_i)\}_{i=1}^n{(Xi?,Yi?)}i=1n?是數(shù)據(jù)集, Xi∈RdX_i\in \mathbb{R}^dXi?∈Rd, ddd的含義是predictor的數(shù)目,假設(shè)這些數(shù)目的index set為 S={1,2,?,d}S=\{1,2,\cdots,d\}S={1,2,?,d},用某種算法選擇的index subset記為 AAA。如果用線性模型來fit這些數(shù)據(jù),假設(shè)系數(shù)為 β\betaβ,真實(shí)系數(shù)為 β0\beta_0β0?,真實(shí)模型的index set為 A0A_0A0?。
兩個基礎(chǔ)方法
Ranking Variables
記每一個predictor為xi,i=1,?,dx_i,i=1,\cdots,dxi?,i=1,?,d,dependent variable的數(shù)據(jù)為yyy。假設(shè)xix_ixi?與yyy已經(jīng)做了centered,并且xjTxk=0,j≠kx_j^Tx_k=0,j \ne kxjT?xk?=0,j?=k(正交設(shè)計),則
β^=xjTyxjTxj,j=1,?,d\hat{\beta} = \frac{x_j^Ty}{x_j^Tx_j},j=1,\cdots,dβ^?=xjT?xj?xjT?y?,j=1,?,d
因?yàn)樵O(shè)計矩陣的各列正交,因此XTXX^TXXTX是對角陣,由此可以寫出上面這個系數(shù)估計。定義
tj=β^j∣∣xj∣∣1/2/σ^t_j = \hat{\beta}_j ||x_j||^{1/2}/\hat{\sigma} tj?=β^?j?∣∣xj?∣∣1/2/σ^
由此計算回歸平方和為
SSR=(Xβ^)T(Xβ^)=∑i=1dβ^j2∣∣xj∣∣2=∑i=1dσ^2tj2=∑j=1dRj2SSR = (X \hat{\beta})^T (X \hat{\beta})=\sum_{i=1}^d \hat{\beta}_j^2 ||x_j||^2=\sum_{i=1}^d \hat{\sigma}^2 t_j^2 = \sum_{j=1}^d R_j^2 SSR=(Xβ^?)T(Xβ^?)=i=1∑d?β^?j2?∣∣xj?∣∣2=i=1∑d?σ^2tj2?=j=1∑d?Rj2?
模型的可決系數(shù)為
R2=SSRSST=1SST∑j=1dRj2R^2 = \frac{SSR}{SST} = \frac{1}{SST} \sum_{j=1}^d R_j^2R2=SSTSSR?=SST1?j=1∑d?Rj2?
RjR_jRj?或者tjt_jtj?都可以理解為第jjj個predictor在回歸模型中的解釋力,按任何一個從大到小的順序可以用來給predictor排個序,用來做variable selection。這個想法非常直觀,但只適用于正交設(shè)計,實(shí)際上大多數(shù)問題的predictor都不會是正交的,所以這個方法只能作為一個基準(zhǔn)。
Best Subset Algorithm
這個算法的思想很簡單,并且不需要正交設(shè)計的條件。我們可以把full index setS={1,2,?,d}S=\{1,2,\cdots,d\}S={1,2,?,d}的所有subset對應(yīng)的模型都fit并且evaluate一下,找到最優(yōu)的那個就好。然而它所有的子集數(shù)目為2d2^d2d,這意味著要遍歷所有的子集找出最優(yōu)的一個,需要做2d2^d2d次model fitting,顯然這是個NP問題。另外evaluate的方法可能造成overfitting,比如用殘差平方和來evaluate,實(shí)際上使用的predictor數(shù)目越多,殘差平方和肯定是會下降了,所以模型傾向于多用predictor,造成overfitting。要解決overfitting的問題比較簡單,因?yàn)橛媒y(tǒng)計方法直接做的話相當(dāng)于只做了最小化training error,而沒有對model size做penalty,因此加上對model size的penalty可以改進(jìn)這個不足。
對基礎(chǔ)方法的改進(jìn)
Generalized Information Criteria (GIC)
定義GIC為:
GIC=trainingerror+αd.f.GIC = training\ error + \alpha d.f.GIC=training?error+αd.f.
其中d.f.d.f.d.f.是模型的自由度,則最優(yōu)的subsets具有最小的GIC。第一項考慮的就是training error,不看第二項的時候第一項與監(jiān)督學(xué)習(xí)的問題是完全一樣的,α\alphaα是對model size的penalty,加上第二項說明我們需要在最小化training error的情況下盡量讓model size比較小。經(jīng)典的criteria是AIC和BIC。AIC的定義是
AIC=nln?Remp(f)+2d.f.AIC=n\ln R_{emp}(f) + 2d.f.AIC=nlnRemp?(f)+2d.f.
BIC的定義是
BIC=nln?Remp(f)+d.f.ln?nBIC=n\ln R_{emp}(f) + d.f. \ln nBIC=nlnRemp?(f)+d.f.lnn
事實(shí)上,BIC具有一致性,即樣本量趨近無窮時,BIC決定的結(jié)果趨近于真實(shí)模型。但樣本數(shù)沒有那么多的時候,BIC和AIC各有優(yōu)劣。但要用線性模型來近似真實(shí)模型時(真實(shí)模型不在model set里面),AIC決定的結(jié)果是最優(yōu)近似。因此,實(shí)際應(yīng)用的時候兩個都會計算一下,比較結(jié)果會不會差很多。當(dāng)樣本量稍微大一點(diǎn)的時候,即lnn>2ln n>2lnn>2時,BIC penalizes more on model size,所以當(dāng)candidate mode set比較大的時候,BIC比AIC好,因?yàn)锽IC選擇出來的結(jié)果會更sparse。
Search Method
解決了penalty之后接下來就是NP問題,Furnival and Wilson(1974)指出d≤40d \le 40d≤40的時候best subset algorithm是有效的。當(dāng)ddd比較大時,要解決這個NP問題可以用search method(或者叫g(shù)reedy method),即找出一條path,只需要遍歷這條path上的subset就可以了。常用的search method有三種:forward selection、backward elimination、stepwise selection。這一類方法的優(yōu)勢比較明顯,簡單直觀可能實(shí)現(xiàn)更低的prediction error,但也可能得到局部最優(yōu),并且這類方法沒有理論支撐,即沒有BIC那種一致性。下面兩種方法的示例可以看回歸那個系列的文章。
Forward Selection
Forward Selection能夠把遍歷的subset的數(shù)目從2d2^d2d減少為∑i=1d=Cd2\sum_{i=1}^d = C_d^2∑i=1d?=Cd2?。它的思想非常簡單,首先比較所有的ddd個predictor,選出最優(yōu)的一個,然后比較最優(yōu)的這個predictor和其他d?1d-1d?1個predictor,選出最優(yōu)的一組,然后比較這一組predictor和其他d?2d-2d?2個predictor組成的三個predictor的組合,選出最優(yōu)的一組。。。關(guān)于每次新加的那個predictor值不值得加還可以再用F檢驗(yàn)(廣義線性檢驗(yàn)方法,參考回歸那個系列)來做一下,如果沒法拒絕原假設(shè)還可以再少考慮一個subset。最后evaluate模型可以用AIC或者BIC。
Backward Elimination
Backward Elimination也能夠把遍歷的subset的數(shù)目從2d2^d2d減少為Cd2C_d^2Cd2?。它的想法和Forward Selection正好相反,它從full model出發(fā),逐步減少predictor,還是用廣義線性檢驗(yàn)方法判斷該不該減少。用AIC、BIC來evaluate模型。
在具體應(yīng)用的時候,Backward Elimination從最復(fù)雜的模型開始計算,Forward Selection從最簡單的模型開始計算,所以計算上Forward Selection要更便捷一點(diǎn)。但這兩種方法都有個缺點(diǎn),如果在判斷的時候錯誤地刪除了一個變量,它們都無法改正回來。因此又提出了Stepwise Selection,就是允許每一步添加或者刪除一個predictor,相當(dāng)于結(jié)合了這兩種方法,從而可以修改錯誤判斷。
總結(jié)
以上是生活随笔為你收集整理的UA MATH574M 统计学习V Variable Selection简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UA MATH565C 随机微分方程I
- 下一篇: UA MATH566 统计理论7 一个例