Least Angel Regression

最小角迴歸和上一篇說的forward stepwise有一些相似的地方是都是將一些variable選到variable集合中來,不一樣的是,forward stepwise 每次選的都是與當前殘差相關度最大的variable,選進來以後,會重新對所有的入選variable做一下回歸,而最小角迴歸的做法是,同樣是首先找到與當前殘差相關度最大的variable,然後沿着這個這個variable的方向行徑,行經過程中殘差與這個variable的相關度會逐漸減小,直到發現了有另外一個variable,它與當前殘差的相關度和剛纔那個variable與殘差的相關度一樣了,此時就不往第一個variable的方向行徑,而是往這2個variable的方向,那這個方向是什麼呢?幾何上就是這兩個variable方向的角平分線方向,看下下面的圖:


這張圖說明了這個過程的前兩步(記得做之前將x標準化,將y中心化),首先發現x1比x2更加得和y2相關,所以先沿着x1的方向移動,直到走到u1時,發現x1,x2與此時的殘差相關程度一樣了,那麼此時移動的方向就是x1,x2所呈角的角平分線方向,按照這個方向移動,直到下一個variable出現,按照此過程一直移動,直到所有的variable都被找出來。

方向可以用這個式子來定義,有:


這個式子Xak表示當前入選的variable,相當於用當前的variable對殘差rk做了一次regression,可以看出這個方向向量一開始只有一個非0的數,隨着variable的增加,0的個數逐漸較少。

每一次更新估計的參數爲,


alpha爲這個方向移動的距離,移動到出現一個variable和當前入選variable與殘差相關度相等時(因爲每次都是按照角平分線,所以當前入選的所有variable與殘差相關度都是相等的),移動停止。

值得說明的兩點:

1 其實stagewise 從u0走到u1走了走了很多步,因爲它選了x1後還是發現x1與當前殘差相關性最大,所以他需要非常多的步驟找到u1,更多的步驟找到所有的variable,這個方法過於保守。

2 而對於stepwise,它一下子就找到y1(y1是y2在x1上的投影),也就是y2關於x1做regression的結果,所以說這個方法過於激進。

而Least Angel Regression 則是上面兩個方法的折中法。

可以發現,按照這樣的path移動,所有被找到的variable和當前殘差的相關性都是一樣的。如下圖:


這圖(橫座標是路徑的長度)說明了相關性(注意這裏都取了絕對值)逐漸下降並且所有被選進的variable相關性相等。

然而最令我費解的是,Least Angel Regression 和Lasso還有一定的關係,如下圖:


lasso就是把嶺迴歸參數向量的長度平方改成了絕對值的和,對於這兩個方法,有一個重要的性質是:

如果不存在某個參數隨着path長度增加而穿過了0這個座標,那麼lasso的解和Least Angel Regression的解是一樣的,可以發現圖中,在橫座標18以前,圖都是一樣的,而在18這個位置,深藍色的線穿過了0。

表示自己水平不夠看不懂The elements of statistical learing 裏面的解釋,就先放在這裏吧。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章