ベイズ線形回帰における事後分布の具体的計算
この問題では、ベイズ線形回帰の共役性を利用して、回帰係数の事後分布を解析的に計算します。
問題設定
- モデル:$y = \beta_0 + \beta_1 x + \epsilon$
- 誤差:$\epsilon \sim N(0, 1)$
- 事前分布:$\beta_0, \beta_1 \sim N(0, 4)$(独立)
- データ:$(x_1, y_1) = (1, 3)$, $(x_2, y_2) = (2, 5)$
Step 1: 行列表現の設定
設計行列$\mathbf{X}$と応答ベクトル$\mathbf{y}$:
$$\mathbf{X} = \begin{pmatrix} 1 & 1 \\ 1 & 2 \end{pmatrix}, \quad \mathbf{y} = \begin{pmatrix} 3 \\ 5 \end{pmatrix}$$
パラメータベクトル:
$$\boldsymbol{\beta} = \begin{pmatrix} \beta_0 \\ \beta_1 \end{pmatrix}$$
Step 2: 事前分布の設定
事前平均と事前共分散行列:
$$\boldsymbol{\mu}_0 = \begin{pmatrix} 0 \\ 0 \end{pmatrix}, \quad \mathbf{\Sigma}_0 = \begin{pmatrix} 4 & 0 \\ 0 & 4 \end{pmatrix}$$
事前精度行列:
$$\mathbf{\Sigma}_0^{-1} = \begin{pmatrix} 1/4 & 0 \\ 0 & 1/4 \end{pmatrix}$$
Step 3: 必要な行列計算
$$\mathbf{X}^T\mathbf{X} = \begin{pmatrix} 1 & 1 \\ 1 & 2 \end{pmatrix}^T \begin{pmatrix} 1 & 1 \\ 1 & 2 \end{pmatrix} = \begin{pmatrix} 2 & 3 \\ 3 & 5 \end{pmatrix}$$
$$\mathbf{X}^T\mathbf{y} = \begin{pmatrix} 1 & 1 \\ 1 & 2 \end{pmatrix}^T \begin{pmatrix} 3 \\ 5 \end{pmatrix} = \begin{pmatrix} 8 \\ 13 \end{pmatrix}$$
Step 4: 事後精度行列の計算
$\sigma^2 = 1$なので:
$$\mathbf{\Sigma}_n^{-1} = \mathbf{\Sigma}_0^{-1} + \mathbf{X}^T\mathbf{X} = \begin{pmatrix} 1/4 & 0 \\ 0 & 1/4 \end{pmatrix} + \begin{pmatrix} 2 & 3 \\ 3 & 5 \end{pmatrix}$$
$$= \begin{pmatrix} 2.25 & 3 \\ 3 & 5.25 \end{pmatrix}$$
Step 5: 事後共分散行列の計算
2×2行列の逆行列公式を使用:
$$\mathbf{\Sigma}_n = (\mathbf{\Sigma}_n^{-1})^{-1} = \frac{1}{\det(\mathbf{\Sigma}_n^{-1})} \begin{pmatrix} 5.25 & -3 \\ -3 & 2.25 \end{pmatrix}$$
行列式:
$$\det(\mathbf{\Sigma}_n^{-1}) = 2.25 \times 5.25 - 3^2 = 11.8125 - 9 = 2.8125$$
$$\mathbf{\Sigma}_n = \frac{16}{45}\begin{pmatrix} 21/4 & -3 \\ -3 & 9/4 \end{pmatrix} = \begin{pmatrix} 28/15 & -16/15 \\ -16/15 & 4/5 \end{pmatrix}$$
Step 6: 事後平均の計算
$$\boldsymbol{\mu}_n = \mathbf{\Sigma}_n \left( \mathbf{\Sigma}_0^{-1}\boldsymbol{\mu}_0 + \mathbf{X}^T\mathbf{y} \right)$$
事前情報項はゼロなので:
$$\boldsymbol{\mu}_n = \mathbf{\Sigma}_n \mathbf{X}^T\mathbf{y} = \begin{pmatrix} 28/15 & -16/15 \\ -16/15 & 4/5 \end{pmatrix} \begin{pmatrix} 8 \\ 13 \end{pmatrix}$$
$$= \begin{pmatrix} (28/15)\times 8 - (16/15)\times 13 \\ -(16/15)\times 8 + (4/5)\times 13 \end{pmatrix}$$
$$= \begin{pmatrix} 16/15 \\ 28/15 \end{pmatrix} = \begin{pmatrix} 1.0666\ldots \\ 1.8666\ldots \end{pmatrix}$$
結果の解釈
- $\beta_0$の事後平均:$16/15=1.0666\ldots$ を小数第4位で四捨五入すると 1.067
- $\beta_1$の事後平均:$28/15=1.8666\ldots$ を小数第4位で四捨五入すると 1.867
- データの影響:事前分布(平均0)からのアップデート
Step 7: 結果の検証
最小二乗推定値との比較:
$$\hat{\boldsymbol{\beta}}_{OLS} = (\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\mathbf{y}$$
$(\mathbf{X}^T\mathbf{X})^{-1} = \frac{1}{1} \begin{pmatrix} 5 & -3 \\ -3 & 2 \end{pmatrix} = \begin{pmatrix} 5 & -3 \\ -3 & 2 \end{pmatrix}$
$$\hat{\boldsymbol{\beta}}_{OLS} = \begin{pmatrix} 5 & -3 \\ -3 & 2 \end{pmatrix} \begin{pmatrix} 8 \\ 13 \end{pmatrix} = \begin{pmatrix} 1 \\ 2 \end{pmatrix}$$
ベイズ推定値($16/15$, $28/15$、小数第3位では 1.067 と 1.867)を最小二乗推定値(1, 2)と比べると、傾きは 2 から 1.867 へ事前平均 0 の側に動きます。切片は 1 から 1.067 へ増えており、各係数が必ず 0 に近づくわけではありません。
ベイズ推定の特徴
- 事前分布:正則化として働く。個々の係数が必ず 0 に近づくとは限らない
- 不確実性定量化:事後分散も同時に得られる
- 事前情報の統合:専門知識の活用