階層ベイズモデルと経験ベイズ法
経験ベイズ法は、階層ベイズモデルにおいてハイパーパラメータをデータから推定し、ベイズ推定を行う手法です。
問題設定の数学的定式化
Step 1: 階層ベイズモデルの構造
3つの階層からなるモデル:
- 第1階層(データ層):$y_i | p_i, n_i \sim \text{Binomial}(n_i, p_i)$
- 第2階層(個体パラメータ層):$p_i | \alpha, \beta \sim \text{Beta}(\alpha, \beta)$
- 第3階層(ハイパーパラメータ層):$\alpha, \beta$は未知パラメータ
Step 2: ベータ分布の性質
ベータ分布$\text{Beta}(\alpha, \beta)$の確率密度関数:
$f(p; \alpha, \beta) = \frac{\Gamma(\alpha + \beta)}{\Gamma(\alpha)\Gamma(\beta)} p^{\alpha-1} (1-p)^{\beta-1}$
期待値と分散:
$E[p] = \frac{\alpha}{\alpha + \beta}, \quad \text{Var}(p) = \frac{\alpha\beta}{(\alpha + \beta)^2(\alpha + \beta + 1)}$
共役事前分布の性質
Step 3: 二項分布とベータ分布の共役性
二項分布の尤度とベータ事前分布の組み合わせにより、事後分布も解析的に求まります:
$p_i | y_i, n_i, \alpha, \beta \sim \text{Beta}(\alpha + y_i, \beta + n_i - y_i)$
これは共役事前分布の重要な性質です。
Step 4: 事後分布の導出
ベイズの定理により:
$\pi(p_i | y_i) \propto L(p_i | y_i) \cdot \pi(p_i)$
$\propto p_i^{y_i} (1-p_i)^{n_i-y_i} \cdot p_i^{\alpha-1} (1-p_i)^{\beta-1}$
$= p_i^{\alpha+y_i-1} (1-p_i)^{\beta+n_i-y_i-1}$
これは$\text{Beta}(\alpha + y_i, \beta + n_i - y_i)$の核と一致します。
経験ベイズ推定の実装
Step 5: 選手Aのデータ
選手Aの成績:
- 打数:$n_A = 20$
- 安打数:$y_A = 8$
経験ベイズ法で推定されたハイパーパラメータ:
Step 6: 事後分布の計算
選手Aの打率$p_A$の事後分布:
$p_A | y_A, n_A \sim \text{Beta}(\alpha + y_A, \beta + n_A - y_A)$
$= \text{Beta}(2 + 8, 5 + 20 - 8) = \text{Beta}(10, 17)$
Step 7: ベイズ推定値の計算
事後分布の期待値(ベイズ推定値):
$\hat{p}_A = E[p_A | y_A, n_A] = \frac{\alpha + y_A}{\alpha + y_A + \beta + n_A - y_A}$
$= \frac{\alpha + y_A}{\alpha + \beta + n_A} = \frac{2 + 8}{2 + 5 + 20} = \frac{10}{27}$
$= 0.370370... \approx 0.370$
推定値の解釈と特性
Step 8: 収縮効果の分析
経験ベイズ推定値を最尤推定値と比較:
- 最尤推定値:$\hat{p}_{ML} = \frac{y_A}{n_A} = \frac{8}{20} = 0.400$
- 経験ベイズ推定値:$\hat{p}_{EB} = \frac{10}{27} = 0.370$
- 事前期待値:$\frac{\alpha}{\alpha + \beta} = \frac{2}{7} = 0.286$
経験ベイズ推定値は最尤推定値と事前期待値の加重平均になっています。
Step 9: 重み付けの構造
経験ベイズ推定値の別表現:
$\hat{p}_{EB} = \frac{n_A}{n_A + \alpha + \beta} \cdot \hat{p}_{ML} + \frac{\alpha + \beta}{n_A + \alpha + \beta} \cdot \frac{\alpha}{\alpha + \beta}$
$= \frac{20}{27} \times 0.400 + \frac{7}{27} \times 0.286 = 0.296 + 0.074 = 0.370$
経験ベイズ法の特徴
- 収縮推定:極端な値を事前分布の中心に向けて調整
- 情報共有:他の選手のデータも間接的に活用
- 過学習の抑制:小標本での過度な推定を防ぐ
- 自動調整:データから最適な収縮度を学習
経験ベイズ法の理論的背景
Step 10: ハイパーパラメータの推定
実際の経験ベイズ法では、周辺尤度を最大化して$\alpha, \beta$を推定します:
$L(\alpha, \beta) = \prod_{i=1}^k \binom{n_i}{y_i} \frac{B(\alpha + y_i, \beta + n_i - y_i)}{B(\alpha, \beta)}$
ここで$B(\cdot, \cdot)$はベータ関数、$k$は選手数です。
Step 11: 予測分布と区間推定
事後分布$\text{Beta}(10, 17)$から:
- 事後分散:$\text{Var}(p_A | \text{data}) = \frac{10 \times 17}{27^2 \times 28} = \frac{170}{20412} \approx 0.0083$
- 95%信頼区間:ベータ分布の分位数を用いて計算可能
Step 12: 実用的な修正計算
より正確な計算:
$\hat{p}_A = \frac{10}{27} = 0.370370370... ≈ 0.370$