歡迎來到回歸樹的世界!
未來的精算師們,你們好!今天我們要深入探討數據科學家工具箱中最直觀、最可視化的工具之一:回歸樹 (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 \) 個葉節點內訓練觀察值的平均響應值。
拆分步驟:
- 從所有數據都在一個組開始。
- 觀察每一個可能的預測變量 \( X_j \) 和每一個可能的拆分點 \( s \)。
- 選擇導致最低 RSS 的預測變量和拆分點。
- 對產生的兩個區域重複上述過程。
重點總結:我們將數據劃分為特徵空間中的矩形(或方塊)。我們始終嘗試尋找在該特定時刻能最大程度減少誤差 (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. 樹具有高變異性(容易隨數據變化),但具有高度的可解釋性。
如果起初覺得這些很棘手,別擔心!只需記住,其核心就是一系列為了將相似數值歸類在一起而設計的「是/否」問題。繼續練習題目,很快你就會成為樹狀模型專家!