歡迎來到回歸樹的世界!

未來的精算師們,你們好!今天我們要深入探討數據科學家工具箱中最直觀、最可視化的工具之一:回歸樹 (Regression Trees)。如果你曾經使用流程圖來做決定(比如「我該不該點披薩?」),那麼你已經掌握了樹狀模型運作的基本原理。線性回歸試圖用一條直線擬合數據,而回歸樹則是透過將數據拆分為更小的組別來進行預測。它們不僅容易解釋、視覺化效果出色,更是 SRM 考試中不可或缺的重點。

別擔心,如果你在之前的章節中被沉重的數學嚇到了——回歸樹更多是關於邏輯和「拆分」,而不是複雜的微積分!


1. 什麼是回歸樹?

回歸樹是一種決策樹 (Decision Tree),當目標變量(我們想要預測的對象)是定量 (Quantitative)(數值型)時使用,例如房價或保險索賠金額。

關鍵術語

要像專業人士一樣談論它,你需要了解樹的「解剖結構」:

  • 根節點 (Root Node):樹的最頂端,第一次拆分發生的位置。它包含了整個數據集。
  • 內部節點 (Internal Nodes):根據「是/否」或「真/假」條件進行分支的點。
  • 分支 (Branches):連接各節點的線段。
  • 葉節點 (Leaf Nodes / Terminal Nodes):樹的末端。這就是最終預測結果所在的地方!

如何做出預測

在回歸樹中,落在同一個葉節點的所有觀察值都會得到相同的預測值。該預測值簡單來說,就是該特定葉節點中訓練數據響應變量的平均值 (Mean)

例子:如果一個葉節點包含三間售價分別為 20 萬美元、21 萬美元和 22 萬美元的房子,那麼任何落入該葉節點的新房產,預測售價都會是 21 萬美元。

快速回顧:
- 回歸樹:預測數值。
- 預測值:該葉節點內所有觀察值的平均數。


2. 建立樹:遞歸二元拆分

電腦如何決定在哪裡拆分數據?它使用一種稱為遞歸二元拆分 (Recursive Binary Splitting) 的方法。讓我們拆解這些術語:

  • 二元 (Binary):每次拆分會精確產生兩個分支。
  • 遞歸 (Recursive):這個過程會對每一個新的分支不斷重複。
  • 貪婪 (Greedy):在每一步中,算法都會選擇當下最好的拆分,而不會考慮長遠來看是否會有更好的拆分方式。

數學原理:最小化 RSS

每次拆分的目標是讓組別盡可能「純淨」。我們透過最小化殘差平方和 (Residual Sum of Squares, RSS) 來做到這一點。我們希望每個組別中的數據點盡可能接近該組的平均值。

在一個擁有 \( J \) 個葉節點(區域 \( R_1, R_2, ..., R_J \))的樹中,RSS 的公式為:

\( RSS = \sum_{j=1}^{J} \sum_{i \in R_j} (y_i - \hat{y}_{R_j})^2 \)

其中 \( \hat{y}_{R_j} \) 是第 \( j \) 個葉節點內訓練觀察值的平均響應值。

拆分步驟:

  1. 從所有數據都在一個組開始。
  2. 觀察每一個可能的預測變量 \( X_j \) 和每一個可能的拆分點 \( s \)。
  3. 選擇導致最低 RSS 的預測變量和拆分點。
  4. 對產生的兩個區域重複上述過程。

重點總結:我們將數據劃分為特徵空間中的矩形(或方塊)。我們始終嘗試尋找在該特定時刻能最大程度減少誤差 (RSS) 的拆分方式。


3. 過度擬合 (Overfitting) 的問題

如果我們讓一棵樹無限生長,它最終會讓每個數據點都有一個獨立的葉節點。這會導致訓練數據的 RSS 變為零,但在預測新數據時效果會非常差!這就是所謂的過度擬合

比喻:想像一下,背下練習題的所有答案而不是理解概念。你在練習時可能會拿 100 分,但在正式考試時卻會失敗,因為你無法應對新的題目!

為了防止這種情況,我們有兩個選擇:
1. 提早停止樹的生長(通常效果不佳)。
2. 剪枝 (Pruning)(這是首選方法)。


4. 樹的剪枝與成本複雜度剪枝

剪枝意味著「修剪」大型樹的分支,以找到在處理新數據時表現更好的較小子樹 (Subtree)。但我們如何知道該剪掉哪些分支呢?

成本複雜度剪枝 (Cost-Complexity Pruning / 最弱鏈剪枝)

我們使用一個稱為 \( \alpha \) (alpha) 的調整參數。我們的目標是最小化一個分數,用來平衡樹的擬合度與複雜度:

\( \sum_{m=1}^{|T|} \sum_{i: x_i \in R_m} (y_i - \hat{y}_{R_m})^2 + \alpha |T| \)

讓我們簡化一下:總分 = RSS + (Alpha × 葉節點數量)

  • RSS:衡量樹對訓練數據的擬合程度(誤差)。
  • \( |T| \):葉節點的數量(複雜度)。
  • \( \alpha \):對於擁有複雜樹結構的「懲罰」。

\( \alpha \) 如何運作:
- 如果 \( \alpha = 0 \):懲罰為零。我們會得到巨大的、過度擬合的樹。
- 隨著 \( \alpha \) 增加:擁有葉節點的懲罰增大。我們會將樹「剪枝」回較小的規模。
- 我們通常使用 K 折交叉驗證 (K-fold Cross-Validation) 來找到最佳的 \( \alpha \)。

你知道嗎?這與 Lasso 回歸非常相似!兩者都使用懲罰項來簡化模型並防止過度擬合。


5. 回歸樹的優缺點

對於 SRM 考試來說,了解為什麼我們在線性模型與樹模型之間做選擇非常重要。

優點(好處):

  • 易於解釋:你可以將一棵樹展示給非精算師看,他們能立即理解。
  • 處理非線性關係:樹不假設直線關係。
  • 無需虛擬變量 (Dummy Variables):樹可以自然地處理分類預測變量(如「紅色」、「藍色」、「綠色」),無需特殊編碼。
  • 符合人類決策:我們自然地以「如果-那麼」的步驟思考。

缺點(挑戰):

  • 預測精度較低:單一樹的準確度通常不如線性回歸或其他更複雜的方法(如隨機森林)。
  • 高變異性 (High Variance/不穩定性):數據的微小變化可能會導致完全不同的樹。
  • 「方塊狀」限制:由於拆分始終與軸垂直,樹難以模擬真正的對角線或平滑曲線關係。

記憶小撇步:把樹想像成「草稿」。它非常適合作為獲得大致概念和簡單解釋的工具,但對於高風險的預測,你可能需要更完善的「最終定稿」(如隨機森林或 Boosting)。


6. 總結與考試最後建議

避免常見錯誤:在考試中,不要混淆回歸樹分類樹
- 回歸:預測數值。使用 RSS。預測值 = 平均數
- 分類:預測類別。使用 基尼指數 (Gini Index)熵 (Entropy)。預測值 = 眾數(最常見的類別)。

重點總結:

1. 樹使用遞歸二元拆分來最小化 RSS
2. 它們是由上而下 (Top-Down)貪婪 (Greedy) 的。
3. 透過成本複雜度 (Cost-Complexity)(使用 \( \alpha \))進行剪枝可以防止過度擬合。
4. 樹具有高變異性(容易隨數據變化),但具有高度的可解釋性

如果起初覺得這些很棘手,別擔心!只需記住,其核心就是一系列為了將相似數值歸類在一起而設計的「是/否」問題。繼續練習題目,很快你就會成為樹狀模型專家!