推測統計の基礎4

最尤推定法の基礎2:対数尤度 最尤法を用いるための数理モデルを用いたデータ分析
講師:木村 朗


補足:IRLS(反復重み付き最小二乗法)

GLMのパラメータ推定には「IRLS(Iteratively Reweighted Least Squares)」がよく使われます。これは、尤度最大化を目的として、重み付けを行った最小二乗法を繰り返すことで収束解を得るアルゴリズムです。


このように、GLMは非常に柔軟で、多様なデータ構造に対応できる強力な統計モデリング手法

1. 対数尤度関数の理解

対数尤度関数の定義

前回学んだように、尤度関数L(θ|データ)は観測データが得られる確率をパラメータθの関数として表現したものです。対数尤度関数は、この尤度関数の自然対数をとったものです。

log L(θ|データ) = log P(データ|θ)

データが独立同一分布(i.i.d.)に従う場合、尤度関数は各データ点の確率密度関数(または確率質量関数)の積になります。

L(θ|X₁, X₂, ..., Xₙ) = ∏ₙᵢ₌₁ f(Xᵢ|θ)

これに対し、対数尤度関数は各データ点の対数確率密度関数の和になります。

log L(θ|X₁, X₂, ..., Xₙ) = ∑ₙᵢ₌₁ log f(Xᵢ|θ)

対数尤度関数を使う利点

対数尤度関数を使う主な理由は以下の通りです:

  1. 数値計算の安定性:尤度関数の値は非常に小さくなることがあり、コンピュータの浮動小数点精度の限界を超えることがあります。対数をとることでこの問題を回避できます。
  2. 計算の簡略化:積の計算が和の計算に変換されるため、微分などの計算が簡単になります。
  3. 最適化の性質:対数は単調増加関数なので、尤度関数の最大値と対数尤度関数の最大値は同じパラメータで得られます。

例:正規分布の対数尤度

平均μ、分散σ²の正規分布からのn個のデータ点 X₁, X₂, ..., Xₙ について考えてみましょう。

正規分布の確率密度関数は:

f(x|μ,σ²) = (1/√(2πσ²)) * exp(-(x-μ)²/(2σ²))

尤度関数は:

L(μ,σ²|X₁,...,Xₙ) = ∏ₙᵢ₌₁ (1/√(2πσ²)) * exp(-(Xᵢ-μ)²/(2σ²))

対数尤度関数は:

log L(μ,σ²|X₁,...,Xₙ) = ∑ₙᵢ₌₁ log[(1/√(2πσ²)) * exp(-(Xᵢ-μ)²/(2σ²))]

対数の性質を使って整理すると:

log L(μ,σ²|X₁,...,Xₙ) = -n/2 * log(2πσ²) - ∑ₙᵢ₌₁ (Xᵢ-μ)²/(2σ²)

2. 対数尤度関数の最大化

最尤推定値の求め方

最尤推定値を求めるには、対数尤度関数をパラメータで微分して0とおき、その方程式を解きます。

  1. 対数尤度関数 log L(θ|データ) を求める
  2. θで微分して ∂(log L)/∂θ = 0 とおく
  3. この方程式を解いて θ̂(θの最尤推定値)を求める

多次元のパラメータ(例:θ = (θ₁, θ₂, ..., θₖ))の場合は、各パラメータについて偏微分して連立方程式を解きます。

例:正規分布のパラメータ推定

正規分布の対数尤度関数は:

log L(μ,σ²|X₁,...,Xₙ) = -n/2 * log(2πσ²) - ∑ₙᵢ₌₁ (Xᵢ-μ)²/(2σ²)

μについて偏微分して0とおくと:

∂(log L)/∂μ = ∑ₙᵢ₌₁ (Xᵢ-μ)/σ² = 0

これを解くと:

μ̂ = (1/n) * ∑ₙᵢ₌₁ Xᵢ

σ²について偏微分して0とおくと:

∂(log L)/∂(σ²) = -n/(2σ²) + ∑ₙᵢ₌₁ (Xᵢ-μ)²/(2(σ²)²) = 0

これを解くと:

σ̂² = (1/n) * ∑ₙᵢ₌₁ (Xᵢ-μ̂)²

これらの結果は、標本平均が正規分布の平均の最尤推定値、標本分散が正規分布の分散の最尤推定値であることを示しています。

最大化の数値的方法

解析的に解けない場合は、数値最適化法を用いて対数尤度関数を最大化します。一般的なアルゴリズムには以下のようなものがあります:

  • ニュートン・ラフソン法
  • 準ニュートン法(BFGS法など)
  • 勾配降下法(正確には勾配上昇法、尤度を最大化するため)
  • EMアルゴリズム(潜在変数を含むモデルの場合)

JASPのような統計ソフトウェアは、これらのアルゴリズムを内部で実装しています。

3. 情報量規準と尤度比検定

情報量規準(AIC, BIC)

モデル選択において、対数尤度関数に基づく情報量規準がよく使われます。代表的なものに以下があります:

赤池情報量規準(AIC)

AIC = -2 * log L(θ̂|データ) + 2k

ここで、kはモデルのパラメータ数です。

ベイズ情報量規準(BIC)

BIC = -2 * log L(θ̂|データ) + k * log(n)

ここで、nはサンプルサイズです。

どちらの規準も、値が小さいほど「良いモデル」とみなされます。AICとBICは、モデルの適合度(対数尤度の項)とモデルの複雑さ(ペナルティの項)のバランスを評価します。BICはAICよりもパラメータ数に対するペナルティが大きく、よりシンプルなモデルを選ぶ傾向があります。

尤度比検定

尤度比検定は、2つのネストされたモデル(一方がもう一方の特殊ケースとなるモデル)を比較するのに用いられます。

検定統計量は以下のように定義されます:

LR = -2 * [log L(θ̂₀|データ) - log L(θ̂₁|データ)]

ここで、θ̂₀は制約のあるモデル(帰無仮説)のパラメータの最尤推定値、θ̂₁は制約のないモデル(対立仮説)のパラメータの最尤推定値です。

LRは漸近的に自由度がモデル間のパラメータ数の差であるカイ二乗分布に従います。

例:2つの治療法の効果比較

2つの治療法A, Bの効果率をそれぞれp₁, p₂とします。以下のデータが得られています:

治療法 効果あり 効果なし 合計
A 20 10 30
B 15 15 30

帰無仮説 H₀: p₁ = p₂(効果率は同じ)と対立仮説 H₁: p₁ ≠ p₂(効果率は異なる)を尤度比検定で比較します。

制約のあるモデル(H₀)での最尤推定値は:

p̂ = (20 + 15) / (30 + 30) = 35 / 60 = 0.583

このモデルの対数尤度は:

log L(θ̂₀|データ) = log[(0.583)^35 * (0.417)^25] = 35 * log(0.583) + 25 * log(0.417) ≈ -41.38

制約のないモデル(H₁)での最尤推定値は:

p̂₁ = 20 / 30 = 0.667
p̂₂ = 15 / 30 = 0.500

このモデルの対数尤度は:

log L(θ̂₁|データ) = log[(0.667)^20 * (0.333)^10 * (0.500)^15 * (0.500)^15]
= 20 * log(0.667) + 10 * log(0.333) + 15 * log(0.500) + 15 * log(0.500) ≈ -40.88

尤度比検定統計量は:

LR = -2 * [-41.38 - (-40.88)] = -2 * (-0.50) = 1.00

自由度1のカイ二乗分布における臨界値(有意水準5%)は3.84です。LR = 1.00 < 3.84なので、帰無仮説を棄却できません。つまり、2つの治療法の効果率に有意差はないと結論づけられます。

4. 複雑なモデルでの最尤推定

一般化線形モデル(GLM)

一般化線形モデル(Generalized Linear Model: GLM)は、様々な確率分布に対応するための枠組みを提供します。GLMは以下の3つの要素から構成されます:

  1. 確率分布:応答変数Yの確率分布(正規分布、二項分布、ポアソン分布など)
  2. 線形予測子:η = Xβ(Xは説明変数行列、βは係数ベクトル)
  3. リンク関数:g(μ) = η(μはYの期待値)

GLMの例としては以下のようなものがあります:

  • 線形回帰:応答変数が正規分布、恒等リンク関数
  • ロジスティック回帰:応答変数が二項分布、ロジットリンク関数
  • ポアソン回帰:応答変数がポアソン分布、対数リンク関数

GLMのパラメータ推定には、反復重み付き最小二乗法(IRWLS)などの数値最適化法が使われます。

例:ロジスティック回帰の対数尤度

ロジスティック回帰は、二値応答変数(0または1)をモデル化するのに使われます。

応答変数Yが与ロジスティック回帰の対数尤度と推定 ロジスティック回帰モデルでは、応答変数 Yとすると以下のようになります