【これなら分かる!】ディリクレ分布とは

zuka

こんにちは。
zuka(@beginaid)です。

本記事は「これなら分かる!はじめての数理統計学」シリーズに含まれます。

もし不適切な内容があれば,記事下のコメント欄又はお問い合わせフォームよりご連絡下さい。

ディリクレ分布

ベータ分布を多カテゴリに拡張した分布がディリクレ分布です。ロードマップを見ても分かる通り,ディリクレ分布は多項分布の共役事前分布になっています。多項分布が二項分布を多カテゴリに拡張した分布であることを考えれば自然ですね。ディリクレ分布は,独立な$n$個の事象が$\alpha_i-1$回発生したときに,各事象が起こる確率が$x_i$である確率を与えます。ディリクレ分布には再生性はありません。ロードマップ中ではディリクレ分布はベータ分布の多変量バージョン(つまり多項分布の共役事前分布)に相当します。

\begin{align}
f_{\mX}(\vx) &= \frac{1}{B(\boldsymbol{\alpha})} \prod_{i=1}^{n} x_{i}^{\alpha_{i}-1} \\[0.7em]
E[X_i] &= \frac{\alpha_i}{\sum_i^n \alpha_i} \\[0.7em]
V[X_i] &= \frac{\alpha_i(\sum_i^n \alpha_i – \alpha_i)}{(\sum_i^n \alpha_i + 1)(\sum_i^n \alpha_i)^2}
\end{align}

確率密度関数

ディリクレ分布はベータ分布の多変量化(つまり多項分布の共役事前分布)として導入する方法と,ベータ分布のときと同様にガンマ分布に従う確率変数の変数変換を利用して導入する方法があります。

ベータ分布の多変量化

ディリクレ分布はベータ分布の多変量バージョンです。ベータ分布ではコインを対象としていましたが,ディリクレ分布ではサイコロを対象とするということになります。すなわち,ベータ分布は二項分布の共役事前分布でしたが,ディリクレ分布は多項分布の共役事前分布ということになります。

共役事前分布について理解が甘いと感じている方は,ぜひベータ分布のページを参考にしてください。

それでは,ベータ分布と同様にまずは形を求めてみましょう。

\begin{align}
(\text{ディリクレ分布}) &\propto (\text{多項分布}) \times (\text{ディリクレ分布}) \\[0.7em]
(\text{ディリクレ分布}) &\propto p_1^{x_1} p_2^{x_2}\ldots p_n^{x_n} \times (\text{ディリクレ分布})
\end{align}

ゆえに,ディリクレ分布の確率密度関数$f(x)$は以下のような形をとると都合が良いです。

\begin{align}
f(x_1,\ldots, x_{n-1}) &= C p_1^{x_1-1} p_2^{x_2-1}\ldots p_n^{x_n-1}
\end{align}

例によって,後々きれいな形を出現させたいため,指数部分はマイナス1しています。ベータ分布の結果から類推されることとして,正規化定数は以下のような形になることが予測されます。

\begin{align}
C &= \frac{\Gamma(x_1 + \ldots + x_n)}{\Gamma(x_1)\ldots \Gamma(x_n)}
\label{ディリクレ分布の正規化定数}
\end{align}

こいつを証明していきます。すなわち,以下を証明します。

\begin{align}
\int_{0}^{\infty} p_1^{x_1-1} p_2^{x_2-1}\ldots p_n^{x_n-1} dp_1\ldots dp_{n-1}
&= \frac{\Gamma(x_1)\ldots \Gamma(x_n)}{\Gamma(x_1+\ldots+x_n)} \label{ディリクレ分布で証明したい式}
\end{align}

この式で注意しなくてはいけないのは,$p_1+\ldots+p_n=1$という制約式があるために,独立な変数は$n-1$個になる点です。そのため,積分も$n-1$個の変数に対して行っています。さて,例によってガンマ関数の積を考えます。

\begin{align}
\Gamma(x_1)\ldots \Gamma(x_n)
&= \int_0^{\infty} e^{-p_1}t_1^{x_1-1}dt_1 \ldots
\int_0^{\infty} e^{-t_n}t_n^{x_n-1}dt_n\\[0.7em]
&= \int_0^{\infty} \ldots \int_0^{\infty}
e^{-t_1-\ldots -t_n}t_1^{x_1-1}\ldots t_n^{x_n-1} dt_1\ldots dt_n \label{変数変換前のディリクレ分布}
\end{align}

ここで,$t$を2つの確率変数の積に分解します。こうすることで,ガンマ分布と「式(\ref{ディリクレ分布で証明したい式})の左辺に表れている重積分」に分解することができます。ここで注意しなくてはいけないのは,独立な変数は$n-1$個だということです。これから$t_1,\ldots,t_n$に代わる変数として$p_1, \ldots, p_n$を用意しますが,ディリクレ分布の形に持っていきたいため,$p_1+\ldots+p_n=1$かつ$p_i \geq 0$を満たすように設定します。そこで,$t_1=p_1y, \ldots, t_{n-1}=p_{n-1} y$と変数変換し,$t_n=(1-p_1-\ldots-p_{n-1})y$とおきます。このとき,ヤコビアンは以下のように計算できます。

\begin{align}
|J| &=
\begin{vmatrix}
\partial t_1 / \partial p_1 & \ldots & \partial t_1 / \partial y \\
\vdots & \ddots & \vdots \\
\partial t_{n-1} / \partial p_1 & \ldots & \partial t_1 / \partial y \\
\end{vmatrix}
\begin{vmatrix}
y & 0 & \ldots & p_1 \\
0 & y & \ldots & p_2 \\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \ldots & 1-p_1-\ldots-p_{n-1} \\
\end{vmatrix}\\[0.7em]
&=
y^{n-1}
\begin{vmatrix}
1 & 0 & \ldots & p_1 \\
0 & 1 & \ldots & p_2 \\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \ldots & 1-p_1-\ldots-p_{n-1} \\
\end{vmatrix}
y^{n-1}
\begin{vmatrix}
1 & 0 & \ldots & p_1 \\
0 & 1 & \ldots & p_2 \\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \ldots & 1 \\
\end{vmatrix}\\[0.7em]
&=
y^{n-1}
\begin{vmatrix}
1 & 0 & \ldots & 0 \\
0 & 1 & \ldots & 0 \\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \ldots & 1 \\
\end{vmatrix}
= y^{n-1}
\end{align}

$p_1+\ldots+p_n=1$かつ$p_i \geq 0$の条件に注意すると,変数$p_i\;(i=1,\ldots,n-1)$に関する積分範囲は$p_i \geq 0$かつ$\sum_{i}p_i \leq 1$となります。この積分範囲を便宜上$D$とおきます。変数$y$に関する積分範囲は,$t_i=p_iy$という形と,$t_i \in [0,\infty]$,$p_i\in[0,1]$であることから,$y$の積分範囲は$[0, \infty]$となることが分かります。すると,式(\ref{変数変換前のディリクレ分布})は以下のように式変形できます。

\begin{align}
&\int_{0}^{\infty}
e^{-y}y^{x_1+\ldots+x_n-n}y^{n-1}dy
\cdot
\int_{D}p_1^{x_1-1}\ldots p_{n-1}^{x_{n-1}-1}
(1-p_1-\ldots-p_{n-1})^{x_n-1}dp_1\ldots dp_{n-1}\\[0.7em]
&= \Gamma(x_1 + \ldots + x_n)\cdot \int_{0}^{\infty} p_1^{x_1-1} p_2^{x_2-1}\ldots p_n^{x_n-1} dp_1\ldots dp_{n-1}
\end{align}

これにて,式(\ref{ディリクレ分布で証明したい式})を証明することができました。この結果は,ガンマ関数の積分公式と呼ばれていて,ディリクレ分布の期待値と分散を計算する際にも利用するのでおさえておきましょう。

ガンマ関数の積分公式

\begin{align}
\int_{0}^{\infty} p_1^{x_1-1} p_2^{x_2-1}\ldots p_n^{x_n-1} dp_1\ldots dp_{n-1}
&= \frac{\Gamma(x_1)\ldots \Gamma(x_n)}{\Gamma(x_1+\ldots+x_n)}
\end{align}

以上で,正規化定数が式(\ref{ディリクレ分布の正規化定数})で与えられることも示されました。ちなみに,$n=2$のとき,ディリクレ分布はベータ分布と等価になることも簡単に確認できますね。

ガンマ分布に従う確率変数の変数変換

ベータ分布を同時確率密度関数で導入したときと同じようにして,ディリクレ分布を求めてみましょう。$X_i\;(i=1,\ldots,n)$は独立,かつ

\begin{align}
X_i &\sim \mathrm{Ga}(a_i, b)
\end{align}

とします。

\begin{align}
Y_i &= \frac{X_i}{\sum_j^n X_j}\;(i=1,\ldots, n)
\end{align}

とするとき,$(Y_1, \ldots, Y_{n-1})$の同時確率密度関数$f(y_1, \ldots, y_{n-1})$を求めます。なぜ$y_{n-1}$までの$n-1$個の同時確率分布なのかというと,以前の議論でもあったように,$Y_i$の定義から$\sum_{i}^nY_i=1$が成り立ち,独立な変数は$n-1$個だからです。まず,$Y_i\;(i=1,\ldots,n-1)$の定義通り以下を考えます。

\begin{align}
y_i&=\frac{x_i}{\sum_{j=1}^n x_j}
\end{align}

を考えます。次に,端点$i=n$を考えます。一見$i=1,\ldots,n-1$と同じ形をしていますが,$\sum_{j=1}^n y_j$の条件があることに注意します。

\begin{align}
y_n&=\frac{x_n}{\sum_{j=1}^nx_j}
\end{align}

これらの逆変換は,以下のようになります。見やすさのため,$\sum_{j=1}^nx_j=z$とおきます。

\begin{align}
x_i&=y_i\sum_{j=1}^nx_j = y_i z\\[0.7em]
x_n&=\sum_{j=1}^nx_j y_n = \sum_j^nx_j \left(1-\sum_j^{n-1}y_j\right)
\end{align}

ヤコビアンを計算します。

\begin{align}
|J| &=
\begin{vmatrix}
\partial x_1 / \partial y_1 & \ldots & \partial x_1 / \partial y_n \\
\vdots & \ddots & \vdots \\
\partial x_{n} / \partial y_1 & \ldots & \partial x_n / \partial y_n \\
\end{vmatrix}
\begin{vmatrix}
z & 0 & \ldots & 0 \\
0 & z & \ldots & 0 \\
\vdots & \vdots & \ddots & \vdots \\
-z & -z & \ldots & 1 \\
\end{vmatrix}\\[0.7em]
&=
z^{n-1}
\begin{vmatrix}
1 & 0 & \ldots & 0 \\
0 & 1 & \ldots & 0 \\
\vdots & \vdots & \ddots & \vdots \\
-1 & -1 & \ldots & 1 \\
\end{vmatrix}
z^{n-1}
\begin{vmatrix}
1 & 0 & \ldots & 0 \\
0 & 1 & \ldots & 0 \\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \ldots & 1 \\
\end{vmatrix} \\[0.7em]
&=
z^{n-1}
\end{align}

$y_1,\ldots, y_{n-1}$の同時分布$f(y_1,\ldots, y_{n-1})$を求めます。これは,$y_1,\ldots, y_{n-1},z$の同時分布$f(y_1,\ldots, y_{n-1},z)$の$z$に関する周辺確率密度関数を求めればよいです。計算簡略化のため,正規化定数を除いた部分のみに注目していきます。

\begin{align}
f(y_1,\ldots, y_{n-1})
&= \int_0^{\infty} f(y_1,\ldots, y_{n-1}, z) dz\\[0.7em]
&\propto \int_{0}^{\infty} \left( \prod_{i=1}^{n}y_i^{a_i-1} \right)
z^{\sum_{i=1}^n a_i – n}\exp\left(-z\right) z^{n-1} dz \\[0.7em]
&= \left( \prod_{i=1}^{n}y_i^{a_i-1} \right)
\cdot
\int_{0}^{\infty} z^{\sum_{i=1}^n a_i – 1} \exp\left(-z\right) dz \\[0.7em]
&\propto \left( \prod_{i=1}^{n}y_i^{a_i-1} \right)\quad(\because \text{第2項目はガンマ分布})
\end{align}

これは,$y_1,\ldots, y_{n-1}$の同時分布$f(y_1,\ldots, y_{n-1})$がディリクレ分布の形をした確率密度関数となっていることを示しています。正規化定数は,上で示した通りに導出することができます。

モーメント母関数

通常,モーメント母関数はモーメント母関数の定義に従って計算していきます。しかし,ベータ分布同様,ディリクレ分布のモーメント母関数は複雑なため,あまり利用されません。

平均・分散

連続分布の平均と分散を求める際には「モーメント母関数の性質」(離散分布の平均と分散を求める際には「確率母関数の性質」)を利用します。しかし,ベータ分布のモーメント母関数は複雑な形をしているため,ここではベータ分布と同様に平均と分散の定義に従って愚直に計算していきます。

\begin{align}
E[X_i] &=
C\int_{0}^{\infty} p_1^{x_1-1} \ldots p_i^{x_i}\ldots p_n^{x_n-1} dp_1\ldots dp_{n-1}\\[0.7em]
&= C\cdot\frac{\Gamma(x_1)\ldots\Gamma(x_i+1)\ldots \Gamma(x_n)}{\Gamma(x_1+\ldots+x_n+1)} \\[0.7em]
&= \frac{x_i}{(x_1+\ldots+x_n)}\cdot C \cdot\frac{\Gamma(x_1)\ldots\Gamma(x_i)\ldots \Gamma(x_n)}{\Gamma(x_1+\ldots+x_n)} \\[0.7em]
&= \frac{x_i}{(x_1+\ldots+x_n)}
\end{align}

期待値が計算できました。同様に,二次モーメントを求めていきます。

\begin{align}
E[X_i^2] &=
C\int_{0}^{\infty} p_1^{x_1-1} \ldots p_i^{x_i+1}\ldots p_n^{x_n-1} dp_1\ldots dp_{n-1}\\[0.7em]
&= C\cdot\frac{\Gamma(x_1)\ldots\Gamma(x_i+2)\ldots \Gamma(x_n)}{\Gamma(x_1+\ldots+x_n+2)} \\[0.7em]
&= \frac{(x_i+1)x_i}{(x_1+\ldots+x_n+1)(x_1+\ldots+x_n)}\cdot C \cdot\frac{\Gamma(x_1)\ldots\Gamma(x_i)\ldots \Gamma(x_n)}{\Gamma(x_1+\ldots+x_n)} \\[0.7em]
&= \frac{(x_i+1)x_i}{(x_1+\ldots+x_n+1)(x_1+\ldots+x_n)}
\end{align}

したがって,分散は以下のようになります。

\begin{align}
V[X_i] &=
E[X_i^2]-E[X_i]^2 \\[0.7em]
&=\left\{\frac{(x_i+1)x_i}{(x_1+\ldots+x_n+1)(x_1+\ldots+x_n)}\right\}
+ \left\{ \frac{x_i}{(x_1+\ldots+x_n)}\right\}^2 \\[0.7em]
&= \frac{x_i(x_1+\ldots+x_{i-1}+x_{i+1}+\ldots+x_n)}{(x_1+\ldots+x_n+1)(x_1+\ldots+x_n)^2} \\[0.7em]
&= \frac{x_i(\sum_i x_i – x_i)}{(\sum_i x_i + 1)(\sum_i x_i)^2}
\end{align}

再生性

再生性を示すためには,再生性を示したい分布に従う独立な二つの確率変数を考え,その和のモーメント母関数(離散分布の場合はモーメント母関数)を計算したときに,パラメータが和の形になっていることを示します。

ベータ分布同様,ディリクレ分布のモーメント母関数は複雑な形をしており,積をとっても同じ形が出現したいため,再生性はありません。

ロードマップ

確率分布のロードマップ

さて,ロードマップに戻りましょう。 ディリクレ分布はベータ分布の多変量バージョン(つまり多項分布の共役事前分布)として導入されました。ベータ分布同様,ガンマ関数に従う確率変数の変数変換を用いて導入することもできました。

シェアはこちらからお願いします!
URLをコピーする
URLをコピーしました!

コメント

コメントする