iT邦幫忙

2022 iThome 鐵人賽

DAY 10
0
AI & Data

Machine Learning A-Z 學習筆記系列 第 10

[Day10] 多元線性回歸 (02)

  • 分享至 

  • xImage
  •  

自變量的篩選很重要

在多元線性回歸中, 可以加入多個自變數來擬合出模型
但如同上一篇提到, 過多的自變數可能會出現共線性或是過度擬合的情況
造成模型預測的精準度不佳
再者, 當模型建立好之後, 我們也需要解釋自變量的對應變量的影響
因此我們也不希望自變量過多, 讓模型過於複雜到難以解釋(e.g.對老闆或同事解釋起來會很痛苦...)
因此我們需要對自變量進行篩選

建立模型的方法

接下來紀錄課程中提到的五種建立模型的方法
其中2,3 是常見的方法, 4 是2,3的結合

  1. All-In
  2. Backward elimination
  3. Forward selection
  4. Bidirectional elimination
  5. Score comparison

1. All-In

最單純的方法, 就是丟進所有的自變量
有兩種情況你可能會使用這個方法:

  1. prior knowledge 能提前知道這些訊息對模型有哪些影響
  2. "you have to"因為某種需求而必須投入全部自變量
    例如當你的老闆要求要把全部的變數都丟到模型裡的時候XD
    不過不建議這種方法, 因為如開頭提到的
    這種方法很可能會讓模型不準確

2. Backward elimination

反向淘汰 (是被應用最多的)
簡單的原則是從所有變數中一次淘汰一個對模型解釋力最小的(結果影響最小的)變數
直到整個模型的解釋力不再降低

解釋力: 可解釋多少程度的預測結果

接下來看建模型的步驟:
step1: select a significance level to stay in the model(e.g. SL=0.05)
對於每一個變數來說, 對於結果是有影響力的, 我們稱這個影響力為p-value
再來我們會訂一個門檻叫SL(significance level)
用來評斷一個新的變數對於結果有多大的影響才可以被納入模型中

step2:Fit the full model with all possible predictors
採用所有變數做擬合

step3: Consider the predictor with the highest p-value, if P > SL, goto step 4, otherwise goto FIN
計算出每一個變數的p-value, 取最高的p-value並判斷是否大於SL, 若沒有代表模型擬合結束

step4: Remove the predictor
若上一步選擇的p-value > SL, 則移除這個變數

step5: Fit the model without this variable
重新進行擬合(此時model裡的所有變數已經少一個)
接下來就重新回到step3, 直到所有highest p-value < SL

FIN: Finished

3. Forward selection 向前選擇法

簡單的原則是一次選一個對模型解釋力最大的變數, 直到整個模型的解釋力不再增加

接下來看建模型的步驟:

step1: select a significance level to stay in the model(e.g. SL=0.05)
訂一個門檻叫SL(significance level)
用來評斷一個新的變數對於結果有多大的影響才可以被納入模型中

step2: fit all simple regression models y~xn, select the one with the lowest p-value
進行多個簡單線性回歸, 並挑出擁有最低p-value的變數
代表這個變數的影響最大

step3:keep this variable and fit all possible models with one extra predictor added to the one(s) your already have
將這個變數加入到所有可能的模型中, 並重新擬合

step4:Consider the predictor with the lowest p-value, if p < SL , go to step 3, otherwise go to FIN
挑出最低的p值, 如果p < SL 就重新回到step3, 直到選取完所有 < SL的p-value就完成了

FIN: finished

Reference

[SAS]迴歸分析 — 模型挑選 Regression feature selection
https://wenwu53.com/sas-regression-model-selection/

用 R 來完成逐步回歸分析法
https://medium.com/ntu-data-analytics-club/%E7%94%A8-r-%E4%BE%86%E5%AE%8C%E6%88%90%E9%80%90%E6%AD%A5%E5%9B%9E%E6%AD%B8%E5%88%86%E6%9E%90%E6%B3%95-f4e1158eb2ed

今天的資訊量很龐大
剩下的4,5 兩個方法我留到明天再看XD


上一篇
[Day09] 多元線性回歸 (01)
下一篇
[Day11] 多元線性迴歸(03)
系列文
Machine Learning A-Z 學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言