一般化線形モデル

一般化線形モデル(generalized linear model; GLM)はPythonの統計解析パッケージstatsmodelsの中核を成す重要なモデルである.しかし,市販の日本語のテキストだと間違いだらけだったり,定義が不足していたり,動機付けなしで結果だけ羅列してあったりしていまいちなので,簡単に説明しておく.

GLMは名前の通り,指数関数族で表現できる様々なモデルを一般的に扱うためのものであるが,背景にあるのは線形モデルだ.

基本となる線形回帰だと,独立変数 x^{(i)} を用いて従属変数 y^{(i)} を推定する.上付き添え字の(i) はトレーニングデータのインデックスを表す.評価関数は最小自乗誤差であり,それを最小にするような重みベクトル w を求める.

通常の線形回帰(最小自乗モデル)は,一般化線形モデル的に見直すと以下のように解釈できる.

  1. 従属変数 y^{(i)} は平均 \mu^{(i)},標準偏差 \sigma の正規分布 N(\mu^{(i)},\sigma^2) にしたがう.
  2. 線形予測子 z^{(i)} を独立変数 x^{(i)} を用いて z^{(i)} = w x^{(i)} と定義する.ここで w は最適化するパラメータ(重み)である.
  3.   リンク関数 g を用いて  \mu^{(i)} と  z^{(i)} を繋ぐが,線形モデルでは g(\mu) =\mu である.

ロジスティック回帰は,タイタニック号で生き残ったか否かを予測するために用いられる.つまり,従属変数が 01 かになるので,一般化線形モデルでの仮定は以下のようになる.

  1. 従属変数 y^{{i}} は平均 \mu^{(i)} (表が出る確率)のコイン投げの分布にしたがう.
  2. 線形予測子 z^{(i)} を独立変数 x^{(i)} を用いて z^{(i)} = w x^{(i)} と定義する.(この部分は全部共通)
  3.   リンク関数 g を用いて  \mu^{(i)} と  z^{(i)} を繋ぐが,\mu は確率なので [0,1] の範囲しかとらない,一方, z は線形予測子なので [-\infty,+\infty] の定義域をもつ.これを繋ぐために以下のリンク関数 g を用いる.

        \[  z = g(\mu) = \log \left( \frac{\mu}{1-\mu} \right) \]

    歴史的な都合で g\mu から z への写像となっているが,逆写像として考えた方がわかりやすい.すなわち,線形予測子 z から分布の平均 \mu を逆写像 g^{-1} で写すのである.この関数は

        \[ \mu = \frac{ \exp (z) }{ 1+\exp (z)} \]

    となり,いわゆるロジスティック関数である.

Poisson回帰は救急車の出動回数などを予測する際に用いられる.このの場合には,従属変数が 0 以上の値になるので,一般化線形モデルでの仮定は以下のようになる.

  1. 従属変数 y^{{i}} は平均 \mu^{(i)} のPoisson分布にしたがう.
  2. 線形予測子 z^{(i)} を独立変数 x^{(i)} を用いて z^{(i)} = w x^{(i)} と定義する.(この部分は全部共通)
  3.   リンク関数 g を用いて  \mu^{(i)} と  z^{(i)} を繋ぐが,\mu0 以上で z[-\infty,+\infty] の定義域をもつ.これを繋ぐために以下のリンク関数 g を用いる.

        \[  z = g(\mu) = \log (\mu) \]

    g の逆写像は指数関数

        \[ \mu = \exp (z) \]

    である.

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>