用 R 來完成逐步回歸分析法

--

keywords: #R語言 #變數選擇 #逐步回歸

在多變數回歸分析中,我們時常會疑惑於到底要放入哪些變數,放入太多的變數可能會擔心模型出現共線性或過擬合導致預測精確度下降的問題,放入太少的變數則似乎無法達到使用多變數分析的目的。

今天我們請課程長嘉彣介紹逐步回歸分析法(stepwise regression),利用自動化的過程來選擇變數進入解釋變數集合中或從解釋變數集合中刪除變數,藉此找出最合適的回歸模型。

本篇文章 Takeaways

  1. 變數選擇的三種常見方法
  2. 了解逐步回歸分析的概念
  3. 使用 R實作逐步回歸分析

適合哪些人閱讀

對於剛從統計學入門海中游到資料分析領域的初學者而言,常會落入手上一大堆變數卻不知道如何選擇丟入模型的困境,本篇提供了一些變數選擇的方法給初學者們參考,幫助初學者們有根據的選擇適合的變數建立模型。

目錄

1. 逐步回歸分析法的概念
2. 實作案例:利用逐步回歸分析來選擇預測房價模型要納入的變數
3. 總結

逐步回歸分析法的概念

要了解逐步回歸分析,就必須先知道兩個同樣也常用於選擇變數進入模型的方法:向前選擇法(forward selection procedure)與反向淘汰法(backward elimination procedure)。

向前選擇法:

我們可以先想像手邊有一堆待放入變數,還有一個未納入任何變數的模型。接下來,我們檢測在這群變數中哪一個變數可以解釋最多的的預測結果(最顯著),把這個變數丟入模型中,接著放入第二大能解釋最多預測結果的變數,重複這個步驟直到整個模型的解釋力不再增加。

反向淘汰法:

與向前選擇法相反,反向淘汰法則是一開始就先把所有變數放入模型中,再依照一些標準去淘汰對模型解釋力最小的變數(低顯著),如拿掉哪一個變數會使整體模型的 AIC 降低。重複這個步驟直到整個模型的解釋力不再降低。

逐步回歸分析:

逐步回歸分析結合了向前選擇法與反向選擇法,一開始如向前選擇法一樣,選擇最具解釋力的變數進入模型,若選入的變數在新變數加入後變得不再顯著,則會被踢出模型,如此保證了影響顯著的變數都會存在於模型中。

利用逐步回歸分析來選擇預測房價模型要納入的變數

我們有一個關於美國房價的資料集,其中擁有的變數包含:該區平均收入、該區平均屋齡、該區平均房間數、該區平均臥室數、該區人口、房價。

我們想要透過上述多個變數來預測房價,但不確定哪些變數對於房價而言是相對重要的,因此我們可以利用 R 中的逐步回歸語法來進行分析:

第一步:建立一個只有截距項的模型,應變數為房價(Price),在本例中只有截距項的模型其 AIC 為127746.6。

*AIC 為評估模型複雜度與擬合度的指標,一般 AIC 越小表示模型擬合越好

第二步:分別加入各變數進模型中,其 AIC 會有不同的變化。可以看到下圖各變數前面有+記號,意味著加入此變數進入模型的情況。其中加入該地區平均收入(Avg..Area.Income)的模型 AIC 降低最大,降至125117。因此放入該地區平均收入進入模型中。

第三步:接著我們可以看到現有的模型可以做的以下可能的步驟,包含加入其他四個變數、不動(none)、刪除剛剛加入的變數(該區平均收入)。在所有選擇中,加入該區平均屋齡(Avg..Area.House.Age)的模型平均下降的 AIC 最多,因此在此步驟中選擇加入此變數進入模型中。

第四步到第五步重複這個篩選的步驟,將 Area.Population、Avg..Area.Number.of.Rooms這兩的變數納入

第六步:我們可以看到在第六步中已有的模型包含該區平均收入、該區平均屋齡、該區人口、該區平均房間數。此時我們發現在可選擇的下一步中,什麼都不做(None),其 AIC 可以保留在最小的狀態。因此逐步回歸的選擇停止在這裡。

如此,我們就找出擬合模型最好的幾個變數!從本例中該區平均收入、該區平均屋齡、該區人口與該區平均房間數是預測房價相對重要的變數。

總結

上述步驟雖然看似非常長,但實際上只需要短短的幾句語法就能完成!不過需要注意的是,此例是只考慮「統計學上」的意義,在進行實務分析時,還需要搭配相關的領域知識來判斷哪些變數有真正的解釋意義,才能建立出實用且合理的模型喔!

立即動手追蹤 NTUDAC粉專,進入資料分析與商業決策的世界!

其他社群平台:FacebookLinkedIn

--

--

NTU Data Analytics Club
NTU Data Analytics Club

臺大資料分析與決策社 (NTUDAC) 為一群對資料科學抱有熱忱的臺大學生創立, 旨在教授學員如何利用數據分析解決商業問題的商業性社團,在 Medium 將分享社團課程與實作專案內容,以期推廣資料分析的相關資訊。