回帰木(Regression Trees)の世界へようこそ!
未来のアクチュアリーの皆さん、こんにちは!今日は、データサイエンティストが使うツールキットの中でも、最も直感的で視覚的な回帰木(Regression Trees)について学んでいきましょう。もしあなたがこれまでにフローチャートを使って何かを決めたことがあるなら(「今日のランチはピザにするべき?」のように)、木の基本的な仕組みはもう理解できています。線形回帰がデータに対して一直線を当てはめようとするのに対し、回帰木はデータを小さなグループに分割して予測を行います。説明しやすく、視覚的にもわかりやすいため、Exam SRMにおいて非常に重要なトピックです。
他の章で複雑な数学に苦戦した方も安心してください。回帰木は難しい微積分よりも、論理と「分割」がすべてです!
1. 回帰木とは何か?
回帰木とは、目的変数(予測したいもの)が量的変数(数値)、例えば住宅価格や保険金の額である場合に使用される決定木(Decision Tree)の一種です。
重要な用語
プロのように議論するために、木の「解剖図」を知っておきましょう。
- 根ノード(Root Node):木の一番上にあり、最初の分割が行われる場所。データセット全体が含まれます。
- 内部ノード(Internal Nodes):「はい/いいえ」や「真/偽」の条件に基づいて木が枝分かれするポイントです。
- 枝(Branches):ノード同士をつなぐ線。
- 葉ノード(Leaf Nodes / Terminal Nodes):木の末端。ここで最終的な予測値が決まります!
予測はどのように行われるのか
回帰木では、同じ葉ノードに分類された観測値はすべて、同じ予測値を受け取ります。その予測値は、その特定の葉に含まれる訓練データの応答値の平均値に過ぎません。
例:もしある葉ノードに、20万ドル、21万ドル、22万ドルで売れた3軒の住宅が含まれている場合、その葉に該当する新しい住宅の価格は21万ドルと予測されます。
クイック復習:
- 回帰木:数値を予測する。
- 予測値:その葉に含まれる観測値の平均。
2. 木の構築:再帰的二分割法(Recursive Binary Splitting)
コンピュータはどのようにして分割場所を決めるのでしょうか?それは再帰的二分割法(Recursive Binary Splitting)という手法を使います。この少し難しそうな言葉を紐解いてみましょう。
- 二分割(Binary):各分割によって、必ず2つの枝に分かれます。
- 再帰的(Recursive):このプロセスが、新しい枝ができるたびに繰り返し行われます。
- 貪欲法(Greedy):各ステップにおいて、アルゴリズムは「現時点で」最善の分割を選びます。長期的に見てより良い分割があるかどうかは考慮しません。
数学的アプローチ:RSSの最小化
各分割の目標は、グループを可能な限り「純粋」にすることです。そのために、残差平方和(RSS: Residual Sum of Squares)を最小化します。各グループ内のデータポイントが、そのグループの平均値にできるだけ近づくようにしたいのです。
\( 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つのグループとしてスタートする。
- すべての可能な予測変数 \( X_j \) と、すべての可能な分割点 \( s \) を検討する。
- RSSが最小になる予測変数と分割点を選ぶ。
- 分割されてできた2つの領域に対して、このプロセスを繰り返す。
重要なポイント:私たちは特徴空間を長方形(またはボックス)に切り分けています。常に、その瞬間において誤差(RSS)を最も減らせる分割を探しているのです。
3. 過学習(Overfitting)の問題
もし木を際限なく成長させ続けると、最終的にはすべてのデータポイントに1つずつ葉が割り当てられることになります。これでは訓練データに対するRSSはゼロになりますが、新しいデータの予測には全く役に立ちません! これを過学習と呼びます。
例え話:模擬試験のすべて問題と答えを丸暗記しようとすることを想像してください。練習問題では100点を取れるかもしれませんが、本番の試験では新しい問題に対応できないため失敗してしまいますよね!
これを防ぐには2つの選択肢があります:
1. 木の成長を早期に停止させる(あまりうまくいかないことが多い)。
2. 木の剪定(Pruning)を行う(こちらが推奨される手法)。
4. 木の剪定とコスト複雑度剪定
剪定とは、大きな木の枝を「切り落とす」ことで、新しいデータに対してより優れた性能を発揮する小さな部分木(subtree)を見つける作業です。では、どの枝を切り落とすべきか、どうやって判断するのでしょうか?
コスト複雑度剪定(Cost-Complexity Pruning)
ここでは、\( \alpha \)(アルファ)というチューニングパラメータを使用します。木の当てはまりの良さと複雑さのバランスを取るスコアを最小化します:
\( \sum_{m=1}^{|T|} \sum_{i: x_i \in R_m} (y_i - \hat{y}_{R_m})^2 + \alpha |T| \)
簡略化すると:合計スコア = RSS + (アルファ × 葉の数)
- RSS:木が訓練データにどれだけ適合しているか(誤差)。
- \( |T| \):葉ノードの数(複雑さ)。
- \( \alpha \):複雑な木に対する「ペナルティ」。
\( \alpha \) の仕組み:
- \( \alpha = 0 \) の場合:ペナルティなし。過学習した大きな木がそのまま残ります。
- \( \alpha \) が大きくなるにつれて:葉を持つことへのペナルティが増大し、木はより小さなサイズに「剪定」されます。
- 通常、最適な \( \alpha \) はK分割交差検証(K-fold Cross-Validation)を用いて見つけます。
豆知識:これはLasso回帰と非常によく似ています!どちらもモデルを単純化し、過学習を防ぐためにペナルティ項を使用します。
5. 回帰木のメリットとデメリット
SRM試験においては、なぜ線形モデルではなく木を選ぶのか(あるいは選ばないのか)を理解することが重要です。
メリット(良い点):
- 説明が容易:アクチュアリーではない人に木を見せても、すぐに理解してもらえます。
- 非線形性に対応:木は直線的な関係を前提としません。
- ダミー変数不要:カテゴリー予測変数(「赤」「青」「緑」など)を特別なコーディングなしで自然に扱えます。
- 人間が意思決定するプロセスに近い:私たちは自然と「もし~なら」というステップで考えています。
デメリット(難しい点):
- 予測精度の低さ:単一の木は、線形回帰やより複雑な手法(ランダムフォレストなど)に比べて精度が劣ることが多いです。
- 高い分散(不安定性):データのわずかな変化で、全く異なる木が出来上がってしまうことがあります。
- 「箱型」の制限:分割は常に軸に対して垂直であるため、真の対角線や滑らかな曲線のような関係をモデル化するのは苦手です。
覚え方のコツ:木は「下書き」だと考えてください。大まかな傾向をつかんだり、物事を単純に説明したりするには最適ですが、重要な予測を行う場合は、より洗練された「清書」(ランダムフォレストやブースティングなど)が必要になるかもしれません。
6. まとめと最後のアドバイス
避けるべき共通のミス:試験では、回帰木と分類木を混同しないようにしましょう。
- 回帰:数値を予測。RSSを使用。予測値 = 平均値。
- 分類:カテゴリーを予測。ジニ不純度やエントロピーを使用。予測値 = 最頻値(最も多いカテゴリー)。
重要なポイント:
1. 木は再帰的二分割法を使ってRSSを最小化します。
2. トップダウンで貪欲(Greedy)なアプローチです。
3. コスト複雑度を用いた剪定(\( \alpha \) を使用)によって過学習を防ぎます。
4. 木は分散が高く(データが変わると形が変わりやすい)、しかし解釈性が非常に高いのが特徴です。
最初は難しく感じるかもしれませんが、大丈夫です! 回帰木の本質は、似たような数値をまとめるための「はい/いいえ」という質問の積み重ねに過ぎないことを思い出してください。練習問題を繰り返し解いていけば、すぐに木の専門家になれますよ!