統計の教科書を開くと、正規分布、ベルヌーイ分布、ポアソン分布、ガンマ分布……と、ばらばらに見える分布が次々に出てきます。それぞれ別の確率密度関数を持ち、平均や分散の公式も、最尤推定の式も、ベイズ更新のやり方も違う。覚えることが多すぎて、統計が「公式の暗記ゲーム」に見えてしまった経験はないでしょうか。
ところが、これらの分布の大半は、たった一つの共通の型に流し込めます。
$$ p(x \mid \theta) = h(x)\,\exp\!\big(\eta(\theta)^{\top} T(x) – A(\theta)\big) $$
この型に当てはまる分布の集まりを 指数型分布族(exponential family) と呼びます。正規もベルヌーイもポアソンも、$h(x)$、$\eta$、$T(x)$、$A$ という4つの部品の中身を入れ替えただけの「同じ式」なのです。一度この枠組みを身につけると、個々の分布をばらばらに覚える必要がなくなり、「平均はどう計算する?」「最尤推定の式は?」「共役事前分布は?」といった問いに、分布ごとではなく一括で答えられるようになります。
この統一枠組みは、現代の統計・機械学習の至るところで土台になっています。たとえば、ロジスティック回帰やポアソン回帰をまとめて扱う一般化線形モデル(GLM)は、応答変数が指数型分布族であることを前提に組み立てられています。また、ベイズ統計で計算が一気に楽になる共役事前分布は、尤度が指数型であることから自動的に導けます。さらに、変分推論や情報幾何といった先端的な理論も、指数型分布族の性質を骨格にしています。
本記事の内容
- なぜ多くの分布が一つの式に統一できるのか、その直感
- 指数型分布族の定義と、自然パラメータ・十分統計量・対数分配関数の意味
- 対数分配関数を微分すると平均・分散が出る($A’=E[T]$, $A”=\mathrm{Var}[T]$)という美しい性質の導出
- 正規・ベルヌーイ・ポアソンを実際に指数型に書き直す
- 最尤推定がなぜ「モーメントを合わせるだけ」になるのか
- 共役事前分布の自動構成、最大エントロピー原理との関係、GLMの基礎
- Pythonで対数分配関数の微分と最尤推定を数値検証する
前提知識
この記事を読む前に、以下の記事を読んでおくと理解が深まります。
なぜ一つの式で多くの分布が統一できるのか
まず、統一の「うれしさ」を体感するところから始めましょう。たとえば「データから分布のパラメータを最尤推定する」という作業を、分布ごとにやると次のようになります。
- ベルヌーイなら、表が出た割合 $\hat\mu = k/n$ を計算する。
- ポアソンなら、観測値の平均 $\hat\lambda = \bar x$ を計算する。
- 正規(分散既知)なら、観測値の平均 $\hat\mu = \bar x$ を計算する。
並べてみると、どれも「観測値(か、その何らかの変換)の平均を取る」という同じ作業に見えてきます。これは偶然ではありません。これらの分布が指数型分布族という同じ構造を共有しているからこそ、推定のレシピまで共通になるのです。
指数型分布族のアイデアを一言でいうと、「確率を、データの要約 $T(x)$ とパラメータの線形な組み合わせ $\eta \cdot T(x)$ で表し、それを指数関数に通したもの」です。指数関数を使うのには理由があります。確率は必ず正の値を取らねばならず、指数関数 $\exp(\cdot)$ はどんな実数を入れても正の値を返すからです。負になりかねない線形結合 $\eta \cdot T(x)$ を、指数関数というフィルタに通すことで、自然に正値の確率に変換しているわけです。
下の図は、この枠組みが包含する代表的な分布を一望したものです。

この図から、指数型分布族の守備範囲の広さが読み取れます。離散分布(ベルヌーイ・ポアソン・カテゴリカル)も連続分布(正規・ガンマ・指数・ベータ)も、同じ楕円の中に同居しています。一方で、台がパラメータに依存する一様分布や、裾の重い $t$ 分布のように、この枠組みに入らない分布も存在します。「ほとんどの教科書的な分布は指数型、ただし全部ではない」という感覚を持っておくとよいでしょう。
では、この「同じ式」の中身を具体的に見ていきましょう。まずは正準形(標準形)の構造を分解します。
指数型分布族の定義
冷たい定義式をいきなり置く前に、もう一度この式が「何を組み立てているか」を確認します。指数型分布族の確率密度(または確率質量)は、4つの部品の掛け合わせでできています。
$$ \begin{equation} p(x \mid \eta) = h(x)\,\exp\!\big(\eta^{\top} T(x) – A(\eta)\big) \end{equation} $$
ここで各記号は次の役割を担います。
- $x$: 観測される確率変数(スカラーでもベクトルでもよい)。
- $h(x)$: 基底測度(base measure)。$x$ だけに依存し、パラメータには依存しない因子。分布の「土台の形」を整える役割。
- $\eta$: 自然パラメータ(natural parameter)、または正準パラメータ。分布族の中の「どれか一つ」を指定するつまみ。
- $T(x)$: 十分統計量(sufficient statistic)。データを要約した量で、これさえあればパラメータ推定に必要な情報がすべて揃う。
- $A(\eta)$: 対数分配関数(log-partition function)、または累積量母関数。確率の総和(積分)を1にするための規格化を担う。
下の図は、この4部品が式のどこに対応するかを示したものです。

この図から、指数型分布族が「役割の異なる4つの部品の組み合わせ」であることがはっきりします。$h(x)$ と $T(x)$ は $x$ の関数、$\eta$ はパラメータ、$A(\eta)$ はその二つをつなぐ規格化項です。分布が違っても、この4部品の「役割分担」は変わりません。変わるのは中身だけです。
自然形(natural form)と曲指数型
式 (1) のように、自然パラメータ $\eta$ が $T(x)$ と直接掛かっている形を 自然形 または 正準形(canonical form) と呼びます。多くの分布では、元のパラメータ $\theta$(たとえばベルヌーイの $\mu$)と自然パラメータ $\eta$ は1対1で対応し、$\eta = \eta(\theta)$ という変数変換でつながっています。
なお、$\eta$ の次元と $T(x)$ の次元が一致し、両者が自由に動ける場合を 完全指数型、$\eta$ の成分どうしに制約がある場合を 曲指数型(curved exponential family) と呼びます。本記事では主に完全指数型を扱います。
対数分配関数 $A(\eta)$ の正体
$A(\eta)$ がなぜ「規格化を担う」のかを確認しておきましょう。確率の総和(積分)が1になる条件から、
$$ \int h(x)\,\exp\!\big(\eta^{\top} T(x) – A(\eta)\big)\, dx = 1 $$
が成り立たねばなりません。$A(\eta)$ は $x$ に依存しないので積分の外に出せて、
$$ \exp(-A(\eta)) \int h(x)\,\exp\!\big(\eta^{\top} T(x)\big)\, dx = 1 $$
となります。これを $A(\eta)$ について解くと、
$$ \begin{equation} A(\eta) = \log \int h(x)\,\exp\!\big(\eta^{\top} T(x)\big)\, dx \end{equation} $$
が得られます。つまり $A(\eta)$ は「規格化される前の重み $h(x)\exp(\eta^\top T(x))$ を全空間で積分した量(分配関数 $Z(\eta)$)の対数」です。だから「対数分配関数」と呼ばれるわけです。この一見地味な関数が、実は分布のすべての情報を握っていることを、次のセクションで見ていきます。
自然パラメータ $\eta$ を動かすと、分布族の中をどう動くのか。それを次に可視化します。
自然パラメータと十分統計量
自然パラメータが分布を指定する
自然パラメータ $\eta$ は、分布族の中から特定の一つを選び出す「つまみ」です。$\eta$ をぐるぐる回すと、同じ族の中でさまざまな分布が現れます。下の図で、ベルヌーイとポアソンの2例を見てみましょう。

この図から、$\eta$ と分布の関係が読み取れます。左のベルヌーイでは、自然パラメータ $\eta$(対数オッズ)を $-\infty$ から $+\infty$ まで動かすと、平均 $\mu = E[x]$ がシグモイド曲線を描いて $0$ から $1$ へなめらかに変化します。右のポアソンでは、$\eta = \log\lambda$ を大きくするほど分布の山が右へ移動し、平均が増えていきます。どちらも「$\eta$ という実数のつまみ一つで、分布が連続的に変わる」点が共通しています。
十分統計量はデータを要約する
$T(x)$ が「十分統計量」と呼ばれるのは、パラメータの推定に必要な情報を、$T(x)$ がすべて含んでいるからです。もう少し正確に言うと、$n$ 個の独立同分布なデータ $x_1, \dots, x_n$ があるとき、その同時尤度は
$$ \begin{aligned} p(x_1, \dots, x_n \mid \eta) &= \prod_{i=1}^{n} h(x_i)\,\exp\!\big(\eta^{\top} T(x_i) – A(\eta)\big) \\ &= \Big(\prod_{i=1}^{n} h(x_i)\Big)\,\exp\!\Big(\eta^{\top} \sum_{i=1}^{n} T(x_i) – n A(\eta)\Big) \end{aligned} $$
となります。ここで指数の中の $\sum_i T(x_i)$ に注目してください。$\eta$ が掛かっているのは、個々のデータ $x_i$ ではなく、その十分統計量の総和 $\sum_i T(x_i)$ だけです。つまり、パラメータ $\eta$ について尤度がどう変化するかは、$\sum_i T(x_i)$ と $n$ という2つの数だけで完全に決まります。100万個のデータがあっても、$\sum_i T(x_i)$ さえ計算してしまえば、生データはもう捨てても推定には困りません。これが「十分」の意味です。
下の図で、この威力を確かめます。

この図から、十分統計量がデータを劇的に圧縮することがわかります。左の40個の生データは、右では「$\sum T(x_i)$ と $n$」というたった2つの数に要約され、それだけで尤度曲線(と最尤推定値)が一意に定まっています。仮にまったく別の40点でも、$\sum T(x_i)$ が同じなら尤度は寸分違わず同じになります。データの「どこに情報があるか」を $T(x)$ がピンポイントで抜き出している、と捉えてください。十分統計量そのものをもっと深く知りたい方は、十分統計量の詳しい解説も参照してください。
ここまでで「$\eta$ が分布を指定し、$T(x)$ がデータを要約する」という骨格が見えました。次は、この枠組みのいちばん美しい性質——対数分配関数 $A(\eta)$ を微分すると平均と分散が出てくる——を導きます。
対数分配関数と累積量
$A'(\eta) = E[T(x)]$ の導出
指数型分布族の最大の魅力は、規格化のために定義したはずの $A(\eta)$ を微分するだけで、平均や分散が転がり出てくることです。まず一階微分から見ます。ゴールは、$A(\eta)$ の微分が十分統計量の期待値 $E[T(x)]$ に等しいことを示すことです(議論を見やすくするため、$\eta$ をスカラーとします)。
出発点は式 (2) の定義 $A(\eta) = \log Z(\eta)$、ただし $Z(\eta) = \int h(x)\exp(\eta T(x))\,dx$ です。これを $\eta$ で微分します。$\log$ の微分の連鎖律から、
$$ A'(\eta) = \frac{d}{d\eta}\log Z(\eta) = \frac{Z'(\eta)}{Z(\eta)} $$
となります。次に分子 $Z'(\eta)$ を計算します。積分と微分の順序を入れ替えてよいとすると(指数型分布族では正則条件のもとで成立します)、
$$ Z'(\eta) = \frac{d}{d\eta}\int h(x)\,e^{\eta T(x)}\,dx = \int h(x)\,T(x)\,e^{\eta T(x)}\,dx $$
です。$e^{\eta T(x)}$ を $\eta$ で微分すると $T(x)\,e^{\eta T(x)}$ が出てくる、というだけの計算です。これを $A'(\eta) = Z'(\eta)/Z(\eta)$ に代入すると、
$$ A'(\eta) = \frac{\displaystyle\int h(x)\,T(x)\,e^{\eta T(x)}\,dx}{Z(\eta)} = \int T(x)\,\frac{h(x)\,e^{\eta T(x)}}{Z(\eta)}\,dx $$
となります。ここで $Z(\eta)$ を積分の中に押し込みました。最後のステップが肝心です。分母にある $h(x)\,e^{\eta T(x)} / Z(\eta)$ は、$Z(\eta) = e^{A(\eta)}$ を思い出すと、まさに確率密度 $p(x\mid\eta) = h(x)\exp(\eta T(x) – A(\eta))$ そのものです。したがって、
$$ \begin{equation} A'(\eta) = \int T(x)\,p(x\mid\eta)\,dx = E[T(x)] \end{equation} $$
が得られます。$A(\eta)$ を一度微分しただけで、十分統計量の期待値が出てきました。
$A”(\eta) = \mathrm{Var}[T(x)]$ の導出
同じ調子で、もう一度微分してみましょう。今度は分散が出ます。$A'(\eta) = Z'(\eta)/Z(\eta)$ をさらに $\eta$ で微分します。商の微分法則を使うと、
$$ A”(\eta) = \frac{Z”(\eta)\,Z(\eta) – \big(Z'(\eta)\big)^2}{Z(\eta)^2} = \frac{Z”(\eta)}{Z(\eta)} – \left(\frac{Z'(\eta)}{Z(\eta)}\right)^2 $$
となります。ここで、二階微分 $Z”(\eta) = \int h(x)\,T(x)^2\,e^{\eta T(x)}\,dx$ なので、第1項は
$$ \frac{Z”(\eta)}{Z(\eta)} = \int T(x)^2\,p(x\mid\eta)\,dx = E[T(x)^2] $$
です。第2項は、式 (3) より $Z'(\eta)/Z(\eta) = A'(\eta) = E[T(x)]$ ですから、$\big(E[T(x)]\big)^2$ になります。両者を合わせると、
$$ \begin{equation} A”(\eta) = E[T(x)^2] – \big(E[T(x)]\big)^2 = \mathrm{Var}[T(x)] \end{equation} $$
が導けました。これは分散の定義 $\mathrm{Var}[T] = E[T^2] – (E[T])^2$ そのものです。
この結果には重要な副産物があります。分散は必ず $0$ 以上なので $A”(\eta) \geq 0$、すなわち $A(\eta)$ は下に凸な関数です。凸性は、後で最尤推定が一意に求まることや、ベイズ計算が扱いやすいことの根拠になります。
下の図で、ベルヌーイを例に「微分が平均と分散になる」ことを確認します。
![対数分配関数の微分の図。左がA'(η)=E[T]=μ(シグモイド)、右がA''(η)=Var[T](シグモイドの導関数で常に非負)](https://disassemble-channel.com/wp-content/uploads/2026/06/figs05-36.png)
この図から、$A(\eta)$ の微分が累積量を生むことが視覚的に確認できます。左の $A'(\eta)$ はシグモイド曲線で、ベルヌーイの平均 $\mu$ に一致します。右の $A”(\eta) = \mu(1-\mu)$ はベルヌーイの分散そのもので、$\eta=0$($\mu=0.5$)で最大の $0.25$ を取り、両端で $0$ に近づきます。そして全域で非負——つまり $A(\eta)$ が凸である——ことも見て取れます。
ちなみに、対数分配関数 $A(\eta)$ そのものの形も見ておきましょう。

この図から、$A(\eta) = \log(1+e^\eta)$ が滑らかな凸関数であることがわかります。引いた2本の接線はいずれも曲線の下側にあり、これは凸関数の定義(接線が常にグラフの下にある)そのものです。$A”(\eta) \geq 0$ という計算結果が、グラフの形としても裏付けられています。
対数分配関数を1回微分すれば平均、2回微分すれば分散。この性質を使えば、各分布の平均・分散の公式をいちいち暗記する必要はありません。次は、この枠組みに代表的な分布を実際に流し込んでみます。
具体例:正規・ベルヌーイ・ポアソン
抽象論が続いたので、ここで手を動かして3つの分布を指数型に書き直します。「中身を入れ替えるだけ」という感覚をつかむのが目的です。
ベルヌーイ分布
コイン投げの分布です。表が出る確率を $\mu$ として、確率質量は $p(x\mid\mu) = \mu^x (1-\mu)^{1-x}$($x \in \{0,1\}$)。これを指数型に変形します。まず対数を取って指数の肩に戻す、という定石を使います。
$$ \begin{aligned} p(x\mid\mu) &= \exp\!\big(x\log\mu + (1-x)\log(1-\mu)\big) \\ &= \exp\!\Big(x\log\frac{\mu}{1-\mu} + \log(1-\mu)\Big) \end{aligned} $$
2行目では、$x$ について整理して $\log\mu$ と $\log(1-\mu)$ をまとめました。ここで指数の中を $\eta\cdot T(x) – A(\eta)$ の形と見比べると、
- $T(x) = x$(十分統計量は観測値そのもの)
- $\eta = \log\dfrac{\mu}{1-\mu}$(自然パラメータは対数オッズ)
- $h(x) = 1$
と読み取れます。残った $\log(1-\mu)$ が $-A(\eta)$ に対応するはずです。$\eta = \log\frac{\mu}{1-\mu}$ を $\mu$ について解くと $\mu = \frac{1}{1+e^{-\eta}}$(シグモイド)なので、$1 – \mu = \frac{1}{1+e^{\eta}}$。したがって、
$$ A(\eta) = -\log(1-\mu) = \log(1 + e^{\eta}) $$
となります。検算してみましょう。式 (3) より $A'(\eta) = E[T] = E[x] = \mu$ のはずです。実際に $A(\eta) = \log(1+e^\eta)$ を微分すると $A'(\eta) = \frac{e^\eta}{1+e^\eta} = \frac{1}{1+e^{-\eta}} = \mu$。ぴったり一致しました。
ポアソン分布
単位時間あたり平均 $\lambda$ 回起こる事象の回数の分布で、$p(x\mid\lambda) = \dfrac{\lambda^x e^{-\lambda}}{x!}$($x = 0,1,2,\dots$)。同じく対数を肩に戻します。
$$ p(x\mid\lambda) = \frac{1}{x!}\exp\!\big(x\log\lambda – \lambda\big) $$
指数の中を見ると $x\log\lambda – \lambda$ なので、$\eta\cdot T(x) – A(\eta)$ と比べて、
- $T(x) = x$
- $\eta = \log\lambda$(自然パラメータは対数レート)
- $A(\eta) = \lambda = e^{\eta}$
- $h(x) = \dfrac{1}{x!}$(基底測度に階乗が入る)
と対応します。ここでも検算すると、$A(\eta) = e^\eta$ より $A'(\eta) = e^\eta = \lambda = E[x]$、$A”(\eta) = e^\eta = \lambda = \mathrm{Var}[x]$。ポアソン分布の「平均=分散=$\lambda$」という有名な性質が、$A(\eta)$ の微分から自動的に出てきました。
正規分布(分散既知)
分散 $\sigma^2$ が既知の正規分布 $\mathcal{N}(\mu, \sigma^2)$ を考えます。密度は
$$ p(x\mid\mu) = \frac{1}{\sqrt{2\pi}\sigma}\exp\!\Big(-\frac{(x-\mu)^2}{2\sigma^2}\Big) $$
指数の中の二乗を展開します。$(x-\mu)^2 = x^2 – 2\mu x + \mu^2$ なので、
$$ -\frac{(x-\mu)^2}{2\sigma^2} = \frac{\mu}{\sigma^2}x – \frac{\mu^2}{2\sigma^2} – \frac{x^2}{2\sigma^2} $$
と分解できます。最後の $-\frac{x^2}{2\sigma^2}$ は $x$ だけの項なので基底測度 $h(x)$ に吸収させます。残りを $\eta\cdot T(x) – A(\eta)$ と見比べると、
- $T(x) = x$
- $\eta = \dfrac{\mu}{\sigma^2}$
- $A(\eta) = \dfrac{\mu^2}{2\sigma^2} = \dfrac{\eta^2\sigma^2}{2}$($\mu = \eta\sigma^2$ を代入)
- $h(x) = \dfrac{1}{\sqrt{2\pi}\sigma}\exp\!\big(-\frac{x^2}{2\sigma^2}\big)$
となります。検算は $A'(\eta) = \eta\sigma^2 = \mu = E[x]$。やはり一致します。
なお、平均と分散の両方が未知の場合は、自然パラメータが2次元 $\eta = (\mu/\sigma^2,\ -1/(2\sigma^2))$、十分統計量も2次元 $T(x) = (x,\ x^2)$ になります。$x^2$ が十分統計量に入るのは、分散を推定するには二乗の情報が要るからです。
これらをまとめると、次の表のようになります。

この表から、指数型分布族の「統一性」が一望できます。どの分布も、$\eta$・$T(x)$・$A(\eta)$・$h(x)$ という同じ4つの欄を埋めるだけで表現できています。十分統計量 $T(x)$ が $x$ だけの分布(ベルヌーイ・ポアソン・指数)と、$x^2$ まで必要な分布(正規・両未知)の違いも、表を横に見れば一目瞭然です。各分布の詳細はポアソン分布の詳しい解説やガンマ分布の詳しい解説も参考になります。
分布を指数型に書き直せると、推定の話が驚くほどシンプルになります。次は最尤推定を見ましょう。
最尤推定の簡潔さ
指数型分布族の枠組みでは、最尤推定が「モーメントを合わせるだけ」という極めて単純な形になります。なぜそうなるのかを導きます。ゴールは、最尤推定量が満たす方程式を求めることです。
$n$ 個の独立同分布データの対数尤度は、先ほどの同時尤度の対数を取って、
$$ \ell(\eta) = \sum_{i=1}^{n}\log h(x_i) + \eta^{\top}\sum_{i=1}^{n} T(x_i) – n A(\eta) $$
です。これを $\eta$ で微分して $0$ と置きます。第1項は $\eta$ を含まないので消え、第2項の微分は $\sum_i T(x_i)$、第3項は式 (3) を使って $n A'(\eta) = n\,E[T(x)]$ になります。よって、
$$ \frac{\partial \ell}{\partial \eta} = \sum_{i=1}^{n} T(x_i) – n\,E_{\hat\eta}[T(x)] = 0 $$
整理すると、最尤推定量 $\hat\eta$ は次の方程式を満たします。
$$ \begin{equation} E_{\hat\eta}[T(x)] = \frac{1}{n}\sum_{i=1}^{n} T(x_i) \end{equation} $$
これは、モデルが予測する十分統計量の期待値(左辺)を、データから計算した十分統計量の標本平均(右辺)に一致させる、という条件です。「理論上の平均」と「実測の平均」を釣り合わせるだけ。この単純さがモーメント・マッチングと呼ばれる所以です。
具体例で確かめましょう。ベルヌーイでは $T(x)=x$、$E[T]=\mu$ なので、式 (6) は $\hat\mu = \frac{1}{n}\sum_i x_i = k/n$(表の割合)。ポアソンでは $E[T]=\lambda$ なので $\hat\lambda = \bar x$(標本平均)。冒頭で「どれも観測値の平均を取るだけに見える」と述べたのは、まさにこの式 (6) の現れだったわけです。しかも $A(\eta)$ が凸なので、この解は一意であることまで保証されます。各分布で最尤推定をいちいち導く必要がなくなるのです。
最尤推定(頻度論的な点推定)が一括で書けたのと同じように、ベイズ推定における事前分布も、指数型の構造から自動的に組み立てられます。次にそれを見ます。
共役事前分布の自動構成
ベイズ統計では、事前分布 $p(\eta)$ と尤度 $p(x\mid\eta)$ を掛けて事後分布 $p(\eta\mid x)$ を作ります。このとき、事後分布が事前分布と同じ分布族に収まるような事前分布を 共役事前分布(conjugate prior) と呼びます。共役だと、ベイズ更新が「パラメータの数を足すだけ」になり、計算が劇的に楽になります。
指数型分布族のすばらしい点は、尤度の形を見るだけで共役事前分布を機械的に作れることです。$n$ 個のデータに対する尤度は、$\eta$ に関する部分だけ取り出すと
$$ p(\text{data}\mid\eta) \propto \exp\!\Big(\eta^{\top}\sum_i T(x_i) – n A(\eta)\Big) $$
の形をしています。この「$\eta$ への依存の仕方」をそっくり真似た事前分布を用意します。すなわち、ハイパーパラメータ $\chi$($\sum_i T(x_i)$ に対応)と $\nu$($n$ に対応)を使って、
$$ \begin{equation} p(\eta \mid \chi, \nu) \propto \exp\!\big(\eta^{\top}\chi – \nu A(\eta)\big) \end{equation} $$
と定義するのです。この事前分布と尤度を掛けると、指数関数の肩どうしが足し算になるので、
$$ \begin{aligned} p(\eta\mid\text{data}) &\propto p(\text{data}\mid\eta)\,p(\eta\mid\chi,\nu) \\ &\propto \exp\!\Big(\eta^{\top}\sum_i T(x_i) – n A(\eta)\Big)\exp\!\big(\eta^{\top}\chi – \nu A(\eta)\big) \\ &= \exp\!\Big(\eta^{\top}\big(\chi + \textstyle\sum_i T(x_i)\big) – (\nu + n) A(\eta)\Big) \end{aligned} $$
となります。最後の式を式 (7) と見比べると、これはまったく同じ形の分布で、ハイパーパラメータだけが更新されています。
$$ \begin{equation} \chi’ = \chi + \sum_{i=1}^{n} T(x_i), \qquad \nu’ = \nu + n \end{equation} $$
つまりベイズ更新は、「事前のハイパーパラメータ $\chi$ に十分統計量の和 $\sum_i T(x_i)$ を足し、$\nu$ に標本数 $n$ を足す」というだけの足し算に帰着します。下の図でこの流れを整理します。

この図から、共役性の本質が読み取れます。尤度・事前・事後の3つが、$\eta$ への依存の仕方という点で「同じ形」を共有しています。だからベイズ更新が閉じた形(同じ族の中)にとどまり、数を足すだけで済むのです。ベルヌーイの共役事前がベータ分布、ポアソンの共役事前がガンマ分布、というおなじみの組み合わせは、すべてこの一般的なレシピの具体例にすぎません。実際のベイズ更新の様子はベイズ推論完全ガイドで詳しく扱っています。
ここまで「分布を統一する」「推定が簡単になる」という実利を見てきました。最後に、指数型分布族がなぜそういう形をしているのかという、より深い理由を2つの視点から見ます。最大エントロピー原理とGLMです。
最大エントロピーとGLM
最大エントロピー原理
「なぜ多くの自然な分布が指数型になるのか」という問いに、最大エントロピー原理が一つの答えを与えます。原理はこうです。ある制約(たとえば平均がこの値、分散がこの値)を満たす分布のうち、エントロピー(不確かさ)が最大のものを選ぶ。これは「制約以外の余計な仮定を一切置かない、最も無情報な分布」を選ぶという思想です。
驚くべきことに、この最大エントロピー問題をラグランジュの未定乗数法で解くと、答えは必ず
$$ p(x) \propto \exp\!\Big(\sum_k \lambda_k T_k(x)\Big) $$
という指数型の形になります。ここで $T_k(x)$ は制約に対応する関数($E[T_k(x)]$ が固定される)、$\lambda_k$ がラグランジュ乗数です。$\lambda_k$ こそが自然パラメータ $\eta_k$ にほかなりません。制約が「平均を固定」だけなら指数分布、「平均と分散を固定」なら正規分布が出てきます。下の図で確認しましょう。

この図から、最大エントロピー原理と指数型分布族の結びつきが読み取れます。左で平均だけを固定すると、最大エントロピー解は指数分布になり、同じ平均を持つ一様分布よりも「広がった(不確かさの大きい)」分布です。右で平均と分散を固定すると、解は正規分布になります。固定する制約(=十分統計量)の種類が、出てくる指数型分布の種類を決めている、という対応関係が見えてきます。詳しくは最大エントロピー原理の解説を参照してください。
一般化線形モデル(GLM)の基礎
もう一つの応用が 一般化線形モデル(GLM) です。通常の線形回帰は「応答 $y$ が正規分布に従い、その平均が説明変数の線形結合 $\beta^\top x$ で決まる」というモデルでした。GLMはこれを拡張し、応答が指数型分布族のどれでもよいようにしたものです。
GLMの組み立てはこうです。まず線形予測子 $\eta = \beta^\top x$ を作る。次に、この線形予測子と応答分布の平均 $\mu$ を リンク関数 $g$ でつなぐ:$g(\mu) = \eta$。応答がベルヌーイなら $\mu$ は確率($0$〜$1$)なので、実数全体を取る $\eta$ と直接結べません。そこでロジット $g(\mu) = \log\frac{\mu}{1-\mu}$ を挟む——これがロジスティック回帰です。応答がポアソンなら、$\mu > 0$ を保証するために対数リンク $g(\mu) = \log\mu$ を使う——これがポアソン回帰です。
特に、リンク関数を「自然パラメータ $\eta$ がそのまま線形予測子になる」ように選んだもの($\eta = \beta^\top x$)を 自然リンク(canonical link) と呼びます。ベルヌーイの自然パラメータが対数オッズだったこと、ポアソンの自然パラメータが対数レートだったことを思い出すと、ロジット・対数リンクが自然リンクである理由がそのまま理解できます。下の図で全体像を整理します。

この図から、GLMが指数型分布族の上に成り立つ統一枠組みであることが読み取れます。「線形予測子 $\beta^\top x$ をリンク関数で平均につなぎ、応答分布として指数型を置く」という共通の骨格に対し、応答分布とリンク関数を差し替えるだけで、線形回帰・ロジスティック回帰・ポアソン回帰が一望のもとに整理されます。個別のモデルに見えていたものが、実は同じ設計図の変奏だったわけです。GLMの推定や具体例は一般化線形モデルの解説で詳しく扱っています。
理論を一通り見たので、最後にPythonで「$A(\eta)$ を微分すると平均・分散が出る」「最尤推定がモーメント・マッチングになる」ことを数値的に確かめましょう。
Pythonでの実装
対数分配関数の微分が平均・分散を生むことの確認
まず、ベルヌーイとポアソンの対数分配関数 $A(\eta)$ を数値微分し、$A'(\eta)$ が平均に、$A”(\eta)$ が分散に一致することを確かめます。
import numpy as np
# 対数分配関数 A(η)
def A_bernoulli(eta):
return np.log1p(np.exp(eta)) # log(1 + e^η)
def A_poisson(eta):
return np.exp(eta) # e^η
# 中心差分による数値微分
def deriv1(f, x, h=1e-5):
return (f(x + h) - f(x - h)) / (2 * h)
def deriv2(f, x, h=1e-4):
return (f(x + h) - 2 * f(x) + f(x - h)) / h**2
# ベルヌーイ: η に対応する μ と分散を理論値と比較
eta = 0.8
mu = 1 / (1 + np.exp(-eta)) # シグモイド = 理論平均
print("=== ベルヌーイ (η = 0.8) ===")
print(f"A'(η) 数値: {deriv1(A_bernoulli, eta):.6f} 理論 E[T]=μ: {mu:.6f}")
print(f"A''(η) 数値: {deriv2(A_bernoulli, eta):.6f} 理論 Var=μ(1-μ): {mu*(1-mu):.6f}")
# ポアソン: η=log λ
eta_p = 1.2
lam = np.exp(eta_p) # λ = 理論平均 = 理論分散
print("\n=== ポアソン (η = 1.2, λ = e^η) ===")
print(f"A'(η) 数値: {deriv1(A_poisson, eta_p):.6f} 理論 E[T]=λ: {lam:.6f}")
print(f"A''(η) 数値: {deriv2(A_poisson, eta_p):.6f} 理論 Var=λ: {lam:.6f}")
このコードを実行すると、ベルヌーイでは $A'(\eta) \approx 0.690$ が平均 $\mu = \sigma(0.8) \approx 0.690$ に、$A”(\eta) \approx 0.214$ が分散 $\mu(1-\mu) \approx 0.214$ にぴったり一致します。ポアソンでは $A'(\eta) = A”(\eta) \approx 3.320 = e^{1.2}$ となり、「平均=分散=$\lambda$」が数値でも確認できます。式 (3)・(5) で導いた「微分が累積量を生む」性質が、抽象論ではなく実際に成り立っていることが見て取れます。
最尤推定がモーメント・マッチングになることの確認
次に、ポアソンデータを生成し、式 (6) のモーメント・マッチング(標本平均を取るだけ)で得た推定値が、対数尤度を直接最大化した値と一致することを確かめます。
import numpy as np
from scipy.optimize import minimize_scalar
from scipy.special import gammaln
rng = np.random.default_rng(0)
lam_true = 4.0
n = 2000
x = rng.poisson(lam_true, size=n) # ポアソンデータ
# 方法1: モーメント・マッチング(式(6))。E[T]=λ なので λ̂ = 標本平均
lam_moment = x.mean()
# 方法2: 自然パラメータ η について対数尤度を直接最大化
def neg_loglik(eta):
# ポアソン対数尤度(h(x)=1/x! の項を含む)
ll = np.sum(x) * eta - n * np.exp(eta) - np.sum(gammaln(x + 1))
return -ll
res = minimize_scalar(neg_loglik, bounds=(-2, 4), method="bounded")
lam_mle = np.exp(res.x) # η̂ → λ̂ = e^η̂
print(f"真の λ : {lam_true}")
print(f"モーメント法 λ̂ : {lam_moment:.6f}")
print(f"対数尤度最大化 λ̂ : {lam_mle:.6f}")
print(f"両者の差 : {abs(lam_moment - lam_mle):.2e}")
このコードを実行すると、モーメント法の推定値と対数尤度最大化の推定値が小数点以下6桁まで一致し、その差は $10^{-5}$ 以下の数値誤差レベルになります(いずれも真値 $4.0$ の近く)。これは式 (6) で導いたとおり、指数型分布族の最尤推定が「十分統計量の標本平均をモデルの期待値に合わせる」だけで済むことの実証です。わざわざ最適化ソルバーを回さなくても、標本平均一発で最尤推定が完了するわけです。
共役事前分布のベイズ更新を確認
最後に、ポアソン尤度に対する共役事前であるガンマ分布が、式 (8) の「数を足すだけ」で更新されることを、数値積分による厳密な事後分布と比較して確かめます。
import numpy as np
from scipy.stats import gamma as gamma_dist
rng = np.random.default_rng(1)
lam_true = 3.0
x = rng.poisson(lam_true, size=15) # 少なめのデータでベイズの効果を見る
# ガンマ事前 Gamma(a, rate=b)。λ に関する共役事前
a0, b0 = 2.0, 1.0
# 共役更新(式(8)): a' = a + Σx_i, b' = b + n
a_post = a0 + x.sum()
b_post = b0 + len(x)
print(f"事前 Gamma(a={a0}, b={b0}) → 事後 Gamma(a={a_post}, b={b_post})")
print(f"事後平均 a'/b' = {a_post / b_post:.4f} (真値 λ={lam_true})")
# 数値的に事後分布を計算して照合(グリッド上で 事前×尤度 を規格化)
lam_grid = np.linspace(0.01, 8, 4000)
prior = gamma_dist.pdf(lam_grid, a0, scale=1 / b0)
# ポアソン尤度(規格化定数は λ に無関係なので省略可だが明示)
loglik = x.sum() * np.log(lam_grid) - len(x) * lam_grid
lik = np.exp(loglik - loglik.max())
post_numeric = prior * lik
post_numeric /= np.trapezoid(post_numeric, lam_grid) # 規格化
post_conjugate = gamma_dist.pdf(lam_grid, a_post, scale=1 / b_post)
max_err = np.max(np.abs(post_numeric - post_conjugate))
print(f"共役更新の事後 vs 数値積分の事後 最大誤差: {max_err:.2e}")
このコードを実行すると、共役更新で得た事後分布 $\mathrm{Gamma}(a’, b’)$ と、グリッド上で「事前 × 尤度」を数値積分して規格化した事後分布の最大誤差が $10^{-3}$ 程度以下に収まります(グリッドの粗さ由来の誤差)。事後平均 $a’/b’$ も真値 $\lambda=3.0$ の近くに来ます。これは式 (8) の更新則——ハイパーパラメータに十分統計量の和 $\sum x_i$ と標本数 $n$ を足すだけ——が、面倒な積分を経ずに正しい事後分布を与えることの確認です。共役性が「計算の近道」として機能していることが数値でわかります。
まとめ
本記事では、指数型分布族という統一枠組みについて、定義から性質の導出、具体例、応用までを解説しました。
- 統一の型: 多くの分布は $p(x\mid\eta) = h(x)\exp(\eta^\top T(x) – A(\eta))$ という一つの式で書ける。基底測度 $h(x)$・自然パラメータ $\eta$・十分統計量 $T(x)$・対数分配関数 $A(\eta)$ の4部品の中身を入れ替えるだけ。
- 対数分配関数の微分: $A'(\eta) = E[T(x)]$、$A”(\eta) = \mathrm{Var}[T(x)]$。規格化のための関数を微分するだけで平均と分散が出る。$A$ は凸関数。
- 十分統計量: 尤度は $\sum_i T(x_i)$ と $n$ だけで決まる。生データを捨てても推定には困らない。
- 最尤推定の簡潔さ: 最尤推定は $E_{\hat\eta}[T(x)] = \frac{1}{n}\sum_i T(x_i)$ というモーメント・マッチングに帰着し、$A$ の凸性から解は一意。
- 共役事前の自動構成: 尤度の $\eta$ 依存形を真似た事前を置けば、ベイズ更新は $\chi’ = \chi + \sum_i T(x_i)$, $\nu’ = \nu + n$ という足し算になる。
- 最大エントロピーとGLM: 制約付きエントロピー最大化の解は必ず指数型になる。GLMは指数型の応答分布をリンク関数で線形予測子につなぐ枠組みで、線形回帰・ロジスティック回帰・ポアソン回帰を統一する。
Pythonでは、対数分配関数の数値微分が平均・分散に一致すること、最尤推定が標本平均で済むこと、共役更新が厳密な事後分布を再現することを確認しました。指数型分布族は、個々の分布をばらばらに覚える世界から、「一つの構造を理解すればすべてが見渡せる」世界へ橋渡ししてくれる、確率・統計の中核概念です。
次のステップとして、以下の記事も参考にしてください。