十分統計量(Sufficient Statistics)をわかりやすく解説

統計学を学び始めると、十分統計量(Sufficient Statistics)という用語に出くわすことになります。十分統計量は、データをパラメータ推定のために要約する際に、情報を一切失わない統計量のことです。

今回は、十分統計量の定義や意味、そして具体例を通してわかりやすく解説していきます。

本記事の内容

  • 十分統計量の定義と直感的な理解
  • フィッシャー・ネイマンの分解定理
  • 正規分布とベルヌーイ分布の具体例
  • Python での可視化

前提知識

この記事を読む前に、以下の記事を読んでおくと理解が深まります。

十分統計量とは

直感的な説明

$N$ 個のデータ $\mathcal{D} = \{x_1, x_2, \dots, x_N\}$ からパラメータ $\theta$ を推定する場面を考えます。

データ全体を持ち歩くのは大変ですが、もしある統計量 $T(\mathcal{D})$ にデータを要約しても、パラメータ $\theta$ に関する情報が一切失われないなら、$T(\mathcal{D})$ で十分だということになります。これが十分統計量です。

例えば、正規分布 $\mathcal{N}(\mu, \sigma^2)$($\sigma^2$ 既知)からのデータについて、平均 $\mu$ を推定する場合、標本平均 $\bar{x} = \frac{1}{N}\sum x_i$ だけで十分です。個々のデータ値を知る必要はありません。

数学的定義

$$ \begin{equation} T(\mathcal{D}) \text{ が } \theta \text{ に対する十分統計量} \iff p(\mathcal{D}|T(\mathcal{D}), \theta) = p(\mathcal{D}|T(\mathcal{D})) \end{equation} $$

つまり、$T(\mathcal{D})$ が与えられたもとでのデータの条件付き分布が、$\theta$ に依存しないということです。

フィッシャー・ネイマンの分解定理

十分統計量の判定には、フィッシャー・ネイマンの分解定理が便利です。

$$ \begin{equation} p(\mathcal{D}|\theta) = g(T(\mathcal{D}), \theta) \cdot h(\mathcal{D}) \end{equation} $$

尤度関数が、$T(\mathcal{D})$ と $\theta$ に依存する部分 $g$ と、$\theta$ に依存しない部分 $h$ に分解できるとき、$T(\mathcal{D})$ は $\theta$ の十分統計量です。

具体例1: ベルヌーイ分布

データ $x_1, \dots, x_N$ が $\text{Bern}(\mu)$ に従うとき、尤度関数は、

$$ \begin{align} p(\mathcal{D}|\mu) &= \prod_{n=1}^{N} \mu^{x_n}(1-\mu)^{1-x_n} \\ &= \mu^{\sum x_n}(1-\mu)^{N – \sum x_n} \end{align} $$

これは $g(T, \mu) = \mu^T(1-\mu)^{N-T}$、$h(\mathcal{D}) = 1$ と分解でき、$T = \sum_{n=1}^{N} x_n$ が十分統計量です。

具体例2: 正規分布

データが $\mathcal{N}(\mu, \sigma^2)$($\mu, \sigma^2$ ともに未知)に従うとき、

$$ \begin{align} p(\mathcal{D}|\mu, \sigma^2) &= \left(\frac{1}{\sqrt{2\pi\sigma^2}}\right)^N \exp\left(-\frac{1}{2\sigma^2}\sum_{n=1}^{N}(x_n – \mu)^2\right) \\ &= \left(\frac{1}{\sqrt{2\pi\sigma^2}}\right)^N \exp\left(-\frac{1}{2\sigma^2}\left[\sum x_n^2 – 2\mu\sum x_n + N\mu^2\right]\right) \end{align} $$

$\theta = (\mu, \sigma^2)$ に依存する部分は $\sum x_n$ と $\sum x_n^2$ のみに依存するため、十分統計量は、

$$ T(\mathcal{D}) = \left(\sum_{n=1}^{N} x_n, \sum_{n=1}^{N} x_n^2\right) $$

あるいは同等に $(\bar{x}, s^2)$(標本平均と標本分散)です。

指数型分布族と十分統計量

多くの一般的な確率分布は指数型分布族に属し、

$$ \begin{equation} p(x|\theta) = h(x) \exp(\bm{\eta}(\theta)^T \bm{T}(x) – A(\theta)) \end{equation} $$

の形で書けます。ここで $\bm{T}(x)$ が十分統計量です。

分布 十分統計量
ベルヌーイ分布 $\sum x_i$
正規分布 $(\sum x_i, \sum x_i^2)$
ポアソン分布 $\sum x_i$
指数分布 $\sum x_i$

Python での可視化

十分統計量がパラメータ推定に十分な情報を持つことを確認しましょう。

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

np.random.seed(42)
true_mu = 3.0
sigma = 1.0  # 既知

# 同じ十分統計量(標本平均)を持つ異なるデータセットの比較
N = 10
target_mean = 3.5

# 標本平均が同じになるデータセットを複数生成
n_datasets = 5000
datasets = []
means = []

for _ in range(n_datasets):
    data = np.random.normal(true_mu, sigma, N)
    datasets.append(data)
    means.append(data.mean())

means = np.array(means)

# 十分統計量(標本平均)のみで推定した場合と全データで推定した場合の比較
fig, axes = plt.subplots(1, 2, figsize=(14, 5))

# 左: 標本平均(十分統計量)の分布
ax1 = axes[0]
ax1.hist(means, bins=50, density=True, alpha=0.6, color='blue', label='Sample means')
# 理論分布: N(true_mu, sigma^2/N)
x_range = np.linspace(1, 5, 200)
ax1.plot(x_range, norm.pdf(x_range, true_mu, sigma/np.sqrt(N)), 'r-', linewidth=2,
         label=f'Theory: N({true_mu}, {sigma**2/N:.2f})')
ax1.set_xlabel('Sample mean (sufficient statistic)', fontsize=12)
ax1.set_ylabel('Density', fontsize=12)
ax1.set_title('Distribution of Sufficient Statistic', fontsize=13)
ax1.legend(fontsize=10)
ax1.grid(True, alpha=0.3)

# 右: 十分統計量の値が同じデータの尤度
ax2 = axes[1]
mu_range = np.linspace(1, 6, 300)

# 特定の標本平均を持つデータセットを抽出
target = 3.5
tol = 0.01
similar_indices = np.where(np.abs(means - target) < tol)[0]

for i, idx in enumerate(similar_indices[:5]):
    data = datasets[idx]
    log_lik = np.array([np.sum(norm.logpdf(data, mu, sigma)) for mu in mu_range])
    ax2.plot(mu_range, log_lik - log_lik.max(), alpha=0.6, linewidth=1,
             label=f'Dataset {i+1} (mean={data.mean():.3f})')

ax2.set_xlabel('mu', fontsize=12)
ax2.set_ylabel('Log-likelihood (shifted)', fontsize=12)
ax2.set_title(f'Likelihood for Datasets with mean ~ {target}', fontsize=13)
ax2.legend(fontsize=9)
ax2.grid(True, alpha=0.3)

plt.tight_layout()
plt.show()

右のグラフでは、標本平均がほぼ同じデータセットの対数尤度関数が非常に似た形状をしていることが確認できます。これは、十分統計量(標本平均)がパラメータに関する情報を完全に保持していることを示しています。

まとめ

本記事では、十分統計量について解説しました。

  • 十分統計量とはデータをパラメータ推定のために要約しても情報を失わない統計量
  • フィッシャー・ネイマンの分解定理により、尤度関数の分解から十分統計量を判定できる
  • ベルヌーイ分布では $\sum x_i$、正規分布では $(\sum x_i, \sum x_i^2)$ が十分統計量
  • 指数型分布族では十分統計量が自然に定義される

次のステップとして、以下の記事も参考にしてください。