写真を何度フィルター加工しても、元の写真に映っていなかった人物が突然現れることはありません。統計データに変換や集計を施しても、元のデータに含まれていたパラメータに関する情報が増えることはありません。雑音のある通信チャネルを直列に2つつないでも、1つ目のチャネルで失われた情報が2つ目で復活することはありません。
これらはすべて、データ処理不等式(Data Processing Inequality, DPI)という情報理論の基本定理が保証する事実です。一見すると「当たり前」に聞こえるかもしれませんが、この不等式を厳密に定式化し証明すると、情報理論と統計学を橋渡しする深い構造が見えてきます。
データ処理不等式を理解すると、以下のような分野に直結する洞察が得られます。
- 統計学: 十分統計量の概念が情報理論的に自然に理解できます。十分統計量とはデータ処理不等式で等号が成り立つ要約であり、「情報を失わない圧縮」です
- 深層学習: 情報ボトルネック理論(Tishby, 2015)はデータ処理不等式に基づいて、深層ニューラルネットワークの中間層が入力と出力の間の相互情報量をどのように変化させるかを分析します
- 通信工学: チャネルの直列結合の容量がデータ処理不等式で制限されること、中継通信の限界が示されます
- プライバシー: 差分プライバシーの理論的基盤として、データの匿名化処理が個人情報をどの程度削減するかの数学的保証に使われます
- 推定理論: クラメール・ラオの下界とフィッシャー情報量の関係にも、データ処理不等式と類似の構造が現れます
本記事の内容
- マルコフ連鎖と条件付き独立性の定義
- データ処理不等式の主張と証明
- 等号条件の解析と十分統計量の情報論的特徴づけ
- KLダイバージェンスとf-ダイバージェンスに対するデータ処理不等式
- 通信チャネルの直列結合への応用
- 情報ボトルネック法との関連
- Pythonによるシミュレーションと検証
前提知識
この記事を読む前に、以下の記事を読んでおくと理解が深まります。
- 交差エントロピーとKLダイバージェンスの関係 — 相互情報量とKLダイバージェンスの定義
- 微分エントロピーと連続確率変数の情報量 — 連続確率変数の情報量
マルコフ連鎖と条件付き独立性
マルコフ条件の定義
データ処理不等式の前提条件はマルコフ連鎖(Markov chain)です。3つの確率変数 $X$, $Y$, $Z$ がマルコフ連鎖 $X \to Y \to Z$ をなすとは、$Y$ が与えられたとき $X$ と $Z$ が条件付き独立であることです。
$$ p(x, z \mid y) = p(x \mid y) \cdot p(z \mid y) \quad \text{for all } x, y, z $$
同値的に、以下のいずれかの条件でも表現できます。
$$ p(z \mid x, y) = p(z \mid y) \quad \text{for all } x, y, z $$
$$ p(x \mid y, z) = p(x \mid y) \quad \text{for all } x, y, z $$
直感的には、$X \to Y \to Z$ は「$Z$ は $Y$ を通じてのみ $X$ と関係する」ことを意味しています。$Y$ の値がわかれば、$X$ の追加情報は $Z$ の予測に何の役にも立ちません。情報は $X$ から $Y$ へ、$Y$ から $Z$ へと一方向に流れ、$X$ から $Z$ への直接の経路はないのです。
データ処理の文脈
マルコフ連鎖 $X \to Y \to Z$ は、データ処理のパイプラインとして自然に解釈できます。
- $X$: 元のデータ(生の観測値、元の画像、真のパラメータ)
- $Y = f(X) + \text{noise}$: $X$ に何らかの処理(変換、通信、測定)を施した結果
- $Z = g(Y) + \text{noise}$: $Y$ にさらに処理を施した結果
$Z$ は $Y$ のみに基づいて生成され、$X$ に直接アクセスしない——これがマルコフ条件です。
具体例をいくつか挙げましょう。
統計的推定: $\theta$(母数)$\to$ $\bm{X}$(標本)$\to$ $T(\bm{X})$(統計量)。母数 $\theta$ のもとで標本 $\bm{X}$ が生成され、統計量 $T$ は標本のみから計算されます。
画像処理: 元画像 $\to$ JPEG圧縮画像 $\to$ サムネイル画像。各段階で情報が失われます。
通信チャネルの直列結合: $X$(送信信号)$\to$ $Y$(中継点での信号)$\to$ $Z$(受信信号)。各チャネルでノイズが加わります。
深層学習: 入力 $X$ $\to$ 中間表現 $h$ $\to$ 出力 $\hat{Y}$。各層は前の層の出力のみに基づいて計算されます。
マルコフ連鎖の概念を理解したところで、データ処理不等式の主張と証明に進みましょう。
データ処理不等式の主張と証明
定理の主張
データ処理不等式: $X \to Y \to Z$ がマルコフ連鎖ならば、
$$ I(X; Z) \leq I(X; Y) $$
が成り立つ。
ここで $I(X; Y) = H(X) – H(X \mid Y) = H(Y) – H(Y \mid X)$ は $X$ と $Y$ の相互情報量です。
この不等式は、「$Y$ から $Z$ を作る追加の処理で、$X$ に関する情報が失われることはあっても、増えることはない」ことを述べています。$Y$ には $X$ に関する情報が $I(X; Y)$ だけ含まれており、$Y$ を加工して $Z$ を作ると、情報は $I(X; Z) \leq I(X; Y)$ に減少します。
証明
証明は相互情報量の連鎖律(chain rule)と非負性だけを使う、エレガントなものです。
まず、相互情報量の連鎖律を適用します。
$$ I(X; Y, Z) = I(X; Z) + I(X; Y \mid Z) = I(X; Y) + I(X; Z \mid Y) $$
連鎖律は、$I(X; Y, Z)$ を2通りの方法で展開しています。左辺は同じなので、右辺どうしが等しくなります。
$$ I(X; Z) + I(X; Y \mid Z) = I(X; Y) + I(X; Z \mid Y) \tag{*} $$
ここでマルコフ条件 $X \to Y \to Z$ を使います。$p(x \mid y, z) = p(x \mid y)$ であるため、
$$ I(X; Z \mid Y) = E_Y\left[\sum_{x, z} p(x, z \mid Y) \log \frac{p(x, z \mid Y)}{p(x \mid Y) p(z \mid Y)}\right] $$
マルコフ条件 $p(x, z \mid y) = p(x \mid y) p(z \mid y)$ から、括弧内の対数の引数は常に1であり、
$$ I(X; Z \mid Y) = 0 $$
この結果を式 $(*)$ に代入すると、
$$ I(X; Z) + I(X; Y \mid Z) = I(X; Y) + 0 $$
$$ I(X; Z) = I(X; Y) – I(X; Y \mid Z) $$
相互情報量の非負性 $I(X; Y \mid Z) \geq 0$ から、
$$ I(X; Z) \leq I(X; Y) $$
これでデータ処理不等式が証明されました。$\square$
対称版のデータ処理不等式
マルコフ連鎖 $X \to Y \to Z$ は、逆方向 $Z \to Y \to X$ もマルコフ連鎖です(ベイズの定理から確認できます)。したがって、対称的に
$$ I(Y; X) \geq I(Z; X) \quad \text{および} \quad I(X; Y) \geq I(X; Z) $$
が成り立ちます。また、$Y$ を中心に見ると
$$ I(X; Y) \geq I(X; Z) \quad \text{および} \quad I(Z; Y) \geq I(Z; X) $$
も成り立ちます。つまり、「$Y$ に近い確率変数ほど多くの相互情報量を持つ」のです。
データ処理不等式の証明を理解したところで、等号が成り立つ条件——すなわち「情報を失わない処理」の特徴づけ——を詳しく見ていきましょう。
等号条件と十分統計量
等号条件の解析
データ処理不等式 $I(X; Z) \leq I(X; Y)$ で等号が成り立つのは、
$$ I(X; Y \mid Z) = 0 $$
のときです。これは「$Z$ が与えられたとき $X$ と $Y$ が条件付き独立である」こと、すなわちマルコフ連鎖 $X \to Z \to Y$ も成り立つことを意味します。
言い換えれば、$X \to Y \to Z$ と $X \to Z \to Y$ が同時に成り立つとき——つまり $Z$ が $Y$ に含まれる $X$ に関する情報をすべて保持しているとき——等号が成立します。
十分統計量の情報論的定義
統計学における十分統計量(sufficient statistic)の概念は、まさにこの等号条件に対応します。
パラメータ $\theta$ のもとで標本 $\bm{X} = (X_1, \dots, X_n)$ が生成され、統計量 $T = T(\bm{X})$ を計算するとき、マルコフ連鎖 $\theta \to \bm{X} \to T$ が成り立ちます。
統計量 $T$ が $\theta$ に対する十分統計量であるとは、データ処理不等式の等号
$$ I(\theta; T) = I(\theta; \bm{X}) $$
が成り立つことです。等価的に、$T$ が与えられたとき $\bm{X}$ は $\theta$ の追加情報を持たない——$p(\bm{x} \mid t, \theta) = p(\bm{x} \mid t)$——ことを意味します。
フィッシャー・ネイマンの因数分解定理との関係
十分統計量の古典的な特徴づけはフィッシャー・ネイマンの因数分解定理です。$T(\bm{X})$ が $\theta$ に対する十分統計量であるための必要十分条件は、尤度関数が次のように因数分解できることです。
$$ p(\bm{x} \mid \theta) = g(T(\bm{x}), \theta) \cdot h(\bm{x}) $$
ここで $g$ は $T$ と $\theta$ のみの関数、$h$ は $\bm{x}$ のみの関数($\theta$ に依存しない)です。
この因数分解は、情報理論的な等号条件と完全に整合します。$h(\bm{x})$ の部分は $\theta$ に関する情報を一切含まず、$\theta$ に関する情報はすべて $T(\bm{x})$ を通じて $g$ に含まれています。
具体例: 正規分布の標本平均
$X_1, \dots, X_n \sim N(\mu, \sigma^2)$($\sigma^2$ 既知)のとき、尤度関数は
$$ p(\bm{x} \mid \mu) = \prod_{i=1}^n \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(x_i – \mu)^2}{2\sigma^2}\right) $$
指数部分を展開すると、
$$ \sum_{i=1}^n (x_i – \mu)^2 = \sum_{i=1}^n x_i^2 – 2\mu \sum_{i=1}^n x_i + n\mu^2 $$
$\mu$ に依存する部分は $-2\mu \sum x_i + n\mu^2 = -2n\mu \bar{x} + n\mu^2$ のみです。したがって、
$$ p(\bm{x} \mid \mu) = \underbrace{\left(\frac{1}{\sqrt{2\pi\sigma^2}}\right)^n \exp\left(-\frac{n\mu^2 – 2n\mu\bar{x}}{2\sigma^2}\right)}_{g(\bar{x}, \mu)} \cdot \underbrace{\exp\left(-\frac{\sum x_i^2}{2\sigma^2}\right)}_{h(\bm{x})} $$
因数分解定理から、$\bar{X} = \frac{1}{n}\sum X_i$ が $\mu$ に対する十分統計量であることがわかります。$n$ 個のデータをたった1個の数値(標本平均)に圧縮しても、$\mu$ に関する情報は一切失われないのです。
最小十分統計量
十分統計量は一般に一意的ではありません。極端な例として、$\bm{X}$ 自身も十分統計量です(恒等写像は当然情報を失わない)。しかし、データ圧縮の観点からは、最も「小さい」(次元が低い)十分統計量が望ましいです。
最小十分統計量(minimal sufficient statistic)は、他のすべての十分統計量の関数として表せる十分統計量です。最小十分統計量は、「$\theta$ に関する情報を保持しつつ、最大限にデータを圧縮した」統計量です。
指数型分布族では、自然十分統計量が最小十分統計量になることが知られています。
十分統計量の情報論的な理解を得たところで、データ処理不等式をKLダイバージェンスに拡張しましょう。
KLダイバージェンスとf-ダイバージェンスに対するデータ処理不等式
KLダイバージェンスに対するDPI
相互情報量は結合分布と周辺分布の積のKLダイバージェンスとして表現されます。
$$ I(X; Y) = D_{\mathrm{KL}}(p(x, y) \| p(x)p(y)) $$
データ処理不等式は、KLダイバージェンスに対してより一般的な形で述べることができます。
定理: 確率分布 $P$ と $Q$ に対して、任意の確率的変換(マルコフカーネル)$T$ を適用すると、
$$ D_{\mathrm{KL}}(TP \| TQ) \leq D_{\mathrm{KL}}(P \| Q) $$
ここで $TP$ は $P$ を $T$ で変換した分布です。
証明の概略: $X \sim P$, $X’ \sim Q$ とし、$Y = T(X)$, $Y’ = T(X’)$ とします。$X \to Y$ が確率的変換であるため、連鎖律と非負性から
$$ D_{\mathrm{KL}}(P_{XY} \| Q_{X’Y’}) = D_{\mathrm{KL}}(P_X \| Q_{X’}) + E_P[D_{\mathrm{KL}}(P_{Y|X} \| Q_{Y’|X’})] $$
ここで $T$ が同じ変換であれば $P_{Y|X} = Q_{Y’|X’}$ なので、
$$ D_{\mathrm{KL}}(P_{XY} \| Q_{X’Y’}) = D_{\mathrm{KL}}(P_X \| Q_{X’}) $$
一方、周辺化($X$ を忘れる操作)はデータ処理であるため、
$$ D_{\mathrm{KL}}(P_Y \| Q_{Y’}) \leq D_{\mathrm{KL}}(P_{XY} \| Q_{X’Y’}) = D_{\mathrm{KL}}(P \| Q) $$
f-ダイバージェンスに対するDPI
f-ダイバージェンスの統一理論で解説したように、すべてのf-ダイバージェンスはデータ処理不等式を満たします。
$$ D_f(TP \| TQ) \leq D_f(P \| Q) $$
これはf-ダイバージェンスの凸性とイェンセンの不等式から導かれます。χ²ダイバージェンス、ヘリンジャー距離、全変動距離など、すべてのf-ダイバージェンスに対してデータ処理不等式が成り立つのです。
この一般的な結果は、「確率的な変換は分布間の区別を困難にする」という直感的な原理の数学的表現です。
通信チャネルへの応用
チャネルの直列結合の容量
通信チャネル $W_1: X \to Y$ と $W_2: Y \to Z$ を直列に結合した場合、入力 $X$ と出力 $Z$ の間にマルコフ連鎖 $X \to Y \to Z$ が成り立ちます。
データ処理不等式から、直列結合チャネルの容量は各チャネルの容量以下になります。
$$ C_{12} = \max_{p(x)} I(X; Z) \leq \max_{p(x)} I(X; Y) = C_1 $$
また、$Y \to Z$ の方向にもデータ処理不等式が成り立つため、
$$ C_{12} \leq C_2 $$
したがって、
$$ C_{12} \leq \min(C_1, C_2) $$
直列結合チャネルの容量は、最も弱いチャネルの容量以下であるという直感的な結果が得られます。チェーンの強さは最も弱いリンクで決まるのです。
BSCの直列結合の具体例
二元対称通信路(BSC)の直列結合を具体的に計算してみましょう。BSC$(p_1)$ と BSC$(p_2)$ を直列に結合すると、等価的な BSC のエラー確率は
$$ p_{12} = p_1(1 – p_2) + (1 – p_1)p_2 = p_1 + p_2 – 2p_1 p_2 $$
BSC の容量は $C(p) = 1 – H(p)$($H(p) = -p\log_2 p – (1-p)\log_2(1-p)$ は二元エントロピー)なので、
$$ C_{12} = 1 – H(p_{12}) \leq 1 – H(p_1) = C_1 $$
$p_1 = 0.1$, $p_2 = 0.1$ の場合、$p_{12} = 0.18$ であり、$C_1 = 0.531$ ビット、$C_{12} = 0.365$ ビットです。2つのチャネルを通過するだけで、容量が約31%減少しています。
中継通信との関係
データ処理不等式は、中継通信(relay communication)の限界も示しています。中継点で受信した信号を再度符号化して送信する復号・再符号化方式(decode-and-forward)では、中継点で生じた復号エラーは以降のチャネルに伝搬します。
一方、圧縮・転送方式(compress-and-forward)は、中継点での復号を行わずに受信信号を圧縮して転送します。この方式はデータ処理不等式の制約を受けますが、復号エラーの伝搬を避けられます。
中継チャネルの容量に関するカバー・エル・ガマルの定理は、これらの方式の性能を統一的に解析する枠組みを提供しています。
情報ボトルネック法
情報ボトルネックの定式化
データ処理不等式の最も先鋭的な応用の一つが、ティシュビー(Tishby)らによる情報ボトルネック法(Information Bottleneck method, 2000年)です。
入力 $X$ から目標変数 $Y$ を予測する問題を考えます。$X$ を圧縮した表現 $T$ を求めたいが、$T$ は $Y$ に関する情報をできるだけ保持していてほしい——この相反する要求を定式化すると、次の最適化問題になります。
$$ \min_{p(t \mid x)} I(X; T) – \beta I(T; Y) $$
ここで $\beta > 0$ はラグランジュ乗数です。第1項 $I(X; T)$ を小さくすることは $X$ の圧縮(情報の削減)を、第2項 $I(T; Y)$ を大きくすることは $Y$ の予測に必要な情報の保持を求めています。
マルコフ連鎖 $Y \to X \to T$ が成り立つため、データ処理不等式から
$$ I(T; Y) \leq I(X; Y) $$
が必ず成り立ちます。つまり、$T$ がどんなに巧妙に設計されても、$Y$ に関する情報は元のデータ $X$ が持つ情報 $I(X; Y)$ を超えることはできません。
深層学習との関連
ティシュビーとシュワルツ-ジヴ(2017)は、深層ニューラルネットワークの各層の表現 $h_l$ がマルコフ連鎖
$$ Y \to X \to h_1 \to h_2 \to \cdots \to h_L \to \hat{Y} $$
を形成すると仮定し、データ処理不等式から
$$ I(X; Y) \geq I(h_1; Y) \geq I(h_2; Y) \geq \cdots \geq I(h_L; Y) \geq I(\hat{Y}; Y) $$
が成り立つと主張しました。さらに、学習の過程で各層の表現が「情報平面」($I(X; h_l)$ vs $I(h_l; Y)$)上で特徴的な軌跡を描くことを観察しました。
ただし、この解析は決定論的なネットワーク(ReLU活性化関数など)では連続確率変数の相互情報量が無限大になるという問題があり、現在も活発な議論が続いています。
Pythonによるシミュレーションと検証
マルコフ連鎖でのDPIの数値的検証
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import entropy as sp_entropy
np.random.seed(42)
def mutual_info_discrete(X, Y, n_bins=30):
"""ヒストグラムによる相互情報量の推定"""
hist_xy, xedges, yedges = np.histogram2d(X, Y, bins=n_bins)
pxy = hist_xy / hist_xy.sum()
px = pxy.sum(axis=1)
py = pxy.sum(axis=0)
Hx = sp_entropy(px[px > 0])
Hy = sp_entropy(py[py > 0])
Hxy = sp_entropy(pxy.flatten()[pxy.flatten() > 0])
return max(Hx + Hy - Hxy, 0)
# マルコフ連鎖: X → Y → Z
N = 100000
X = np.random.normal(0, 1, N)
# 様々なノイズレベルでDPIを検証
sigma1_range = np.linspace(0.1, 3.0, 25)
sigma2 = 0.5
I_XY_list = []
I_XZ_list = []
I_YZ_list = []
for sigma1 in sigma1_range:
Y = X + np.random.normal(0, sigma1, N)
Z = Y + np.random.normal(0, sigma2, N)
I_XY_list.append(mutual_info_discrete(X, Y))
I_XZ_list.append(mutual_info_discrete(X, Z))
I_YZ_list.append(mutual_info_discrete(Y, Z))
fig, axes = plt.subplots(1, 3, figsize=(16, 5))
# 左: DPIの検証 I(X;Z) <= I(X;Y)
axes[0].plot(sigma1_range, I_XY_list, 'bo-', markersize=4, linewidth=1.5,
label='$I(X; Y)$')
axes[0].plot(sigma1_range, I_XZ_list, 'rs-', markersize=4, linewidth=1.5,
label='$I(X; Z)$')
axes[0].fill_between(sigma1_range, I_XZ_list, I_XY_list, alpha=0.2,
color='gray', label='Information loss')
axes[0].set_xlabel(r'Noise level $\sigma_1$')
axes[0].set_ylabel('Mutual Information (nats)')
axes[0].set_title('DPI: $I(X;Z) \\leq I(X;Y)$')
axes[0].legend()
axes[0].grid(True, alpha=0.3)
# 中: ガウスチャネルでの理論値との比較
sigma1_theory = np.linspace(0.1, 3.0, 100)
# I(X;Y) = 0.5 * log(1 + 1/sigma1^2) for X~N(0,1), Y=X+N(0,sigma1^2)
I_XY_theory = 0.5 * np.log(1 + 1 / sigma1_theory**2)
# I(X;Z) = 0.5 * log(1 + 1/(sigma1^2 + sigma2^2))
I_XZ_theory = 0.5 * np.log(1 + 1 / (sigma1_theory**2 + sigma2**2))
axes[1].plot(sigma1_theory, I_XY_theory, 'b-', linewidth=2,
label='$I(X;Y)$ theory')
axes[1].plot(sigma1_theory, I_XZ_theory, 'r-', linewidth=2,
label='$I(X;Z)$ theory')
axes[1].plot(sigma1_range, I_XY_list, 'b^', markersize=5, alpha=0.6,
label='$I(X;Y)$ estimated')
axes[1].plot(sigma1_range, I_XZ_list, 'rv', markersize=5, alpha=0.6,
label='$I(X;Z)$ estimated')
axes[1].set_xlabel(r'Noise level $\sigma_1$')
axes[1].set_ylabel('Mutual Information (nats)')
axes[1].set_title('Theory vs Estimation')
axes[1].legend(fontsize=9)
axes[1].grid(True, alpha=0.3)
# 右: 情報損失率
info_loss = [(ixy - ixz) / ixy if ixy > 0.01 else 0
for ixy, ixz in zip(I_XY_list, I_XZ_list)]
axes[2].plot(sigma1_range, info_loss, 'go-', markersize=4, linewidth=1.5)
axes[2].set_xlabel(r'Noise level $\sigma_1$')
axes[2].set_ylabel('Information loss ratio')
axes[2].set_title('$(I(X;Y) - I(X;Z)) / I(X;Y)$')
axes[2].grid(True, alpha=0.3)
axes[2].set_ylim(0, 1)
plt.tight_layout()
plt.show()
シミュレーション結果から、以下のことが読み取れます。
-
左図: すべてのノイズレベルで $I(X; Z) \leq I(X; Y)$ が成り立っています。灰色の領域が「$Y$ から $Z$ への処理で失われた情報量」を表しています。ノイズ $\sigma_1$ が大きいほど $I(X; Y)$ 自体が小さくなりますが、$I(X; Z) \leq I(X; Y)$ の関係は常に保たれます。
-
中図: ガウスチャネルの理論値(実線)と数値推定値(マーカー)がよく一致しています。ガウス分布の場合、$I(X; Y) = \frac{1}{2}\ln(1 + 1/\sigma_1^2)$ という解析公式があり、この公式との整合性が確認できます。
-
右図: 情報損失率は $\sigma_1$ が小さいとき($Y$ が $X$ に近いとき)に大きく、$\sigma_1$ が大きいとき($Y$ が $X$ から遠いとき)に小さくなる傾向があります。これは、$Y$ が高品質なら $Z$ への追加ノイズの影響が相対的に大きく、$Y$ がすでにノイジーなら追加ノイズの相対的影響は小さいことを反映しています。
十分統計量の検証
# 正規分布の十分統計量の検証
fig, axes = plt.subplots(1, 2, figsize=(12, 5))
n_trials = 50000
n_samples_range = [2, 5, 10, 20, 50, 100]
I_theta_X1 = [] # I(theta; X_1) — 1つのサンプルのみ
I_theta_Xbar = [] # I(theta; X_bar) — 標本平均
I_theta_S2 = [] # I(theta; S^2) — 標本分散(muの十分統計量ではない)
for n_s in n_samples_range:
theta = np.random.normal(0, 1, n_trials)
X_all = theta[:, np.newaxis] + np.random.normal(0, 1, (n_trials, n_s))
X1 = X_all[:, 0]
Xbar = X_all.mean(axis=1)
S2 = X_all.var(axis=1) if n_s > 1 else np.zeros(n_trials)
I_theta_X1.append(mutual_info_discrete(theta, X1, n_bins=40))
I_theta_Xbar.append(mutual_info_discrete(theta, Xbar, n_bins=40))
if n_s > 1:
I_theta_S2.append(mutual_info_discrete(theta, S2, n_bins=40))
else:
I_theta_S2.append(0)
# 左: 十分統計量 vs 不十分統計量
axes[0].plot(n_samples_range, I_theta_Xbar, 'bo-', markersize=6,
linewidth=2, label=r'$I(\theta; \bar{X})$ (sufficient)')
axes[0].plot(n_samples_range, I_theta_X1, 'rs--', markersize=6,
linewidth=2, label=r'$I(\theta; X_1)$ (single sample)')
axes[0].plot(n_samples_range, I_theta_S2, 'g^:', markersize=6,
linewidth=2, label=r'$I(\theta; S^2)$ (not sufficient for $\mu$)')
axes[0].set_xlabel('Sample size $n$')
axes[0].set_ylabel('Mutual Information (nats)')
axes[0].set_title('Information about $\\mu$: Sufficient vs Non-sufficient')
axes[0].legend(fontsize=9)
axes[0].grid(True, alpha=0.3)
# 右: BSCの直列結合
p1_range = np.linspace(0.01, 0.49, 50)
p2_values = [0.0, 0.05, 0.1, 0.2]
for p2 in p2_values:
p_cascade = p1_range * (1 - p2) + (1 - p1_range) * p2
# BSC容量
def bsc_capacity(p):
if p <= 0 or p >= 1:
return 0
return 1 + p * np.log2(p) + (1-p) * np.log2(1-p)
cap = [bsc_capacity(pc) for pc in p_cascade]
label = f'Cascade BSC($p_1$)+BSC({p2})' if p2 > 0 else f'Single BSC($p_1$)'
ls = '-' if p2 == 0 else '--'
axes[1].plot(p1_range, cap, ls, linewidth=2, label=label)
axes[1].set_xlabel('Error probability $p_1$')
axes[1].set_ylabel('Channel Capacity (bits)')
axes[1].set_title('DPI for Cascaded BSC Channels')
axes[1].legend(fontsize=9)
axes[1].grid(True, alpha=0.3)
plt.tight_layout()
plt.show()
左のグラフから、十分統計量と不十分統計量の違いが明確に読み取れます。
-
標本平均 $\bar{X}$: サンプルサイズ $n$ の増加とともに $I(\theta; \bar{X})$ が単調に増加しています。標本平均は $\mu$ に対する十分統計量であり、$n$ 個すべてのサンプルが持つ $\mu$ の情報をすべて保持しています。$n \to \infty$ では $I(\theta; \bar{X}) \to H(\theta) = \frac{1}{2}\ln(2\pi e) \approx 1.42$ ナットに漸近します。
-
単一サンプル $X_1$: $I(\theta; X_1)$ は $n$ によらず一定です($X_1$ は $n$ の値を知りません)。$n$ が大きいときの $I(\theta; \bar{X})$ と $I(\theta; X_1)$ の差は、十分統計量の情報量の優位性を示しています。
-
標本分散 $S^2$: $\mu$ が未知のとき、$S^2$ は $\mu$ の情報をほとんど持ちません($I(\theta; S^2)$ がほぼ0)。$S^2$ は $\sigma^2$ に対する十分統計量ですが、$\mu$ に対する十分統計量ではないのです。
右のグラフでは、BSCの直列結合によるチャネル容量の低下が確認できます。第2のBSCのエラー確率 $p_2$ が大きいほど、直列結合チャネルの容量は低下します。データ処理不等式の通信工学への直接的な応用です。
データ処理不等式の他の形式
フィッシャー情報量に対するDPI
フィッシャー情報量 $J(\theta)$ にも、データ処理不等式と類似した不等式が成り立ちます。
統計量 $T = T(\bm{X})$ に対して、
$$ J_T(\theta) \leq J_{\bm{X}}(\theta) $$
ここで $J_{\bm{X}}(\theta)$ は元のデータに基づくフィッシャー情報量、$J_T(\theta)$ は統計量 $T$ に基づくフィッシャー情報量です。等号は $T$ が十分統計量のときに成り立ちます。
この不等式とクラメール・ラオの下界 $\mathrm{Var}(\hat{\theta}) \geq 1/J(\theta)$ を組み合わせると、「十分統計量に基づく推定量が最も分散が小さい(最も精度が高い)推定量を構成できる」ことがわかります。
強データ処理不等式
通常のデータ処理不等式は $I(X; Z) \leq I(X; Y)$ ですが、特定の条件下では次の強データ処理不等式(strong DPI)が成り立ちます。
$$ I(X; Z) \leq \eta \cdot I(X; Y), \quad \eta < 1 $$
ここで $\eta = \eta(W)$ は通信チャネル $W: Y \to Z$ に依存する定数です。$\eta$ は縮約係数(contraction coefficient)と呼ばれ、チャネルの「情報を削減する度合い」を定量化します。
強データ処理不等式は、混合時間の解析やマルコフ連鎖の収束速度の評価に応用されます。
まとめ
本記事では、データ処理不等式と十分統計量の関連について解説しました。
- データ処理不等式: マルコフ連鎖 $X \to Y \to Z$ に対して $I(X; Z) \leq I(X; Y)$ が成り立つ。証明は連鎖律と非負性のみで完結する
- 等号条件: $I(X; Y \mid Z) = 0$ のとき等号が成立し、$Z$ が $X$ に関する $Y$ の情報をすべて保持している。これが十分統計量の情報論的定義
- 十分統計量: データ処理不等式で等号が成り立つ統計量であり、「情報を失わない圧縮」。フィッシャー・ネイマンの因数分解定理と整合する
- 通信チャネルの応用: 直列結合チャネルの容量は各チャネルの容量以下。チェーンの強さは最も弱いリンクで決まる
- f-ダイバージェンスへの一般化: すべてのf-ダイバージェンスがデータ処理不等式を満たす
データ処理不等式は「情報は処理によって増えない」という基本原理の厳密な定式化であり、情報理論・統計学・機械学習を貫く統一的な概念です。
次のステップとして、以下の記事も参考にしてください。
- 最大エントロピー原理と指数型分布族 — 制約つきエントロピー最大化
- フィッシャー情報幾何学入門 — 情報量の幾何学的な捉え方
- f-ダイバージェンスの統一理論 — すべてのf-ダイバージェンスに対するDPI
- 微分エントロピーと連続確率変数の情報量 — 連続変数の情報量