ギブスサンプリングと条件付き分布の理論
ギブスサンプリングは、多変量分布からのサンプリングを各変数の条件付き分布を順次サンプリングすることで実現するMCMC手法です。二変量正規分布からのギブスサンプリングは、この手法の基本的な例となります。
ギブスサンプリングの基本原理
ギブスサンプリングでは、以下の手順を反復します:
- X₁⁽ᵗ⁺¹⁾ ~ p(X₁|X₂⁽ᵗ⁾):X₂の現在値を条件とした X₁ のサンプリング
- X₂⁽ᵗ⁺¹⁾ ~ p(X₂|X₁⁽ᵗ⁺¹⁾):X₁の新しい値を条件とした X₂ のサンプリング
この反復により、真の同時分布からの近似サンプルが得られます。
Step 1: 二変量正規分布のパラメータ整理
与えられた二変量正規分布:
$\mathbf{X} = \begin{pmatrix} X_1 \\ X_2 \end{pmatrix} \sim N\left(\begin{pmatrix} \mu_1 \\ \mu_2 \end{pmatrix}, \mathbf{\Sigma}\right)$
パラメータ:
- $\mu_1 = 0, \mu_2 = 0$(平均ベクトル)
- $\sigma_1^2 = 1, \sigma_2^2 = 1$(各変数の分散)
- $\rho = 0.6$(相関係数)
共分散行列:
$\mathbf{\Sigma} = \begin{pmatrix} \sigma_1^2 & \rho\sigma_1\sigma_2 \\ \rho\sigma_1\sigma_2 & \sigma_2^2 \end{pmatrix} = \begin{pmatrix} 1 & 0.6 \\ 0.6 & 1 \end{pmatrix}$
Step 2: 条件付き分布の理論
二変量正規分布において、X₁が与えられたときのX₂の条件付き分布は正規分布になります:
$X_2|X_1 \sim N(\mu_{2|1}, \sigma_{2|1}^2)$
ここで:
- $\mu_{2|1}$:条件付き平均
- $\sigma_{2|1}^2$:条件付き分散
Step 3: 条件付き平均の公式
二変量正規分布の条件付き平均は:
$\mu_{2|1} = \mu_2 + \frac{\sigma_{12}}{\sigma_1^2}(X_1 - \mu_1)$
ここで:
- $\sigma_{12} = \rho\sigma_1\sigma_2$(共分散)
- $\sigma_1^2$:X₁の分散
Step 4: 数値の代入
共分散の計算:
$\sigma_{12} = \rho\sigma_1\sigma_2 = 0.6 \times 1 \times 1 = 0.6$
条件付き平均の計算:
$\mu_{2|1} = \mu_2 + \frac{\sigma_{12}}{\sigma_1^2}(X_1 - \mu_1)$
$= 0 + \frac{0.6}{1}(0.5 - 0)$
$= 0.6 \times 0.5 = 0.3$
小数第3位まで:0.300
Step 5: 条件付き分散の計算(参考)
条件付き分散も同時に計算できます:
$\sigma_{2|1}^2 = \sigma_2^2 - \frac{\sigma_{12}^2}{\sigma_1^2}$
$= 1 - \frac{0.6^2}{1} = 1 - 0.36 = 0.64$
したがって、完全な条件付き分布は:
$X_2|X_1=0.5 \sim N(0.300, 0.64)$
条件付き分布の解釈
この結果の意味:
- 正の相関:$\rho = 0.6 > 0$ なので、X₁ が平均より大きいとX₂ も平均より大きくなる傾向
- 線形関係:条件付き平均は X₁ の線形関数
- 分散の縮小:条件付き分散(0.64)は元の分散(1.0)より小さい
Step 6: ギブスサンプリングの実装
このギブスサンプリングの1ステップは以下のようになります:
アルゴリズムの詳細
初期化:$(X_1^{(0)}, X_2^{(0)})$ を設定
反復 t = 1, 2, ..., T:
- X₁の更新:
$X_1^{(t)} \sim N\left(\mu_1 + \frac{\sigma_{12}}{\sigma_2^2}(X_2^{(t-1)} - \mu_2), \sigma_1^2 - \frac{\sigma_{12}^2}{\sigma_2^2}\right)$
$= N(0.6 \times X_2^{(t-1)}, 0.64)$
- X₂の更新:
$X_2^{(t)} \sim N\left(\mu_2 + \frac{\sigma_{12}}{\sigma_1^2}(X_1^{(t)} - \mu_1), \sigma_2^2 - \frac{\sigma_{12}^2}{\sigma_1^2}\right)$
$= N(0.6 \times X_1^{(t)}, 0.64)$
Step 7: 収束性の理論
マルコフ連鎖の性質
- エルゴード性:適切な条件下で定常分布に収束
- 収束率:相関が高いほど収束が遅い
- 自己相関:連続するサンプル間の相関を監視
収束診断
- トレースプロット:パラメータの時系列的変化
- Gelman-Rubin統計量:複数チェーン間の分散比
- 有効サンプルサイズ:自己相関を考慮したサンプル数
Step 8: 実装上の注意点
ギブスサンプリングの課題と対策
| 課題 | 対策 | 効果 |
|---|
| 高い相関 | ブロックサンプリング | 収束速度向上 |
| 初期値依存 | バーンイン期間 | 定常状態への収束 |
| 自己相関 | 間引き(thinning) | 独立性の改善 |
| 収束判定 | 複数チェーン実行 | 信頼性向上 |
Step 9: 他のMCMC手法との比較
| 手法 | 長所 | 短所 | 適用場面 |
|---|
| ギブスサンプリング | 実装が簡単 | 高相関時に収束遅い | 条件付き分布が既知 |
| メトロポリス・ヘイスティングス | 汎用性が高い | 提案分布の調整が必要 | 複雑な分布 |
| ハミルトニアンMC | 効率的な探索 | 勾配計算が必要 | 滑らかな分布 |
| 変分ベイズ | 高速 | 近似精度の制限 | 大規模データ |