正規分布、ポアソン分布、二項分布、指数分布、ガンマ分布——これらの分布は一見まったく異なる形をしていますが、実は驚くべき共通構造を持っています。その共通構造を抽出し、統一的に扱う枠組みが指数型分布族(exponential family)です。
指数型分布族の概念は、次のような深い問いに答えてくれます。「なぜ最尤推定量が十分統計量だけで表せるのか」「なぜ特定の分布に対して共役事前分布が自然に存在するのか」「なぜ一般化線形モデル(GLM)が正規分布以外の応答変数にも拡張できるのか」——これらの答えは、指数型分布族の構造から統一的に導かれます。
指数型分布族を理解すると、以下のような応用が開けます。
- 統計的推定: 十分統計量の存在と最尤推定量の性質が自動的に導かれる
- ベイズ統計: 共役事前分布の構成が体系的にできる
- 一般化線形モデル(GLM): ロジスティック回帰・ポアソン回帰などの理論的基盤
- 情報幾何学: フィッシャー情報量とパラメータ空間の幾何学的構造
本記事では、指数型分布族の定義を与え、主要な分布が指数型であることを確認し、十分統計量やモーメントの性質を統一的に導出します。
本記事の内容
- 指数型分布族の定義と正準形
- 主要な分布(正規・ポアソン・二項・指数・ガンマ)の指数型表現
- 自然パラメータと十分統計量
- モーメントとキュムラントの計算
- 最尤推定量の統一的な導出
- ベイズ統計における共役事前分布
前提知識
この記事を読む前に、以下の記事を読んでおくと理解が深まります。
指数型分布族とは — 直感的な理解
共通構造の発見
正規分布、ポアソン分布、指数分布の確率密度(質量)関数を並べてみましょう。
$$ \text{正規}: \quad f(x|\mu) = \frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right) $$
$$ \text{ポアソン}: \quad P(x|\lambda) = \frac{\lambda^x e^{-\lambda}}{x!} $$
$$ \text{指数}: \quad f(x|\lambda) = \lambda e^{-\lambda x} $$
一見バラバラに見えますが、指数関数の中身を整理すると、すべて「パラメータと $x$ の関数の内積 + 対数正規化定数 + $x$ だけの関数」という構造を持っていることがわかります。
この共通構造を正準形(canonical form)で表すと、
$$ f(x|\boldsymbol{\eta}) = h(x)\exp\left(\boldsymbol{\eta}^T \bm{T}(x) – A(\boldsymbol{\eta})\right) $$
となります。ここで $\boldsymbol{\eta}$ は自然パラメータ、$\bm{T}(x)$ は十分統計量、$A(\boldsymbol{\eta})$ は対数分配関数です。
この同じ形で書ける分布の全体が指数型分布族です。形が同じであるために、推定理論や検定理論を一度だけ開発すれば、個々の分布に適用できるのです。
この直感を数学的に定式化しましょう。
指数型分布族の数学的定義
正準形(canonical form)
パラメータ $\boldsymbol{\theta} \in \Theta$ を持つ分布の族 $\{f(x|\boldsymbol{\theta})\}$ が指数型分布族であるとは、確率密度関数(または確率質量関数)が次の形に書けることをいいます。
$$ \begin{equation} f(x|\boldsymbol{\eta}) = h(x)\exp\left(\boldsymbol{\eta}^T \bm{T}(x) – A(\boldsymbol{\eta})\right) \end{equation} $$
ここで、
- $\boldsymbol{\eta} = \boldsymbol{\eta}(\boldsymbol{\theta}) \in \mathbb{R}^k$: 自然パラメータ(natural parameter, canonical parameter)
- $\bm{T}(x) = (T_1(x), \dots, T_k(x))^T$: 十分統計量(sufficient statistic)
- $A(\boldsymbol{\eta})$: 対数分配関数(log-partition function, cumulant function)
- $h(x) \geq 0$: 基底測度(base measure)
$A(\boldsymbol{\eta})$ は確率の正規化条件から決まります。
$$ A(\boldsymbol{\eta}) = \ln\int h(x)\exp\left(\boldsymbol{\eta}^T \bm{T}(x)\right) dx $$
自然パラメータ空間 $\mathcal{N} = \{\boldsymbol{\eta} : A(\boldsymbol{\eta}) < \infty\}$ は凸集合であることが示せます。
対数分配関数の重要性
$A(\boldsymbol{\eta})$ は単なる正規化定数ではなく、分布のモーメントを生成する機能を持っています。これがこの関数の名前に「キュムラント関数」(cumulant function)が使われる理由です。
次に、主要な分布が指数型であることを確認しましょう。
主要な分布の指数型表現
正規分布 $N(\mu, \sigma^2)$($\sigma^2$ 既知)
$$ f(x|\mu) = \frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right) $$
指数部分を展開すると、
$$ = \frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{x^2}{2\sigma^2}\right)\exp\left(\frac{\mu}{\sigma^2}x – \frac{\mu^2}{2\sigma^2}\right) $$
指数型の同定: $\eta = \mu/\sigma^2$, $T(x) = x$, $A(\eta) = \sigma^2\eta^2/2 = \mu^2/(2\sigma^2)$, $h(x) = \frac{1}{\sqrt{2\pi\sigma^2}}e^{-x^2/(2\sigma^2)}$
ポアソン分布 $\text{Poisson}(\lambda)$
$$ P(x|\lambda) = \frac{\lambda^x e^{-\lambda}}{x!} = \frac{1}{x!}\exp(x\ln\lambda – \lambda) $$
$\eta = \ln\lambda$, $T(x) = x$, $A(\eta) = e^{\eta} = \lambda$, $h(x) = 1/x!$
二項分布 $\text{Bin}(n, p)$($n$ 既知)
$$ P(x|p) = \binom{n}{x}p^x(1-p)^{n-x} = \binom{n}{x}\exp\left(x\ln\frac{p}{1-p} + n\ln(1-p)\right) $$
$\eta = \ln\frac{p}{1-p}$(ロジット関数), $T(x) = x$, $A(\eta) = n\ln(1+e^{\eta})$, $h(x) = \binom{n}{x}$
指数分布 $\text{Exp}(\lambda)$
$$ f(x|\lambda) = \lambda e^{-\lambda x} = \exp(-\lambda x + \ln\lambda) $$
$\eta = -\lambda$, $T(x) = x$, $A(\eta) = -\ln(-\eta) = \ln\lambda$, $h(x) = 1$
ガンマ分布 $\text{Gamma}(\alpha, \beta)$($\alpha$ 既知)
$$ f(x|\beta) = \frac{x^{\alpha-1}e^{-x/\beta}}{\beta^{\alpha}\Gamma(\alpha)} $$
$\eta = -1/\beta$, $T(x) = x$, $A(\eta) = -\alpha\ln(-\eta) = \alpha\ln\beta$, $h(x) = x^{\alpha-1}/\Gamma(\alpha)$
このように、主要な分布がすべて同じ形に統一できることが確認できました。
次に、対数分配関数 $A(\boldsymbol{\eta})$ の微分がモーメントを生成するという重要な性質を見ましょう。
対数分配関数とモーメント
1次微分 = 期待値
対数分配関数の自然パラメータに関する1次微分は、十分統計量の期待値を与えます。
$$ \begin{equation} \frac{\partial A(\boldsymbol{\eta})}{\partial \eta_i} = E[T_i(X)] \end{equation} $$
証明: 正規化条件 $\int h(x)\exp(\boldsymbol{\eta}^T\bm{T}(x) – A(\boldsymbol{\eta}))\,dx = 1$ の両辺を $\eta_i$ で微分します。
$$ \int h(x)\left(T_i(x) – \frac{\partial A}{\partial \eta_i}\right)\exp(\boldsymbol{\eta}^T\bm{T}(x) – A(\boldsymbol{\eta}))\,dx = 0 $$
これは $E[T_i(X)] – \frac{\partial A}{\partial \eta_i} = 0$ を意味します。$\square$
2次微分 = 分散
$$ \begin{equation} \frac{\partial^2 A(\boldsymbol{\eta})}{\partial \eta_i \partial \eta_j} = \text{Cov}(T_i(X), T_j(X)) \end{equation} $$
特に $i = j$ のとき $\frac{\partial^2 A}{\partial \eta_i^2} = \text{Var}(T_i(X)) > 0$。したがって $A(\boldsymbol{\eta})$ は凸関数です。
具体例: ポアソン分布
ポアソン分布で $A(\eta) = e^{\eta}$($\eta = \ln\lambda$)のとき、
$$ \frac{\partial A}{\partial \eta} = e^{\eta} = \lambda = E[X] \quad \checkmark $$
$$ \frac{\partial^2 A}{\partial \eta^2} = e^{\eta} = \lambda = \text{Var}(X) \quad \checkmark $$
対数分配関数の微分だけで、期待値も分散も求まるのです。
十分統計量と最尤推定
十分統計量
指数型分布族において、$\bm{T}(x)$ は $\boldsymbol{\theta}$ に対する十分統計量です。これはフィッシャー・ネイマンの分解定理から直ちに従います。
$f(x|\boldsymbol{\theta}) = h(x) \cdot g(\bm{T}(x), \boldsymbol{\theta})$ の形に分解できることが十分統計量の条件であり、指数型の定義式がまさにこの形をしています。
十分統計量 $\bm{T}(x)$ は「パラメータ $\boldsymbol{\theta}$ に関するデータ $x$ の情報をすべて含んでいる」統計量です。$n$ 個のデータ $x_1, \dots, x_n$ に対して、$\sum_{i=1}^n \bm{T}(x_i)$ が十分統計量となります。
最尤推定量の統一的導出
i.i.d. サンプル $x_1, \dots, x_n$ の対数尤度は
$$ \ell(\boldsymbol{\eta}) = \boldsymbol{\eta}^T\left(\sum_{i=1}^n \bm{T}(x_i)\right) – nA(\boldsymbol{\eta}) + \text{const} $$
微分をゼロとおくと、最尤推定量は次の方程式を満たします。
$$ \begin{equation} \nabla A(\hat{\boldsymbol{\eta}}) = \frac{1}{n}\sum_{i=1}^n \bm{T}(x_i) \end{equation} $$
左辺は $E[\bm{T}(X)]$ であり、右辺は $\bm{T}(X)$ のサンプル平均です。つまり、指数型分布族の最尤推定は「モーメントマッチング」(十分統計量の理論値とサンプル値を一致させる)に帰着するのです。
$A$ が凸なので、最尤解が存在すれば一意です。
Pythonによる可視化
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
fig, axes = plt.subplots(2, 2, figsize=(14, 11))
# (a) 対数分配関数 A(η) の可視化
ax = axes[0, 0]
# ポアソン: A(η) = exp(η)
eta = np.linspace(-2, 3, 200)
A_poisson = np.exp(eta)
ax.plot(eta, A_poisson, "b-", linewidth=2, label=r"Poisson: $A(\eta) = e^{\eta}$")
# 正規(σ²=1): A(η) = η²/2
A_normal = eta**2 / 2
ax.plot(eta, A_normal, "r-", linewidth=2, label=r"Normal ($\sigma^2=1$): $A(\eta) = \eta^2/2$")
# 二項(n=10): A(η) = 10 ln(1+e^η)
A_binom = 10 * np.log(1 + np.exp(eta))
ax.plot(eta, A_binom, "g-", linewidth=2, label=r"Binomial ($n=10$): $A(\eta) = 10\ln(1+e^{\eta})$")
ax.set_xlabel(r"Natural parameter $\eta$", fontsize=12)
ax.set_ylabel(r"$A(\eta)$", fontsize=12)
ax.set_title("Log-partition functions (all convex)", fontsize=13)
ax.legend(fontsize=9)
ax.grid(True, alpha=0.3)
# (b) 対数分配関数の微分 = 期待値
ax = axes[0, 1]
dA_poisson = np.exp(eta) # = λ = E[X]
dA_normal = eta # = μ = E[X]
dA_binom = 10 / (1 + np.exp(-eta)) # = np/(1-p) ? → = np
ax.plot(eta, dA_poisson, "b-", linewidth=2, label=r"Poisson: $A'(\eta) = \lambda$")
ax.plot(eta, dA_normal, "r-", linewidth=2, label=r"Normal: $A'(\eta) = \mu$")
ax.plot(eta, dA_binom, "g-", linewidth=2, label=r"Binomial: $A'(\eta) = np$")
ax.set_xlabel(r"$\eta$", fontsize=12)
ax.set_ylabel(r"$A'(\eta) = E[T(X)]$", fontsize=12)
ax.set_title("First derivative = Mean of sufficient statistic", fontsize=13)
ax.legend(fontsize=9)
ax.grid(True, alpha=0.3)
# (c) さまざまな分布の統一的な表示
ax = axes[1, 0]
x_cont = np.linspace(-4, 10, 500)
x_disc = np.arange(0, 15)
# 正規(2,1)
ax.plot(x_cont, stats.norm.pdf(x_cont, 2, 1), "r-", linewidth=2,
label=r"Normal($\mu=2$)")
# ポアソン(3)
ax.plot(x_disc, stats.poisson.pmf(x_disc, 3), "bo-", linewidth=1.5,
markersize=5, label=r"Poisson($\lambda=3$)")
# 指数(0.5)
ax.plot(x_cont[x_cont>=0], stats.expon.pdf(x_cont[x_cont>=0], scale=2),
"g-", linewidth=2, label=r"Exp($\lambda=0.5$)")
ax.set_xlabel("x", fontsize=12)
ax.set_ylabel("f(x) or P(X=x)", fontsize=12)
ax.set_title("Members of the exponential family", fontsize=13)
ax.legend(fontsize=10)
ax.set_xlim(-4, 12)
ax.grid(True, alpha=0.3)
# (d) MLE: モーメントマッチングの可視化
ax = axes[1, 1]
np.random.seed(42)
# ポアソン分布からのサンプル
lambda_true = 4.5
data = np.random.poisson(lambda_true, 50)
# 対数尤度
lambda_range = np.linspace(1, 8, 200)
loglik = np.sum(data) * np.log(lambda_range) - len(data) * lambda_range
ax.plot(lambda_range, loglik, "b-", linewidth=2)
lambda_mle = np.mean(data)
ax.axvline(lambda_mle, color="red", linewidth=2, linestyle="--",
label=rf"MLE: $\hat{{\lambda}} = \bar{{x}} = {lambda_mle:.2f}$")
ax.axvline(lambda_true, color="green", linewidth=1.5, linestyle=":",
label=rf"True: $\lambda = {lambda_true}$")
ax.set_xlabel(r"$\lambda$", fontsize=12)
ax.set_ylabel("Log-likelihood", fontsize=12)
ax.set_title("MLE = moment matching for Poisson", fontsize=13)
ax.legend(fontsize=10)
ax.grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig("exponential_family.png", dpi=150, bbox_inches="tight")
plt.show()
このグラフから、指数型分布族の統一的な構造が読み取れます。
-
左上: 対数分配関数 $A(\eta)$ はすべて凸関数 。ポアソン(指数関数)、正規(二次関数)、二項(ソフトプラス関数)のいずれも下に凸です。この凸性が最尤推定の一意性を保証します
-
右上: $A'(\eta)$ は十分統計量の期待値 。$A$ の1次微分で期待値が、2次微分で分散が計算できます。これは指数型分布族の最も実用的な性質です
-
左下: 正規分布・ポアソン分布・指数分布は見た目は異なるが同じ「指数型」 。統一的な枠組みのもとで推定・検定の理論が共通化できます
-
右下: ポアソン分布のMLEは $\hat{\lambda} = \bar{x}$(サンプル平均) 。これはモーメントマッチング $A'(\hat{\eta}) = \bar{T}$ の特殊ケースです
ベイズ統計における共役事前分布
指数型分布族に対しては、共役事前分布が体系的に構成できます。
尤度が $f(x|\boldsymbol{\eta}) \propto \exp(\boldsymbol{\eta}^T\bm{T}(x) – A(\boldsymbol{\eta}))$ のとき、
$$ \begin{equation} \pi(\boldsymbol{\eta}|\boldsymbol{\chi}, \nu) \propto \exp\left(\boldsymbol{\eta}^T\boldsymbol{\chi} – \nu A(\boldsymbol{\eta})\right) \end{equation} $$
が共役事前分布です。ハイパーパラメータ $\boldsymbol{\chi}$ と $\nu$ はそれぞれ「仮想データの十分統計量の和」と「仮想サンプルサイズ」の解釈を持ちます。
$n$ 個のデータ $x_1, \dots, x_n$ を観測した後の事後分布は、
$$ \pi(\boldsymbol{\eta}|\text{data}) \propto \exp\left(\boldsymbol{\eta}^T(\boldsymbol{\chi} + \sum \bm{T}(x_i)) – (n + \nu)A(\boldsymbol{\eta})\right) $$
同じ形を保っており、ハイパーパラメータが $\boldsymbol{\chi} \to \boldsymbol{\chi} + \sum \bm{T}(x_i)$, $\nu \to \nu + n$ と更新されるだけです。
まとめ
本記事では、指数型分布族の統一理論を解説しました。
- 指数型分布族は $f(x|\boldsymbol{\eta}) = h(x)\exp(\boldsymbol{\eta}^T\bm{T}(x) – A(\boldsymbol{\eta}))$ という正準形で定義される
- 正規分布・ポアソン分布・二項分布・指数分布・ガンマ分布はすべて指数型分布族に属する
- 対数分配関数 $A(\boldsymbol{\eta})$ の微分で期待値と分散が計算でき、$A$ は常に凸関数
- 最尤推定量は $\nabla A(\hat{\boldsymbol{\eta}}) = \bar{\bm{T}}$ というモーメントマッチング方程式の解
- 共役事前分布が体系的に構成でき、事後分布はハイパーパラメータの更新で表される
次のステップとして、以下の記事も参考にしてください。