iPAS 備考專區 登入

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

多重共線性怎麼解?PCA 登場

原題

某金融科技公司建立房價預測模型,使用多項特徵(如建坪、房齡、樓層、總價等)進行線性迴歸分析(Linear Regression Analysis)。資料分析師發現多個特徵之間存在高度相關性,導致模型係數不穩定、預測誤差上升。為解決此問題,下列哪一種方法最適合?

白話

一家金融科技公司要預測房價,把「建坪、房齡、樓層、總價」等特徵一起丟進線性迴歸(Linear Regression)模型。

分析師發現:這些特徵彼此之間高度相關(比如建坪越大、總價通常越高),導致模型「係數不穩定」、預測結果跑掉了。

問你:遇到這種「特徵高度相關」的問題,應該用哪種方法解決?

一句話總結

特徵彼此高度相關(多重共線性)會讓線性迴歸係數飄移,解法是用 PCA(主成分分析,Principal Component Analysis)把原本相關的特徵,轉換成彼此獨立的新變數(主成分),讓模型算得穩。

情境

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

假設「好房網」的分析師陳明要預測台北市每棟房子的售價,他收集了以下特徵:

建坪:45 坪 房齡:10 年 樓層:8 樓 總價:2,800 萬

看起來沒問題,但他在跑模型之前先做了相關係數(correlation)分析:

建坪 vs 總價:相關係數 0.91(超高)

建坪 vs 公設比:相關係數 0.85(高)

房齡 vs 電梯年限:相關係數 0.88(高)

「建坪」和「總價」幾乎是同一件事的兩種說法。如果兩個人都用差不多的資訊在投票,模型不知道要聽誰的,係數就會跳來跳去。

這個現象叫多重共線性(Multicollinearity)。

舊方法

直接忽略問題,會發生什麼事

陳明如果選擇「繼續保留所有特徵,不處理」,會踩到五個坑:

  1. 係數不穩定:多加一筆訓練資料,「建坪」的係數可能從 +50 跳到 -20,模型行為完全不可預測。
  2. 標準誤差膨脹:高度相關的特徵讓係數的標準誤差(standard error)變超大,統計檢定全部失效,不知道哪個特徵「真的重要」。
  3. 解釋能力喪失:老闆問「建坪每增加 1 坪,房價漲多少?」你回答不了,因為係數本身就是假的。
  4. 過擬合風險上升:相關特徵等於「重複投入雜訊」,模型把雜訊記起來,在新資料上表現差。
  5. 矩陣奇異,算不出解:特徵完全線性相關時,矩陣求逆(matrix inversion)會失敗,程式直接報錯。

新方法

PCA 怎麼把相關特徵變獨立

PCA 的思路不是「選哪個特徵」,而是「重新創造新的特徵,讓它們彼此獨立」。

對好房網的資料集來說,PCA 會做這件事:

  1. 找出原始特徵裡「最能解釋資料變化」的方向,叫做第一主成分(PC1)。PC1 可能是「建坪 × 0.6 + 總價 × 0.7 + 樓層 × 0.2」這樣的組合。
  2. 第二主成分(PC2)和 PC1 完全垂直(不相關),抓住資料裡 PC1 沒解釋到的部分。
  3. 以此類推,得到一組彼此獨立的新特徵。

轉換之後:

原本:建坪(與總價 r=0.91)、總價(與建坪 r=0.91)…

轉換後:PC1(r=0.00 與 PC2)、PC2(r=0.00 與 PC1)…

丟進線性迴歸後,係數就穩定了,模型不再「聽兩個人說同一件事而不知所措」。

這就是選項 B 講的:使用主成分分析(PCA)將相關特徵轉換為彼此獨立的主成分。

錯選項

為什麼其他選項是錯的

A繼續保留所有特徵,不進行任何處理

字面在說什麼

把所有原始特徵照單全收,不管它們之間是否高度相關,直接丟進模型訓練。

為什麼不對

題目已經說「多個特徵之間存在高度相關性,導致模型係數不穩定、預測誤差上升」,這就是多重共線性的症狀。保留不處理等於放任問題繼續惡化:係數持續不穩定,模型換一批資料結果就完全不同,完全無法信任。

誰會選錯

以為「特徵越多越好,AI 會自己學」的人。在線性迴歸裡,相關特徵不是「更多資訊」,而是「重複的噪音」,會讓矩陣算不穩。

C新增更多原始變數以提升模型表現

字面在說什麼

目前特徵不夠好,再去找更多特徵加進來,讓模型學到更多。

為什麼不對

問題的根源是現有特徵「太相關」,不是「太少」。加入更多原始變數只會帶進更多潛在的相關特徵,多重共線性只會更嚴重,係數更不穩定。這是反方向操作。

誰會選錯

記住「多加特徵 = 模型更強」這個直覺的人。這個直覺在特徵品質差或過少的情況下成立,但這題的問題是相關性,解法是降維或處理相關性,不是加更多資料。

D改用分類模型進行預測

字面在說什麼

換一種模型類型,改用分類(classification)而不是迴歸(regression)來預測房價。

為什麼不對

房價是連續數值(2,800 萬、3,150 萬),是迴歸問題(regression),不是分類問題。分類模型的輸出是類別(如「貴 / 便宜」),不是具體數值,根本解決不了「預測房價數字」的需求。更重要的是,改換模型類型完全沒有處理多重共線性的問題。

誰會選錯

對迴歸和分類的適用場景搞混的人。看到「線性迴歸效果不好」就以為要換模型,但問題不在「迴歸」這個選擇,而在「輸入特徵相關」這個資料問題。

變形題

同個考點下次怎麼變形

延伸

想再往下看,這 5 個

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

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

看官方原文 PDF

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