2.3 ベイズの定理 〜統計検定2級対応・統計学入門まとめ〜

当まとめでは統計検定$2$級の公式テキストの副教材に用いることができるように、統計学入門に関して取り扱います。当記事では「統計検定$2$級対応 統計学基礎」の$2.3$節「ベイズの定理」の内容を元にベイズの定理の数式と解釈や具体的な数値計算に関して取り扱いました。
統計検定$2$級のテキストとの対応がわかりやすいように、目次を「統計検定$2$級対応 統計学基礎」と対応させました。学びやすさの観点からあえて目次を対応させましたが、当まとめは「統計の森」オリジナルのコンテンツであり、統計検定の公式とは一切関係ないことにご注意ください。

・統計検定$2$級対応・統計学入門まとめ
https://www.hello-statisticians.com/stat_basic

ベイズの定理の概要

概要

ベイズの定理は統計学における「観測値」に基づく計算に「事前確率」という概念を導入することで、「観測値」に「事前知識」を反映させるにあたって用いられます。数式自体は「積事象の確率」と「条件付き確率」の変形で難しくはありませんが、使用時にカスタマイズされがちであるので注意が必要です。

必要な数学

ベイズの定理

ベイズの定理の数式

事象$A$の原因に互いに排反な$n$個の事象$H_1, H_2, \cdots , H_n$を考えます。このとき条件付き確率$P(H_i|A)$は下記のように表すことができます。
$$
\large
\begin{align}
P(H_i|A) = \frac{P(H_i \cap A)}{P(A)} \quad (1)
\end{align}
$$

上記は「条件付き確率の定義」と見ることもできるし、「乗法定理$P(H_i \cap A)=P(A)P(H_i|A)$の変形」と見ることもできます。ここで$P(H_i \cap A)$に対し、乗法定理$P(H_i \cap A)=P(H_i)P(A|H_i)$を考えると$(1)$式は下記のように変形できます。
$$
\large
\begin{align}
P(H_i|A) &= \frac{P(H_i \cap A)}{P(A)} \quad (1) \\
&= \frac{P(H_i)P(A|H_i)}{P(A)} \quad (2)
\end{align}
$$

上記の$(2)$式がベイズの定理の数式に対応します。また$(2)$式の$P(A)$が$\displaystyle P(A)=\sum_{j=1}^{n} P(A \cap H_j)$であることを元に$P(H_i|A)$は下記のように表すこともできます。
$$
\large
\begin{align}
P(H_i|A) &= \frac{P(H_i)P(A|H_i)}{P(A)} \quad (2) \\
&= \frac{\displaystyle P(H_i)P(A|H_i)}{\displaystyle \sum_{j=1}^{n} P(A \cap H_j)} \quad (3)
\end{align}
$$

上記では分子で$i$、分母で$j$を用いましたが、$P(H_1|A)$のように分子のインデックスが具体的な数字で表される際は分母に$i$を用いる場合があります。$\displaystyle \sum$のインデックスを分子と分けると良いと考えておくと良いと思います。

ベイズの定理の使用例

$i$$H_i$$P(H_i)$$P(A|H_i)$
$1$ 機体$0.307$$0.008$
$2$ ロータ$0.156$$0.048$
$3$ 電気$0.129$$0.040$
$4$ 計器$0.130$$0.052$
$5$ 動力$0.080$$0.100$
$6$ 通信・運行・自動安定$0.030$$0.151$
$7$ その他$0.171$$0.014$
「統計検定$2$級対応 統計学基礎」 表$2.1$

上記の表を元に以下、$P(H_3|A)$の値の計算を行います。
$$
\large
\begin{align}
P(H_3|A) &= \frac{\displaystyle P(H_3)P(A|H_3)}{\displaystyle \sum_{j=1}^{n} P(A \cap H_j)} \\
&= 0.140
\end{align}
$$

具体的な計算は下記を実行することで行ないました。

import numpy as np

P_H = np.array([0.307, 0.156, 0.129, 0.130, 0.080, 0.030, 0.171])
P_A_H = np.array([0.008, 0.048, 0.040, 0.052, 0.100, 0.151, 0.014])

print("Prob: {:.3f}".format(P_H[2]*P_A_H[2]/np.sum(P_H*P_A_H)))

発展事項:ベイズの定理の最尤法への導入と事前確率・事後確率

最尤法を用いたパラメータ推定は$\theta$を元に標本$x$が得られる確率$P(x|\theta)$が最大となる$\theta$を推定値と定めます。この際にベイズ推定ではパラメータ$\theta$の事前確率$P(\theta)$をベイズの定理を用いて導入することで、下記のような事後分布$P(\theta|x)$を得ることができます。
$$
\large
\begin{align}
P(\theta|x) &= \frac{P(\theta)P(x|\theta)}{P(x)} \\
& \propto P(\theta)P(x|\theta)
\end{align}
$$

事後分布の$P(\theta|x)$は分布そのものが$\theta$の推定結果である一方で、推定値が必要な場合はEAP推定量やMAP推定量を考える場合が多いです。また、パラメータの分布を元に新たなサンプルに関して予測分布を作成する場合もあります。

ベイズの定理を用いたパラメータ推定である「ベイズ推定」に関しては下記などで詳しく取り扱いましたので、当記事では詳細は省略します。