iPAS 備考專區 登入

iPAS AI 應用規劃師 中級 科目一 AI 技術應用與規劃・114 年第二次・L21・第 26 題

多重共線性怎麼解?選哪個模型?

原題

在房價預測任務中,若發現特徵如「房間數」與「坪數」存在高度多重共線性(Multicollinearity),為降低共線性對模型參數估計的負面影響,應優先選擇下列哪種模型?

白話

你在預測房價,用了兩個特徵:「房間數」和「坪數」。但這兩個特徵高度相關,房間越多坪數通常也越大,這叫「多重共線性」(Multicollinearity)。

多重共線性會讓模型的「參數估計」出問題:不知道該把房價的貢獻歸給「房間數」還是「坪數」,導致係數不穩定、可解釋性差。

問你:哪個模型最能降低多重共線性對參數估計的負面影響?

一句話總結

面對多重共線性,應該選含 L1 正則化的 LASSO 迴歸:LASSO 的 L1 懲罰會強制把高度相關特徵中「貢獻較小」的那個係數壓到零,自動做特徵選擇,解決係數不穩定的問題。

情境

先感受問題:兩個特徵說的是同一件事

假設你在「好房網」建立房價預測模型,訓練資料有 10,000 筆,特徵包括:房間數、坪數、樓層、屋齡、地段。

你做了個相關係數分析,發現問題:

房間數 × 坪數:相關係數 0.94(超高!)

1 房通常 20~30 坪,3 房通常 50~70 坪,5 房通常 80~120 坪

→ 這兩個特徵幾乎在說同一件事

你用普通線性迴歸來訓練,結果係數跑出來:

房間數的係數:+150 萬

坪數的係數:−3 萬(負的?越大越便宜?)

這不合常識。問題出在:兩個特徵高度相關時,模型不知道該怎麼「分配功勞」,結果係數互相抵消,甚至出現方向錯誤(負號)。

這就是多重共線性造成的「參數估計不穩定」問題。

舊方法

普通線性迴歸遇到共線性,為什麼會崩潰

普通線性迴歸(OLS,最小平方法)的目標是找到一組係數,讓預測誤差最小。遇到共線性時的五個問題:

  1. 係數方差爆炸:當兩個特徵高度相關,OLS 的解析解涉及矩陣求逆,但相關係數接近 1 時矩陣接近奇異(不可逆),數值不穩定,係數方差可以飆到幾百倍。
  2. 係數符號錯誤:如上面例子,坪數的係數出現負號。這讓模型完全不可解釋。
  3. 係數隨樣本大幅波動:換一批訓練資料,係數可能從 +150 萬變成 −30 萬,模型極度不穩定。
  4. 無法做特徵重要性分析:係數不穩定,你不能靠係數大小判斷「房間數重要還是坪數重要」。
  5. 預測能力反而還好(但不能信任係數):奇怪的是,OLS 在共線性情況下,預測的 RMSE 不一定很差(因為兩個特徵合起來還是包含了資訊),但係數完全不可信。這讓問題更難被察覺。

新方法

LASSO 的 L1 正則化:強制選一個,丟掉另一個

LASSO(Least Absolute Shrinkage and Selection Operator)的核心機制:在損失函數裡加入一個懲罰項,讓模型不能隨意把係數設很大。

回到好房網的例子。LASSO 訓練後的係數:

房間數的係數:0(LASSO 把它壓成零了!)

坪數的係數:+6.8 萬(每增加 1 坪,房價增加 6.8 萬)

樓層、屋齡、地段:正常的係數

LASSO 做了一個決定:在「房間數」和「坪數」這兩個高度相關的特徵中,它自動選了「坪數」(解釋力更連續、更精確),把「房間數」的係數壓成了零,等同於丟掉了這個特徵。

這就是 L1 正則化的「稀疏特性(sparsity)」:會讓部分係數精確等於零,自動做特徵選擇(Feature Selection)。普通的 L2 正則化(Ridge 迴歸)只會把係數壓小,不會壓成零。

這就是選項 D 講的:含 L1 正則化的 LASSO 迴歸模型。

錯選項

為什麼其他選項不是最佳答案

A不受多重共線性影響的決策樹模型

字面在說什麼

決策樹在分裂時每次只選一個特徵,不同時使用多個特徵,所以不存在「參數估計因為共線性而不穩定」的問題。

為什麼不是最佳答案

決策樹確實對多重共線性不敏感,但題目問的是「降低共線性對參數估計的負面影響」。決策樹的「分裂規則」不是「參數估計」,而是選擇最佳分裂特徵和閾值。如果你需要一個線性可解釋的係數(「每增加 1 坪,房價增加多少元」),決策樹根本沒有這種輸出。題目的背景是「參數估計」問題,決策樹迴避了問題而不是解決了問題。

誰會選錯

知道「決策樹不怕共線性」但沒注意題目問的是「參數估計」的考生。注意:題目的核心是線性模型的參數估計問題,決策樹換了問題框架,不在討論範疇內。

B傳統線性迴歸模型,不含正則化項

字面在說什麼

直接用普通最小平方法(OLS)做線性迴歸,不加任何正則化。

為什麼不對

這是多重共線性問題最糟糕的選擇。普通線性迴歸在遇到高度共線的特徵時,係數方差爆炸、係數可能出現錯誤方向、不同訓練集給出截然不同的係數。OLS 沒有任何機制來處理共線性,它會如實「承受」所有數值不穩定的後果。題目說「降低共線性對參數估計的負面影響」,OLS 完全反其道而行。

誰會選錯

只知道「線性迴歸可以估計參數」但不清楚「共線性對 OLS 的破壞」的考生。這是最應該被排除的選項。

C支持向量機搭配線性核函數

字面在說什麼

用 SVM(Support Vector Machine)的線性版本來做迴歸,尋找最大間隔的超平面。

為什麼不對

線性 SVM 確實有正則化機制(C 參數控制間隔大小),能一定程度穩定係數。但線性 SVM 使用的是 L2 類型的懲罰,不會把係數壓成零,不做特徵選擇。面對「房間數」和「坪數」高度相關時,SVM 可能給兩個特徵都分配一些係數(類似 Ridge),不會解決「哪個特徵是真正主力」的問題。此外 SVM 迴歸(SVR)的係數可解釋性比 LASSO 差,不適合需要解釋「每坪增加多少元」的商業場景。

誰會選錯

知道 SVM 有正則化、比 OLS 穩定,就選它的考生。記住:處理多重共線性「最有效」的線性模型是 LASSO,因為它的 L1 特性直接解決共線特徵的分配問題(壓成零),SVM 的穩定性不如 LASSO 針對這個問題有效。

變形題

同個考點下次怎麼變形

延伸

想再往下看,這 5 個

答案、題目或解析有問題?回報這題

出處:iPAS 經濟部產業人才能力鑑定 ・ 114 年第二次 iPAS AI 應用規劃師 中級 科目一 第 26 題

看官方原文 PDF

原題 © 經濟部產業發展署,AITerms.tw 僅作教學解析使用,本站解析以 CC BY-NC-SA 4.0 授權。