GLMの世界へようこそ!

CS1の学習を進める中で、すでに線形回帰(Linear Regression)には出会っているはずです。線形回帰は素晴らしいツールですが、大きな制限が一つあります。それは、データが正規分布(Normal Distribution)に従うことを前提としている点です。現実の世界(そしてアクチュアリー試験!)では、データは必ずしもそんなに都合よくはいきません。保険金の請求件数は「ポアソン分布(Poisson)」かもしれませんし、支払いの有無という「イエス/ノー」のイベントは「二項分布(Binomial)」に従うかもしれません。

ここで救世主となるのが一般化線形モデル(GLM: Generalised Linear Models)です!GLMは線形回帰を「スーパーパワーアップ」させたもので、ほとんどあらゆる種類のデータをモデル化することを可能にします。最初は抽象的に感じるかもしれませんが、心配しないでください。一つずつ紐解いていきましょう。

1. 指数型分布族(Exponential Family)

GLMを構築する前に、データが指数型分布族と呼ばれる特定の分布の「ファミリー」に属していることを確認する必要があります。これには、正規分布、ポアソン分布、二項分布、ガンマ分布、指数分布などが含まれます。

ある分布がこのファミリーに属するためには、その確率密度関数(または確率質量関数)が以下の特定の形式で書ける必要があります。
\( f(y; \theta, \phi) = \exp \left[ \frac{y\theta - b(\theta)}{a(\phi)} + c(y, \phi) \right] \)

式の分解:

  • \( y \):実際のデータポイント(観測値)。
  • \( \theta \)(シータ):自然パラメータ。平均に関連しています。
  • \( \phi \)(ファイ):分散パラメータ。分散(データのバラつき具合)に関連しています。
  • \( a, b, c \):使用する分布によって変わる関数です。

なぜこの形式が重要なのか?

この「テンプレート」に当てはまる分布であれば、以下の簡単なショートカットを使って平均分散を求めることができるからです。
1. 平均: \( E[Y] = \mu = b'(\theta) \) (\( b \) の一階微分)
2. 分散: \( Var(Y) = a(\phi)b''(\theta) \) (\( b \) の二階微分に \( a \) を掛けたもの)

クイックヒント:試験では、ある分布が指数型分布族に属することを示すよう求められることがよくあります。その場合は、PDF(またはPMF)の対数をとり、上の式のように見えるよう並び替えるだけでOKです!

要点:指数型分布族は、統一された枠組みを提供してくれるため、異なる性質のデータ(件数や金額など)を同じ数学的論理で扱うことができます。

2. GLMの3つの構成要素

すべてのGLMは、3つの不可欠な要素で構成されています。モデルを作るためのレシピだと考えてください。

構成要素1:確率的要素(Random Component)

これは応答変数 \( Y \) の確率分布です。観測値は互いに独立であり、指数型分布族のいずれかに従うと仮定します(自動車事故件数に対するポアソン分布など)。

構成要素2:体系的要素(Systematic Component)

これはギリシャ文字のイータ(\( \eta \))で表される線形予測子です。説明変数(年齢、車種、地域など)を組み合わせたものです。
\( \eta = \beta_1 x_1 + \beta_2 x_2 + ... + \beta_k x_k \)

構成要素3:リンク関数(Link Function)

これは平均(\( \mu \))線形予測子(\( \eta \))の間の「橋渡し」をする存在です。
\( g(\mu) = \eta \)

例え話!
流す音楽の量に基づいて、パーティーに参加する人数を予測しようとしているとします。
- 確率的要素は、実際のゲストの人数(カウントデータ)です。
- 体系的要素は、音楽の音量です。
- リンク関数は、音量を人数という数値に変換する「雰囲気」のようなものです。音量を「100」まで上げても、モデルがマイナスの人数を予測しないように(それは不可能ですよね!)制御してくれます。

要点:GLM = 分布 + 線形予測子 + リンク関数。

3. 一般的なリンク関数

リンク関数 \( g(\mu) \) は、モデルが現実的な範囲内に収まるようにするために非常に重要です。例えば、確率は必ず0から1の間になければなりません。

  • 恒等リンク(Identity Link): \( \eta = \mu \)。通常の正規線形回帰で使用されます。
  • 対数リンク(Log Link): \( \eta = \ln(\mu) \)。\( \mu > 0 \) を保証するため、ポアソン分布でよく使われます。
  • ロジットリンク(Logit Link): \( \eta = \ln \left( \frac{\mu}{1-\mu} \right) \)。二項分布や確率を扱う際の標準的な選択肢です。

豆知識:すべての分布には正準リンク関数(Canonical Link)が存在します。これは \( \eta = \theta \) となる特別なリンク関数のことで、これを使うとコンピュータにとって計算が非常にシンプルになります!

4. パラメータの推定と「逸脱度(Deviance)」

\( \beta \) 係数の最適な値はどうやって求めるのでしょうか?GLMでは、最尤法(MLE: Maximum Likelihood Estimation)を使用します。最小二乗法のように「二乗誤差」を最小化する線を引くのではなく、観測されたデータが最も起こりやすくなるような値を求めます。

逸脱度とは?

標準的な回帰では「残差平方和」について話しますが、GLMでは逸脱度(Deviance)について話します。
逸脱度は、モデルが「完璧なモデル(飽和モデル:Saturated Model)」からどれだけ逸脱しているかを示す尺度です。
- 逸脱度が低い = 当てはまりが良い。
- 逸脱度が高い = 当てはまりが悪い。

よくある間違い:逸脱度スケーリングされた逸脱度を混同しないようにしましょう。スケーリングされた逸脱度は分散パラメータ \( \phi \) で調整を行います。\( \phi = 1 \) であるポアソン分布や二項分布の場合は、両者は同じになります!

復習ボックス:
- 飽和モデル(Saturated Model): 全てのデータポイントに対してパラメータを一つずつ割り当てた完璧なモデル。
- ヌルモデル(Null Model): 全データポイントが同じ平均を持つと仮定したシンプルなモデル(予測変数なし)。
- あなたのモデル: 上記2つの中間に位置するもの。

5. モデルの適合度チェック(残差)

モデルを構築したら、「残りカス」である残差(Residuals)を確認する必要があります。モデルが良ければ、残差はランダムなノイズのように見えるはずです。

  1. ピアソン残差(Pearson Residuals): 「標準化」された誤差のようなものです。実測値と予測値の差を標準偏差で割ったものです。
  2. 逸脱残差(Deviance Residuals): これらは少し複雑ですが、GLMではよく好まれます。各観測値が全体の逸脱度にどれだけ貢献しているかを表します。

要点:残差をプロットしたときにパターン(U字型など)が見えるなら、あなたのモデルは重要な何かを見落としています!

6. モデル選択:どちらが良いモデルか?

多くの場合、2つのモデルのどちらかを選択しなければなりません。例えば、「『運転者の年齢』という変数を加えると、保険モデルは実際に良くなるのか?」といった問いです。

  • 尤度比検定(LRT): 入れ子(nested)モデル(一方がもう一方の簡略版である場合)の比較に使われます。検定統計量は \( 2 \times (\ln L_{big} - \ln L_{small}) \) で、カイ二乗分布に従います。
  • AIC(赤池情報量基準): 「公平性」スコアです。適合度の良さを評価しつつ、不要な変数を追加しすぎることにペナルティを与えます。AICは低いほど良い!

まとめと最後のエール

GLMは現代のアクチュアリー業務の根幹をなすものです。単純な直線や正規分布の枠を超えて、保険の請求頻度や損害額といった実社会のリスクを正確にモデル化できるようになりましょう。

核心となるステップを忘れずに:
1. 分布が指数型分布族に属するか確認する。
2. リンク関数を選ぶ。
3. 最尤法(MLE)を使って係数を求める。
4. 逸脱度AICを確認してモデルの良さを判定する。

指数型分布族の代数計算が最初は重く感じられても心配しないでください。ポアソン分布や二項分布のPDFを書き換える練習を数回こなせば、自然と身についてきます!大丈夫、あなたならきっとできます!