「もっと上手い推定方法があるのではないか?」 ── 統計学を学んでいると、この疑問を抱くかもしれない。標本平均より良い推定量は存在するのか? どこまで精度を上げられるのか?
この問いに対する答えを与えたのがクラメール・ラオの不等式(Cramér-Rao inequality)である。1945年にインドの統計学者 C. R. Rao が、1946年にスウェーデンの数学者 Harald Cramér が独立に発見した。この不等式は「どんなに賢い推定方法を考えても、不偏推定量の分散には超えられない下限がある」ことを示す。
その下限はフィッシャー情報量の逆数で与えられる。そして、この下限を達成する推定量を有効推定量と呼び、ある意味で「最良」の推定量となる。
クラメール・ラオの不等式
パラメータ \theta をもつ分布から独立同一に得られた標本 X_1, \ldots, X_n を考える。\theta の不偏推定量 \hat{\theta} に対して、適当な正則条件のもとで以下の不等式が成り立つ。
ここで I_n(\theta) は標本サイズ n に対するフィッシャー情報量である。独立同一標本の場合は I_n(\theta) = nI_1(\theta) となるので、不等式は次のようにも書ける。
この不等式の右辺をクラメール・ラオの下限(Cramér-Rao lower bound, CRLB)と呼ぶ。
不偏推定量をどのように構成しても、その分散をフィッシャー情報量の逆数より小さくすることはできない。データに含まれる情報には限りがあり、推定精度には理論的限界が存在する。
有効推定量
クラメール・ラオの不等式で等号が成立する不偏推定量、すなわち
を満たす推定量を有効推定量(efficient estimator)という。
有効推定量は、すべての不偏推定量の中で分散が最小である。したがって、有効推定量は一様最小分散不偏推定量(UMVUE: Uniformly Minimum Variance Unbiased Estimator)でもある。
すべての分布に有効推定量が存在するわけではない。クラメール・ラオの不等式の等号を達成する不偏推定量が存在しない分布もある。その場合でも、不等式自体は成り立つ。
不等式の証明
証明のキーアイデアはコーシー・シュワルツの不等式の応用である。
準備:スコア関数の性質
スコア関数 s(X; \theta) = \dfrac{\partial}{\partial \theta} \log f(X; \theta) について、以下が成り立つ。
これは \int f(x; \theta) dx = 1 の両辺を \theta で微分することで示せる(詳細はフィッシャー情報量を参照)。
証明の本体
\hat{\theta} を \theta の不偏推定量とする。すなわち E[\hat{\theta}] = \theta である。両辺を \theta で微分すると
左辺を計算する。\dfrac{\partial f}{\partial \theta} = f \cdot \dfrac{\partial \log f}{\partial \theta} = f \cdot s を使うと
よって E[\hat{\theta} \cdot s(X; \theta)] = 1 が成り立つ。
ここで E[s] = 0 より、E[\hat{\theta} \cdot s] = E[(\hat{\theta} - \theta) \cdot s] となる。これは \hat{\theta} - \theta と s の共分散 \text{Cov}[\hat{\theta}, s] に等しい。
コーシー・シュワルツの不等式 \text{Cov}[X, Y]^2 \leq V[X] \cdot V[Y] より
したがって
これがクラメール・ラオの不等式である。
等号成立条件
コーシー・シュワルツの不等式で等号が成立するのは、2つの確率変数が線形関係にあるときである。すなわち
が成り立つとき、有効推定量となる。
例1:ベルヌーイ分布
成功確率 p のベルヌーイ分布から独立に n 個の標本を得る。
フィッシャー情報量
1標本のフィッシャー情報量は I_1(p) = \dfrac{1}{p(1-p)} である。したがって
クラメール・ラオの下限
標本比率の分散
p の不偏推定量として標本比率 \hat{p} = \dfrac{1}{n}\sum_{i=1}^{n} X_i を考える。その分散は
これはクラメール・ラオの下限と一致する。したがって、標本比率はベルヌーイ分布のパラメータ p の有効推定量である。
例2:ポアソン分布
期待値パラメータ \lambda のポアソン分布から独立に n 個の標本を得る。
フィッシャー情報量
1標本のフィッシャー情報量は I_1(\lambda) = \dfrac{1}{\lambda} である。したがって
クラメール・ラオの下限
標本平均の分散
\lambda の不偏推定量として標本平均 \bar{X} = \dfrac{1}{n}\sum_{i=1}^{n} X_i を考える。ポアソン分布では V[X_i] = \lambda なので
これはクラメール・ラオの下限と一致する。したがって、標本平均はポアソン分布のパラメータ \lambda の有効推定量である。
例3:正規分布
平均 \mu、分散 \sigma^2(既知)の正規分布から独立に n 個の標本を得る。
フィッシャー情報量
\mu に関する1標本のフィッシャー情報量は I_1(\mu) = \dfrac{1}{\sigma^2} である。したがって
クラメール・ラオの下限
標本平均の分散
\mu の不偏推定量として標本平均 \bar{X} を考える。その分散は
これはクラメール・ラオの下限と一致する。したがって、標本平均は正規分布の平均 \mu の有効推定量である。
有効推定量が存在しない例
すべてのパラメータに有効推定量が存在するわけではない。正規分布の分散 \sigma^2 の推定を考えよう。
フィッシャー情報量
\sigma^2 に関するフィッシャー情報量は I_1(\sigma^2) = \dfrac{1}{2\sigma^4} であり
クラメール・ラオの下限
不偏分散の分散
\sigma^2 の不偏推定量である不偏分散 s^2 = \dfrac{1}{n-1}\sum_{i=1}^{n}(X_i - \bar{X})^2 の分散は
これをクラメール・ラオの下限と比較すると
不偏分散の分散は下限より大きい。実は、正規分布における \sigma^2 の有効推定量は存在しないことが知られている。不偏分散は UMVUE であるが、クラメール・ラオの下限を達成しない。
練習問題
対数尤度関数は \log f(x; \lambda) = \log \lambda - \lambda x
\dfrac{\partial^2}{\partial \lambda^2} \log f = -\dfrac{1}{\lambda^2}
よって I_1(\lambda) = \dfrac{1}{\lambda^2}、I_n(\lambda) = \dfrac{n}{\lambda^2}
クラメール・ラオの下限は \dfrac{\lambda^2}{n}
\hat{\lambda} = \dfrac{1}{\bar{X}} について、E\left[\dfrac{1}{\bar{X}}\right] \neq \lambda であり不偏推定量ではない。したがって有効推定量の議論の対象外である。
なお、\dfrac{n-1}{n\bar{X}} とすれば不偏推定量になるが、この分散もクラメール・ラオの下限を達成しない。
クラメール・ラオの下限は \dfrac{p(1-p)}{n}
p = 0.3 を代入すると \dfrac{0.3 \times 0.7}{100} = \dfrac{0.21}{100} = 0.0021
標準誤差の下限は \sqrt{0.0021} \approx 0.0458
標本比率は有効推定量なので、この下限は実際に達成される。
g(\lambda) = \lambda^2 より g'(\lambda) = 2\lambda
ポアソン分布のフィッシャー情報量は I_n(\lambda) = \dfrac{n}{\lambda}
クラメール・ラオの下限は \dfrac{(2\lambda)^2}{\dfrac{n}{\lambda}} = \dfrac{4\lambda^3}{n}
まとめ
| 概念 | 定義・説明 |
|---|---|
| クラメール・ラオの不等式 | V[\hat{\theta}] \geq \dfrac{1}{I_n(\theta)} |
| クラメール・ラオの下限 | \dfrac{1}{I_n(\theta)}(不偏推定量の分散の下限) |
| 有効推定量 | 下限を達成する不偏推定量(= UMVUE) |
| 分布 | パラメータ | フィッシャー情報量 | CRLB | 有効推定量 |
|---|---|---|---|---|
| ベルヌーイ | p | \dfrac{n}{p(1-p)} | \dfrac{p(1-p)}{n} | 標本比率 ○ |
| ポアソン | \lambda | \dfrac{n}{\lambda} | \dfrac{\lambda}{n} | 標本平均 ○ |
| 正規(\sigma^2既知) | \mu | \dfrac{n}{\sigma^2} | \dfrac{\sigma^2}{n} | 標本平均 ○ |
| 正規 | \sigma^2 | \dfrac{n}{2\sigma^4} | \dfrac{2\sigma^4}{n} | 存在しない |
Pythonで検証する
シミュレーションで、各分布の標本平均(または標本比率)の分散がクラメール・ラオの下限に一致することを確認する。
import numpy as np
np.random.seed(42)
n_sim = 10000 # シミュレーション回数
print("=== クラメール・ラオの不等式の検証 ===\n")
# ========== ベルヌーイ分布 ==========
print("【ベルヌーイ分布】")
p_true = 0.3
n = 50
sample_proportions = []
for _ in range(n_sim):
data = np.random.binomial(1, p_true, n)
sample_proportions.append(data.mean())
crlb_bernoulli = p_true * (1 - p_true) / n
var_empirical = np.var(sample_proportions)
print(f" 真のパラメータ: p = {p_true}")
print(f" サンプルサイズ: n = {n}")
print(f" クラメール・ラオの下限: {crlb_bernoulli:.6f}")
print(f" 標本比率の分散(実測): {var_empirical:.6f}")
print(f" → 下限を達成: {'○' if abs(var_empirical - crlb_bernoulli) < 0.0005 else '×'}")
print()
# ========== ポアソン分布 ==========
print("【ポアソン分布】")
lambda_true = 4.0
n = 30
sample_means_poisson = []
for _ in range(n_sim):
data = np.random.poisson(lambda_true, n)
sample_means_poisson.append(data.mean())
crlb_poisson = lambda_true / n
var_empirical = np.var(sample_means_poisson)
print(f" 真のパラメータ: λ = {lambda_true}")
print(f" サンプルサイズ: n = {n}")
print(f" クラメール・ラオの下限: {crlb_poisson:.6f}")
print(f" 標本平均の分散(実測): {var_empirical:.6f}")
print(f" → 下限を達成: {'○' if abs(var_empirical - crlb_poisson) < 0.01 else '×'}")
print()
# ========== 正規分布(平均の推定) ==========
print("【正規分布(平均μの推定)】")
mu_true = 5.0
sigma2_true = 4.0
n = 20
sample_means_normal = []
for _ in range(n_sim):
data = np.random.normal(mu_true, np.sqrt(sigma2_true), n)
sample_means_normal.append(data.mean())
crlb_normal_mu = sigma2_true / n
var_empirical = np.var(sample_means_normal)
print(f" 真のパラメータ: μ = {mu_true}, σ² = {sigma2_true}")
print(f" サンプルサイズ: n = {n}")
print(f" クラメール・ラオの下限: {crlb_normal_mu:.6f}")
print(f" 標本平均の分散(実測): {var_empirical:.6f}")
print(f" → 下限を達成: {'○' if abs(var_empirical - crlb_normal_mu) < 0.02 else '×'}")
print()
# ========== 正規分布(分散の推定) ==========
print("【正規分布(分散σ²の推定)】")
unbiased_vars = []
for _ in range(n_sim):
data = np.random.normal(mu_true, np.sqrt(sigma2_true), n)
unbiased_vars.append(data.var(ddof=1))
crlb_normal_sigma2 = 2 * sigma2_true**2 / n
var_empirical = np.var(unbiased_vars)
var_theoretical = 2 * sigma2_true**2 / (n - 1)
print(f" 真のパラメータ: σ² = {sigma2_true}")
print(f" サンプルサイズ: n = {n}")
print(f" クラメール・ラオの下限: {crlb_normal_sigma2:.4f}")
print(f" 不偏分散の分散(理論): {var_theoretical:.4f}")
print(f" 不偏分散の分散(実測): {var_empirical:.4f}")
print(f" → 下限を達成しない(有効推定量は存在しない)")
シミュレーション結果から、ベルヌーイ・ポアソン・正規分布(平均)では標本平均(標本比率)の分散がクラメール・ラオの下限に一致し、有効推定量であることが確認できた。一方、正規分布の分散については下限を達成しない。