重回帰分析への導入
CS1のシラバスの中でも、特に実用性の高い章へようこそ!前章では、1つの説明変数だけを使って応答変数を予測する「単回帰分析」を学習しました(例:契約者の年齢だけで保険金サイズを予測するなど)。しかし、現実の世界はそれほど単純なものではありません。
重回帰分析 (Multiple Linear Regression: MLR) を使うと、複数の説明変数を同時に扱うことができます。自動車保険のプライシングを想像してみてください。ドライバーの年齢だけで保険料を決めることはありませんよね。エンジンの排気量、居住地域、無事故割引(ノークレーム・ディスカウント)の年数なども考慮するはずです。この章では、複数の入力を扱う方法と、そして何より重要な「どの変数が本当にモデルに必要なのか」を判断する方法を学びます。
1. 重回帰モデル
重回帰分析では、応答変数 \( Y \) が複数の説明変数 \( x_1, x_2, \dots, x_k \) の線形結合に、ランダムな誤差を加えたものであると仮定します。
\( i \) 番目の観測値に対するモデルは次のように記述されます:
\( Y_i = \beta_0 + \beta_1 x_{i1} + \beta_2 x_{i2} + \dots + \beta_k x_{ik} + \epsilon_i \)
ここで:
- \( Y_i \) は 応答変数(例:総保険金額)です。
- \( x_{i1}, x_{i2}, \dots, x_{ik} \) は 説明変数(例:年齢、車の馬力、走行距離)です。
- \( \beta_0 \) は 切片 です。
- \( \beta_1, \dots, \beta_k \) は各変数の 傾きパラメータ(係数)です。
- \( \epsilon_i \) は ランダム誤差項 で、通常は独立に正規分布に従う \( \epsilon_i \sim N(0, \sigma^2) \) と仮定されます。
重要な仮定:線形性
「線形」という言葉に惑わされないでください。重回帰分析における「線形」とは、変数ではなく パラメータ (\( \beta \)) についての線形性を指します。例えば、モデルの中に \( x^2 \) のような変数が入っていたとしても、それが \( \beta_j x_j^2 \) という形である限り、それは依然として線形回帰モデルなのです。
2. 係数の解釈
試験で最もよく出題されるタスクの1つは、特定の \( \beta \) が何を意味するかを説明することです。重回帰分析では、「他の条件がすべて同じならば」というルールを使います。
解釈: 係数 \( \beta_j \) は、モデル内の他のすべての説明変数を一定に保ったまま、\( x_j \) を1ユニット増加させたときに期待される応答変数 \( Y \) の変化量を表します。
例: 「運転経験年数」の係数が \( -50 \) であれば、車種や居住地域が同じであるという条件の下で、経験年数が1年増えるごとに予測される保険料が50ドル安くなることを意味します。
クイック復習: Paper B(Rの試験)では、lm() 関数を使ってこれらの推定値を求めます。出力結果には、各係数の Estimate(推定値)、Standard Error(標準誤差)、t-value(t値)、p-value(p値)が表示されます。
3. モデルの適合度の評価
モデルを作成したら、それが実際に優れたものかどうかを知る必要があります。主に2つの指標を使用します。
決定係数 (\( R^2 \))
\( R^2 = \frac{SS_{Reg}}{SS_{Tot}} = 1 - \frac{SS_{Res}}{SS_{Tot}} \)
これは、\( Y \) の全変動のうち、モデルによって説明される割合を示します。範囲は 0 から 1(0% から 100%)です。
\( R^2 \) の問題点:過学習(オーバーフィッティング)
ここで多くの学生が陥りやすい罠があります。それは、変数を追加すれば、たとえその変数が全く無意味なものであっても、\( R^2 \) は必ず増加する(あるいは少なくとも減少しない)という点です!変数を増やし続けると、モデルがデータの本質的な傾向ではなく、そのデータセット特有のランダムなノイズまで説明してしまう「過学習」が起こる可能性があります。
自由度調整済み決定係数 (Adjusted \( R^2 \))
過学習の問題を解決するために、自由度調整済み \( R^2 \) を使用します。この指標は、不必要な変数を追加することに対してペナルティを課します。新しい変数が、偶然以上のレベルでモデルを改善した場合にのみ数値が上昇します。
\( Adjusted \ R^2 = 1 - (1 - R^2) \frac{n - 1}{n - k - 1} \)
ここで、\( n \) は観測数、\( k \) は説明変数の数です。
4. 説明変数の選択
どの変数をモデルに残すべきでしょうか?アクチュアリーは「簡潔なモデル(parsimonious model:適切でありながら、できるだけシンプルなモデル)」を見つけるために、いくつかの戦略を用います。
部分F検定(入れ子構造のモデルの比較)
多くの変数を持つ「大きいモデル」と、その一部の変数のみを持つ「小さいモデル」がある場合、F検定を使って、大きいモデルに追加された変数が本当に有意であるかどうかを確認できます。
帰無仮説 \( H_0 \) は、「追加された係数はすべてゼロである(つまり、追加した変数は役に立たない)」となります。
赤池情報量基準 (AIC)
AIC は、アクチュアリーの実務におけるモデル選択で非常に人気のある指標です。これは「尤度(モデルがいかにデータに適合しているか)」と「簡潔さ(変数をいくつ使っているか)」のバランスをとる指標です。
ルール: モデルを比較する際は、一般的に AICが最も低いもの が好まれます。
ステップwise選択法
手動で変数を選ぶのは時間がかかるため、しばしば以下のアルゴリズムが使われます:
- 変数減少法 (Backward Elimination): すべての変数を入れた状態から始めます。最もp値が高い(最も有意でない)変数を1つずつ削除していき、残った変数がすべて有意(通常 p < 0.05)になるまで繰り返します。
- 変数増加法 (Forward Selection): 変数がない状態から始めます。最も有意な改善をもたらす変数を1つずつ追加していき、有意な変数がこれ以上追加できなくなるまで繰り返します。
- ステップワイズ法 (Stepwise): 上記2つの組み合わせで、各ステップで変数の追加と削除の両方を検討します。
避けるべきよくある間違い: p値だけを単独で見ないようにしましょう。2つの変数の間に強い相関がある場合(例:「ドライバーの年齢」と「免許取得からの年数」)、両方をモデルに入れると、どちらも有意ではないように見えてしまうことがあります。これは 多重共線性 (multicollinearity) と呼ばれます。
5. 重回帰における予測
単回帰と同様に、適合させたモデルを使って将来の値を予測できます。覚えるべき区間は2種類あります:
- 信頼区間 (Confidence Interval): 平均応答(特定の \( x \) のセットに対する \( Y \) の平均値)に対する区間。
- 予測区間 (Prediction Interval): 個別の将来の観測値に対する区間。
重要なポイント: 予測区間は、信頼区間よりも常に 幅が広く なります。なぜなら、個別の観測値には、平均の不確実性に加えて、ランダム誤差 \( \sigma^2 \) による不確実性が加わるからです。
6. モデル選択基準のまとめ
最適な説明変数のセットを選ぶときは、以下の点に注目しましょう:
- 低い AIC: 適合度と簡潔さのバランスが良いことを示します。
- 高い 自由度調整済み \( R^2 \): 変数が真に説明力を高めていることを示します。
- 有意な p値: 個々の係数について、通常 \( < 0.05 \) であること。
- 残差分析: 残差がランダムなノイズ(特定のパターンがないこと)に見えるか常に確認します。残差にパターンがある場合は、変数が不足しているか、別のモデル型が必要な可能性があります。
注:残差分析の詳細は「残差分析とモデルの検証」の章で詳しく扱います。今は、変数の選択がうまくいったかどうかを確認するための不可欠なステップであると覚えておいてください!
ご存知でしたか? Paper Bにおいて、最適なモデルを選択するよう求められた場合、通常はいくつかのバリエーションを試して、それぞれのAIC値を比較し、係数のp値を確認します。もしAICの値が非常に近い場合は、よりシンプルなモデルが好まれます(節約の原理:Principle of Parsimony)。