- 金融商業算法建模:基于Python和SAS
- 趙仁乾 田建中 葉本華 常國珍
- 1061字
- 2021-11-05 17:52:05
2.1.3 多元線性回歸的變量篩選
在存在多個自變量的情況下,一定要對模型進行變量篩選,理由如下。
1)每個自變量對于預測因變量的重要性不同,我們有理由去除不重要的變量以降低推斷時的計算復雜度。
2)變量越多意味著模型越復雜,也意味著模型越容易過度擬合,導致在新樣本中的預測性能大幅下滑。
變量篩選時,我們可以逐個判斷X與Y的關聯程度。在線性回歸中,如果自變量是連續型的,則可以使用皮爾遜相關系數進行判斷;如果自變量為離散型的,可以使用t檢驗或F檢驗判斷自變量與因變量的相關程度。
為了提高效率,我們還可以利用逐步法,通過編程實現變量的自動篩選。逐步法包括向前回歸法、向后回歸法和雙向回歸法。另外還有全子集變量篩選法,目前只有SAS軟件中實現了該算法。
1.向前回歸法
向前回歸法是指逐步向模型中增加變量,通過指定的標準判斷模型效果,決定保留哪個變量。算法過程如下:
1)用被解釋變量(Y)和每一個解釋變量(X)作回歸,選取一個解釋力度最高的一個變量;
2)在先前保留的變量基礎上,依次增加其他變量,選取其中與先前保留變量組合效果最好的,將其并入保留變量;
3)重復上述操作,直至根據標準沒有可以添加的變量為止。
示例如圖2-9所示。

圖2-9 向前法變量篩選示例
可以看到,第一步從所有的9個變量中選擇調整R2最大的X5;在保留了X5的基礎上,第二步將剩余的每個變量與X5一起進行回歸建模,保留X9;再在X5和X9的基礎上,將剩余的每個變量與其組合進行建模,保留X6;依此類推,當最終保留下X3、X5、X6、X9之后,再增加變量則調整R2都無法增長,算法停止。
在選擇評判標準時,我們可以使用調整R2最高、P值最小、AIC或BIC最小等進行評估。
2.向后回歸法
與向前回歸法相反,向后回歸法是先用所有變量進行回歸,再逐步去除每個變量并查看模型效果,直至無法再去除任意變量為止,示例如圖2-10所示。

圖2-10 向后法變量篩選示例
3.雙向回歸法
顧名思義,雙向回歸法是向前回歸法和向后回歸法的結合。這種方法增大了搜索空間,相應增加了建模時的計算量,不過效果往往更好。示例如圖2-11所示。

圖2-11 雙向回歸法變量篩選示例
4.全子集法
逐步法本質上屬于貪婪算法,總是優先選擇當下效果最好的自變量進入模型,因此無論哪一種模型都不一定能取得最優的變量組合。理論上來說,我們只有對所有可能的變量組合都進行評估,才有可能取得最優的模型,這種方法也被稱為全子集法。
全子集法的問題在于搜索空間的爆炸性增長,假如我們有100個待篩選的變量,要對任意的變量組合進行評估,則需要做2100-1次建模,這顯然是難以接受的。只有在自變量數量較少的情況下,我們才可能使用這種暴力枚舉的方法。