本記事では正規分布の再生性について解説します。正規分布の再生性は、機械学習やカルマンフィルタなど多くの場面で登場するため、確実に理解しておく必要があります。
本記事の内容
- 正規分布の再生性の定義と公式
- モーメント母関数を使った証明
- 多変量への拡張
- Python でのシミュレーションと検証
前提知識
この記事を読む前に、以下の記事を読んでおくと理解が深まります。
正規分布の再生性とは
正規分布の再生性とは、独立な正規確率変数の和が再び正規分布に従うという性質です。
もう少し具体的に述べると、独立な確率変数 $X_1 \sim \mathcal{N}(\mu_1, \sigma_1^2)$ と $X_2 \sim \mathcal{N}(\mu_2, \sigma_2^2)$ があったとき、その和 $X_1 + X_2$ も正規分布に従います。
正規分布の再生性の公式
$$ \begin{equation} X_1 \sim \mathcal{N}(\mu_1, \sigma_1^2), \quad X_2 \sim \mathcal{N}(\mu_2, \sigma_2^2) \quad (X_1, X_2 \text{ は独立}) \end{equation} $$
のとき、
$$ \begin{equation} X_1 + X_2 \sim \mathcal{N}(\mu_1 + \mu_2, \sigma_1^2 + \sigma_2^2) \end{equation} $$
平均は各分布の平均の和、分散は各分布の分散の和になります。
一般の $n$ 個への拡張
独立な確率変数 $X_1, X_2, \dots, X_n$ がそれぞれ $X_i \sim \mathcal{N}(\mu_i, \sigma_i^2)$ に従うとき、
$$ \begin{equation} \sum_{i=1}^{n} X_i \sim \mathcal{N}\left(\sum_{i=1}^{n} \mu_i, \sum_{i=1}^{n} \sigma_i^2\right) \end{equation} $$
モーメント母関数を使った証明
再生性の証明には、モーメント母関数(積率母関数)を使うのが最も簡潔です。
正規分布のモーメント母関数
確率変数 $X \sim \mathcal{N}(\mu, \sigma^2)$ のモーメント母関数は次のようになります。
$$ \begin{equation} M_X(t) = E[e^{tX}] = \exp\left(\mu t + \frac{\sigma^2 t^2}{2}\right) \end{equation} $$
証明
$X_1$ と $X_2$ が独立であるとき、$Y = X_1 + X_2$ のモーメント母関数は、
$$ \begin{align} M_Y(t) &= E[e^{t(X_1 + X_2)}] \\ &= E[e^{tX_1}] \cdot E[e^{tX_2}] \quad (\because X_1, X_2 \text{ は独立}) \\ &= M_{X_1}(t) \cdot M_{X_2}(t) \end{align} $$
ここで各モーメント母関数を代入すると、
$$ \begin{align} M_Y(t) &= \exp\left(\mu_1 t + \frac{\sigma_1^2 t^2}{2}\right) \cdot \exp\left(\mu_2 t + \frac{\sigma_2^2 t^2}{2}\right) \\ &= \exp\left((\mu_1 + \mu_2) t + \frac{(\sigma_1^2 + \sigma_2^2) t^2}{2}\right) \end{align} $$
これは平均 $\mu_1 + \mu_2$、分散 $\sigma_1^2 + \sigma_2^2$ の正規分布のモーメント母関数に一致します。
モーメント母関数は分布を一意に特徴づけるため、
$$ Y = X_1 + X_2 \sim \mathcal{N}(\mu_1 + \mu_2, \sigma_1^2 + \sigma_2^2) $$
が示されました。 $\square$
線形結合への拡張
再生性はさらに一般化できます。$X_1, X_2$ が独立な正規確率変数のとき、定数 $a, b$ に対する線形結合も正規分布に従います。
$$ \begin{equation} aX_1 + bX_2 \sim \mathcal{N}(a\mu_1 + b\mu_2, a^2\sigma_1^2 + b^2\sigma_2^2) \end{equation} $$
これは $aX_1 \sim \mathcal{N}(a\mu_1, a^2\sigma_1^2)$ であることと、再生性を組み合わせることで導出できます。
具体例
$X_1 \sim \mathcal{N}(2, 3)$ と $X_2 \sim \mathcal{N}(5, 4)$ が独立であるとき、
$$ X_1 + X_2 \sim \mathcal{N}(2 + 5, 3 + 4) = \mathcal{N}(7, 7) $$
Python でのシミュレーション
再生性をシミュレーションで検証してみましょう。
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
np.random.seed(42)
n_samples = 100000
# パラメータ設定
mu1, sigma1_sq = 2.0, 3.0
mu2, sigma2_sq = 5.0, 4.0
# サンプル生成
X1 = np.random.normal(mu1, np.sqrt(sigma1_sq), n_samples)
X2 = np.random.normal(mu2, np.sqrt(sigma2_sq), n_samples)
Y = X1 + X2
# 理論値
mu_Y = mu1 + mu2
sigma_Y_sq = sigma1_sq + sigma2_sq
fig, axes = plt.subplots(1, 3, figsize=(15, 5))
x_range = np.linspace(-5, 20, 500)
# X1の分布
axes[0].hist(X1, bins=100, density=True, alpha=0.6, color='blue', label='Samples')
axes[0].plot(x_range, norm.pdf(x_range, mu1, np.sqrt(sigma1_sq)), 'r-', linewidth=2, label='Theory')
axes[0].set_title(f'X1 ~ N({mu1}, {sigma1_sq})', fontsize=12)
axes[0].legend()
axes[0].grid(True, alpha=0.3)
# X2の分布
axes[1].hist(X2, bins=100, density=True, alpha=0.6, color='green', label='Samples')
axes[1].plot(x_range, norm.pdf(x_range, mu2, np.sqrt(sigma2_sq)), 'r-', linewidth=2, label='Theory')
axes[1].set_title(f'X2 ~ N({mu2}, {sigma2_sq})', fontsize=12)
axes[1].legend()
axes[1].grid(True, alpha=0.3)
# Y = X1 + X2 の分布
axes[2].hist(Y, bins=100, density=True, alpha=0.6, color='purple', label='Samples')
axes[2].plot(x_range, norm.pdf(x_range, mu_Y, np.sqrt(sigma_Y_sq)), 'r-', linewidth=2,
label=f'Theory N({mu_Y}, {sigma_Y_sq})')
axes[2].set_title(f'Y = X1 + X2 ~ N({mu_Y}, {sigma_Y_sq})', fontsize=12)
axes[2].legend()
axes[2].grid(True, alpha=0.3)
plt.suptitle('Reproductive Property of Normal Distribution', fontsize=14)
plt.tight_layout()
plt.show()
# 統計量の比較
print(f"理論値: mean={mu_Y:.4f}, var={sigma_Y_sq:.4f}")
print(f"シミュレーション: mean={Y.mean():.4f}, var={Y.var():.4f}")
シミュレーション結果のヒストグラムと理論的な正規分布の確率密度関数がよく一致していることが確認できます。
標本平均の分布との関係
再生性から、標本平均の分布も導出できます。$X_1, X_2, \dots, X_n$ が独立に $\mathcal{N}(\mu, \sigma^2)$ に従うとき、標本平均 $\bar{X} = \frac{1}{n}\sum_{i=1}^{n} X_i$ は、
$$ \bar{X} \sim \mathcal{N}\left(\mu, \frac{\sigma^2}{n}\right) $$
に従います。標本数 $n$ が増えるほど分散が小さくなり、推定精度が上がることを意味しています。
まとめ
本記事では、正規分布の再生性について解説しました。
- 正規分布の再生性とは、独立な正規確率変数の和が再び正規分布に従う性質
- モーメント母関数を使うと簡潔に証明できる
- 平均は各分布の平均の和、分散は各分布の分散の和になる
- 標本平均の分布の導出にも再生性が活用される
次のステップとして、以下の記事も参考にしてください。