iPAS AI 應用規劃師 中級 科目二 大數據處理分析與應用

Y 右偏且變異數隨 X 增大,怎麼做前處理?

原題 36

某研究人員欲使用線性迴歸模型(Linear Regression Model)分析變數 Y 與 X 之間的關係,但發現 Y 的分佈明顯右偏,且其變異數隨 X 的增大而增加。為滿足模型假設並提升配適效果,下列哪一種前處理方法最為合適?

白話

研究人員要用線性迴歸分析 Y 和 X 的關係,但 Y 的分佈右偏(不對稱),而且 Y 的變異數會隨著 X 增大而增加(異質變異數)。這兩個問題都違反了線性迴歸的假設。

問你:對 Y 做哪種前處理,可以同時解決右偏和變異數隨 X 增大的問題?

點選你的答案。

01 總結

一句話總結

Y 右偏且有異質變異數(Heteroscedasticity),要用Box-Cox 轉換對 Y 做冪次變換,它能同時穩定變異數、改善偏態,讓 Y 更接近常態分佈,滿足線性迴歸假設

02 情境

先感受問題:房價資料的兩個毛病

資料科學家佳薇要用線性迴歸分析「房價(Y)和房齡(X)」的關係,拿到台北市 2,000 筆房屋資料。

她先畫圖看看資料,發現兩個問題:

問題 1:Y(房價)右偏嚴重 — 大多數房子集中在 500-1,500 萬,但少數豪宅高達 5,000 萬以上,拉出一條長長的右尾。
問題 2:X 越大(房子越新),Y 的變異越大 — 新房子的價格差距更懸殊(可以是 300 萬到 3,000 萬),舊房子相對集中。

這兩個問題都讓線性迴歸的假設不成立,她要找一個方法同時修正。

03 對照

各種「修一個問題」的方法,為什麼不夠

  1. 對 X 標準化,不解決 Y 的問題:X 的標準化((X-μ)/σ)只改變 X 的尺度,讓係數解釋更方便,但 Y 右偏和 Y 的變異數問題完全沒有被碰到。
  2. 只用 log(Y) 轉換:log 轉換是 Box-Cox 的特例(λ=0),對右偏有效,也能改善部分異質變異數,但不是所有右偏資料都適合 log,Box-Cox 更一般化,可以找到最佳的 λ 值。
  3. 一次差分是時間序列的工具:差分是為了讓時間序列平穩(Stationary),佳薇的資料是橫截面資料(房屋清單),不是時間序列,差分沒有意義。
  4. 移除高變異樣本是資料破壞:把 Y 變異大的資料點刪掉,等於系統性偏移樣本,模型不再代表整體母體,估計量有偏誤(Bias)。
  5. WLS(加權最小平方)只處理異質變異數:WLS 對每個觀測值給不同的權重來補償異質變異數,但不處理 Y 的偏態問題,兩個問題要分別處理。
04 解法

Box-Cox 轉換:自動找最佳冪次修正偏態和異質變異數

佳薇對 Y(房價)做 Box-Cox 轉換,找到最佳 λ 值(例如 λ=0.3):

  • 轉換後的 Y* 分佈明顯更對稱,右偏消失
  • 轉換後 Y* 的變異數在不同 X 值下也趨於穩定,異質變異數改善

Box-Cox 轉換的核心優勢:它不是固定用 log 或 sqrt,而是用最大概似估計(MLE)自動找出讓 Y* 最接近常態的 λ 值,比手動嘗試更系統化。

這就是選項 B 講的:對 Y 進行 Box-Cox 轉換(Box-Cox Transformation)

技術版:Box-Cox 轉換的概念位置

Box-Cox 轉換是 Box 和 Cox 在 1964 年提出的冪次變換族(Power Transformation Family),公式為:

  • 當 λ ≠ 0 時:Y* = (Y^λ - 1) / λ
  • 當 λ = 0 時:Y* = ln(Y)(即對數轉換)

不同 λ 值對應的轉換:

  • λ = 1:不轉換(恆等變換)
  • λ = 0.5:平方根轉換(Y* = √Y)
  • λ = 0:對數轉換(Y* = ln(Y))
  • λ = -1:倒數轉換(Y* = 1/Y)

最佳 λ 用最大概似估計(MLE)找,統計軟體(R 的 MASS 套件、Python 的 scipy.stats.boxcox)可以自動計算。

使用條件:Y 必須是正值(Y > 0),否則需要先做平移(Y + c,c 使最小值 > 0)。

線性迴歸的四個假設(CLRM):線性、獨立、同質變異數(Homoscedasticity)、常態殘差。Box-Cox 轉換主要修正「同質變異數」和「常態假設」的違反。

05 陷阱

為什麼其他選項是錯的

A對 X 進行標準化(Standardization)

字面在說什麼

對自變數 X 做 Z-score 標準化,讓 X 的均值為 0、標準差為 1。

為什麼不對

題目說的問題都是關於 Y 的:「Y 右偏」和「Y 的變異數隨 X 增大」。對 X 做標準化,X 的尺度改了,但 Y 的分佈完全沒有改變,兩個問題都沒解決。標準化是在特徵之間尺度差異大時用的,不是修正應變數分佈問題的工具。

誰會選錯

把「標準化」當成萬用前處理步驟的人,沒注意到問題出在 Y,不是 X。

C對資料進行一次差分(First Differencing)

字面在說什麼

把每個觀測值減去前一個觀測值,消除趨勢。

為什麼不對

一次差分是時間序列分析的技術,用來消除單位根(Unit Root)讓序列平穩。本題是橫截面資料(房價和房齡),沒有時間順序,差分沒有統計意義,也不解決偏態和異質變異數問題。

誰會選錯

記住「差分可以改善資料結構」,但不清楚差分的適用場景(時間序列),誤套在橫截面資料上。

D將 Y 中變異較大的樣本移除

字面在說什麼

把 Y 值特別高或特別低的資料點刪掉,讓變異數縮小。

為什麼不對

這是人為造成樣本偏誤(Sampling Bias)。系統性地刪除高變異樣本,讓樣本不再代表真實母體,建出來的模型對真實情況估計有偏,且極端值往往正是最有信息量的數據點(豪宅市場行為和普通住宅不同),刪掉後喪失重要資訊。

誰會選錯

把「降低變異數」和「移除高變異資料」混淆,或認為「讓資料看起來更整齊」就等於「滿足模型假設」的人。

06 變形

同個考點下次怎麼變形

變形 1

什麼是異質變異數(Heteroscedasticity)?它怎麼影響線性迴歸?

直覺

常聽到「同質變異數假設」,違反了會怎樣?

答案

異質變異數指殘差的變異數不恆定(隨某個變數變化)。OLS 估計係數仍然無偏,但標準誤(Standard Error)估計不正確,導致 t 檢定和 F 檢定的結論不可信,信賴區間也不準確。

變形 2

Box-Cox 轉換和 log 轉換有什麼關係?什麼時候直接用 log 就夠?

直覺

通常直接取 log 就好,Box-Cox 是更進階的版本嗎?

答案

log 轉換是 Box-Cox 的特例(λ=0)。當你確定資料的偏態可以用 log 修正,直接 log 更簡單直觀;當你不確定最佳轉換,Box-Cox 可以自動搜尋最佳 λ,比手動試 log/sqrt 更系統化。

變形 3

線性迴歸的四個主要假設是什麼?

直覺

線性迴歸有很多假設,考試常考哪幾個?

答案

線性(自變數和因變數線性關係)、獨立性(觀測值間無序列相關)、同質變異數(殘差變異數恆定,不隨 X 變化)、常態性(殘差近似常態分佈)。Box-Cox 轉換主要解決第三和第四個假設的違反。

變形 4

如果只是 Y 右偏但沒有異質變異數,Box-Cox 和直接 log 轉換哪個更好?

直覺

兩個問題不一定同時出現,單獨出現時怎麼選?

答案

只有偏態沒有異質變異數時,先試 log 轉換(直觀、可解釋);若 log 後殘差圖仍不理想,再用 Box-Cox 找最佳 λ。Box-Cox 彈性更高但結果的解釋性稍差(λ=0.3 的轉換解釋起來不如 log 直覺)。

變形 5

Yeo-Johnson 轉換和 Box-Cox 有什麼不同?

直覺

有時聽到 Yeo-Johnson,它和 Box-Cox 是同類工具嗎?

答案

Yeo-Johnson 是 Box-Cox 的改進版,主要差異是 Yeo-Johnson 可以處理「包含 0 和負值」的資料(Box-Cox 要求 Y > 0)。現代機器學習框架(sklearn 的 PowerTransformer)同時支援兩種,若資料有非正值,Yeo-Johnson 是首選。

07 延伸

想再往下看,這 5 個

出處

iPAS 經濟部產業人才能力鑑定 ・ 114 年第二梯次 iPAS AI 應用規劃師 中級 科目二 大數據處理分析與應用 第 36 題

查看官方原文 PDF