はじめに:一般化線形モデル(GLM)の構築
これまでに学習した単回帰や重回帰では、応答変数が正規分布に従い、平均応答が説明変数の直接的な線形結合であると仮定していました。しかし、アクチュアリーの実務の世界では、データがそれほど「扱いやすい」ことは稀です。負の値をとることがない「支払備金」や「事故件数」、あるいは0から1の間に収まる必要がある「事故発生確率」などを扱うことが多いからです。
そこで登場するのが、一般化線形モデル(GLM: Generalised Linear Models)です!この章では、GLMの「エンジン」となる線形予測子と、それとデータを結びつける「架け橋」となる連結関数について学んでいきます。また、カテゴリ(因子)などの異なるタイプのデータや、変数どうしが互いに影響し合う状況(交互作用)をどのように扱うかも見ていきましょう。最初は抽象的に感じるかもしれませんが、大丈夫です。構造さえ理解してしまえば、パズルのようにピタッとはまりますよ!
1. 線形予測子 \(\eta\)
線形予測子は、通常ギリシャ文字のイータ \(\eta\) で表され、モデルの中で説明変数の影響を捉える役割を担います。これは、未知のパラメータ(\(\beta\))と観測された変数の線形結合です。
説明変数の集合 \(x_1, x_2, ..., x_k\) に対して、\(i\) 番目の観測値の線形予測子は次のように記述されます:
\(\eta_i = \beta_0 + \beta_1 x_{i1} + \beta_2 x_{i2} + ... + \beta_k x_{ik}\)
線形予測子の形式
線形予測子は非常に柔軟です。問題に応じて、いくつかの形式をとることができます:
- 単純線形モデル: \(\eta = \beta_0 + \beta_1 x\) (直線的な関係)。
- 多項式モデル: \(\eta = \beta_0 + \beta_1 x + \beta_2 x^2\) (関係が曲線であっても、パラメータ \(\beta\) に関しては依然として「線形」です)。
- 因子を含むモデル: 「喫煙者」と「非喫煙者」のような異なるグループを分析する場合、観測値がどのグループに属するかによって予測子が変化します。
ポイント: 変数と応答の関係が(多項式のように)曲線的であっても、パラメータ(\(\beta_i\))の線形和であるため、このモデルは「線形」と呼ばれます。
2. 連結関数 \(g(\mu)\)
標準的な線形モデルでは、平均応答 \(\mu = E[Y]\) が線形予測子 \(\eta\) と等しいと仮定します。一方、GLMでは連結関数 \(g(\cdot)\) を使ってこれらを結びつけます:
\(g(\mu_i) = \eta_i\)
なぜこれが必要なのでしょうか?例えば、自動車保険の事故発生確率を予測するとしましょう。確率は必ず0から1の間になければなりません。もし単純な線形モデルを使うと、予測結果が1.5や-0.2といった、あり得ない「確率」になってしまう可能性があります。連結関数は、平均の範囲(例:0から1)を線形予測子の範囲(負の無限大から正の無限大)へと写像してくれるのです。
正準連結関数(Canonical Link Function)
指数型分布族の各分布には、その数学的構造から導かれる「自然な」連結関数があり、これを正準連結関数と呼びます。他の連結関数を使うこともできますが、CS1の試験では以下のものが非常によく出題されます:
正規分布: 恒等連結 \(\implies g(\mu) = \mu\)
ポアソン分布: 対数連結 \(\implies g(\mu) = \ln(\mu)\)
二項分布: ロジット連結 \(\implies g(\mu) = \ln(\frac{\mu}{1-\mu})\)
ガンマ分布 / 指数分布: 逆数連結 \(\implies g(\mu) = \frac{1}{\mu}\)
注:指数型分布族の詳細については、「指数型分布族、分散関数、スケールパラメータ」の章を参照してください。
3. 変数 vs. 因子
アクチュアリーのモデリングでは、主に2つのタイプの説明変数を使用します:
連続変数(Continuous Variables)
ある範囲内の任意の値をとり得る数値データです。
例: 被保険者の年齢、生命保険の保険金額、自動車の排気量など。
因子(Factors / カテゴリ値)
質的なグループ分けを表します。これらは離散的な「水準(レベル)」をとります。
例: 性別(男性、女性)、地域(北、南、東、西)、燃料タイプ(ガソリン、軽油、電気)など。
「基準水準」のテクニック: GLMに \(k\) 個の水準を持つ因子を含める場合、通常 \(k\) 個のパラメータを作成することはありません。代わりに、1つの水準を基準水準(ベースレベル)として選び、残りの \(k-1\) 個のダミー変数を作成します。他の水準のパラメータは、その基準水準からの「差」を表すことになります。
よくある間違い: 基準水準のパラメータを除外するのを忘れること!もし3つの地域があるときに、切片に加えて3つのパラメータすべてを入れてしまうと、モデルが計算不能になります(これを「完全な多重共線性」と呼びます)。切片 \(\beta_0\) がある場合、\(k\) 個の水準を持つ因子には必ず \(k-1\) 個のパラメータを使用しましょう。
4. 交互作用項(Interaction Terms)
ある変数の効果が、別の変数の水準によって変わることがあります。これを交互作用と呼びます。
実例: 医療保険の給付リスクをモデル化するとします。「年齢」と「喫煙習慣」の両方が重要ですが、喫煙による「追加」リスクは、20歳の人よりも60歳の人の方がはるかに高いかもしれません。この「追加的な相乗効果」が交互作用です。
数学的には、線形予測子の中で2つの変数を掛け合わせることで交互作用を表現します:
\(\eta = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \beta_{12}(x_1 \cdot x_2)\)
ここで、\((x_1 \cdot x_2)\) が交互作用項です。
クイック復習:GLMの構成要素
1. 確率成分(Random Component): 応答変数 \(Y\) の分布(例:ポアソン分布)。
2. 系統成分(Systematic Component): 線形予測子 \(\eta = \sum \beta_i x_i\)。
3. 連結関数(Link Function): これらをつなぐ関数 \(g(\mu) = \eta\)。
5. ステップ・バイ・ステップ:予測子の構築
試験で線形予測子の形式を書き出すよう求められたら、次の手順に従ってください:
- 切片を確認する: 通常は \(\beta_0\) です。
- 連続変数を追加する: 各変数について \(\beta_i x_i\) のような項を加えます。
- 因子を追加する: 水準の数 \(k\) を確認し、\(k-1\) 個の項を加えます。
- 交互作用をチェックする: 問題文に「\(X\) の効果は \(Y\) によって異なる」といった記述があれば、積の項を加えます。
例: 切片、1つの連続変数(年齢、\(x_1\))、1つの因子(性別:水準 \(L_1 = \) 男性、\(L_2 = \) 女性)を持つ保険金(\(\mu\)) のモデルで、対数連結関数を使用する場合:
\(\ln(\mu) = \beta_0 + \beta_1 x_1 + \beta_2 x_{Gender}\)
ここで、\(x_{Gender}\) は女性なら1、男性なら0とします(つまり、男性を基準水準にしています)。
まとめ表:連結関数と予測子
概念: 線形予測子 (\(\eta\))
内容: モデルの「数式」側。
アクチュアリー実務での活用: 年齢、地域、保険種別を組み合わせてリスクを推定する。
概念: 連結関数 (\(g\))
内容: 平均応答への「架け橋」。
アクチュアリー実務での活用: 事故件数が負にならないようにしたり(対数連結)、確率を0から1の間に収めたりする(ロジット連結)。
概念: 因子と交互作用
内容: カテゴリデータや相乗効果の取り扱い。
アクチュアリー実務での活用: 地域や車種によって保険料に差をつける。
次の章では、最尤法を使ってこれらの \(\beta\) パラメータを推定する方法や、構築したモデルが実際にデータにうまく適合しているかをテストする方法について学んでいきましょう。