ディリクレ分布に関するメモ (2)

  • ????????????????????

前の記事 ではディリクレ分布の正規化定数を計算しました。

ディリクレ分布は正規化定数を含めて以下のようになりました。
\begin{align*}
&f(x)=\frac1{B(\alpha)}\prod_{i=1}^d x_i^{\alpha_i-1}\qquad x\in \Delta\\
&\text{where} \qquad B(\alpha)=\frac{\prod_{i=1}^d\Gamma(\alpha_i)}{\Gamma(A)}
\end{align*}

今回は平均、分散、共分散を計算します。これらの計算には正規化定数の計算と類似点が非常に多いため、前回の記事を読んでない方は先にそちらをどうぞ。

平均の計算

\begin{align*}
E[X_i]
&=\int_\Delta x_if(x)dx\\
&=\frac1{B(\alpha)}\int_\Delta x_1^{\alpha_1-1}\cdots x_{i-1}^{\alpha_{i-1}-1}x_i^{\alpha_i}x_{i+1}^{\alpha_{i+1}-1}\cdots x_{d-1}^{\alpha_{d-1}-1}(1-x_1-\cdots-x_{d-1})^{\alpha_d-1}dx
\end{align*}
さて、正規化定数の計算では \(x_{d-1}\) から順に \(x_1\) まで積分しました。この計算でも方針は全く同じです。\(x_i\) の積分の所で \(\alpha_i-1\) 乗するところが \(\alpha_i\) 乗になるだけです。つまり新しい \(\alpha’\) というパラメータを
\begin{align*}(\alpha’_1,\cdots,\alpha’_{i-1},\alpha’_{i},\alpha’_{i+1},\cdots\alpha’_{d})=(\alpha_1,\cdots,\alpha_{i-1},\alpha_{i}+1,\alpha_{i+1},\cdots\alpha_{d})\end{align*}
とおいて計算しなおせばいいわけです。

つまり、前回求めた正規化定数 \(B(\alpha)\) のかわりに \(B(\alpha’)\) がここで求めたい積分になり、平均は
\begin{align*}E[X_i]=\frac{B(\alpha’)}{B(\alpha)}\end{align*}
となります。計算してみましょう。前回同様 \begin{align*}A=\sum_{i=1}^d\alpha_i\end{align*} とします。ガンマ関数の性質
\begin{align*}\Gamma(a+1)=a\Gamma(a)\end{align*}
を使います。以上より、ディリクレ分布の平均値は以下のように求まることがわかります。
\begin{align*}
E[X_i]&=B(\alpha’)\cdot\frac1{B(\alpha)}\\
&=\frac{\prod_{k=1}^d\Gamma(\alpha’_k)}{\Gamma(A+1)}\frac{\Gamma(A)}{\prod_{k=1}^d\Gamma(\alpha_k)}\\
&=\frac{\alpha_i\prod_{k=1}^d\Gamma(\alpha_k)}{A\Gamma(A)}\frac{\Gamma(A)}{\prod_{k=1}^d\Gamma(\alpha_k)}\\
&=\frac{\alpha_i}A
\end{align*}

分散の計算

分散についても同様に、簡単に求めることができます。一般に
\begin{align*}
V[X_i]=E[X_i^2]-E[X_i]^2
\end{align*}
なので、二次モーメントを求めればよいことになります。平均の計算と同様に新しいパラメータを定義します。全く同じ議論で新しいパラメータ \(\alpha”\) は
\begin{align*}(\alpha”_1,\cdots,\alpha”_{i-1},\alpha”_{i},\alpha”_{i+1},\cdots\alpha”_{d})=(\alpha_1,\cdots,\alpha_{i-1},\alpha_{i}+2,\alpha_{i+1},\cdots\alpha_{d})\end{align*}
となることがわかります。したがって二次モーメントは
\begin{align*}
E[X_i^2]&=\frac{B(\alpha”)}{B(\alpha)}\\
&=\frac{\prod_{k=1}^d\Gamma(\alpha”_k)}{\Gamma(A+2)}\frac{\Gamma(A)}{\prod_{k=1}^d\Gamma(\alpha_k)}\\
&=\frac{\alpha_i(\alpha_i+1)\prod_{k=1}^d\Gamma(\alpha_k)}{A(A+1)\Gamma(A)}\frac{\Gamma(A)}{\prod_{k=1}^d\Gamma(\alpha_k)}\\
&=\frac{\alpha_i(\alpha_i+1)}{A(A+1)}
\end{align*}
となります。したがって分散は
\begin{align*}
V[X_i]&=E[X_i^2]-E[X_i]^2\\
&=\frac{\alpha_i(\alpha_i+1)}{A(A+1)}-\frac{\alpha_i^2}{A^2}\\
&=\frac{\alpha_i(A-\alpha_i)}{A^2(A+1)}
\end{align*}
となることがわかりました。

共分散の計算

もうここまで来れば、計算を書く必要もないかもしれませんが…
共分散は
\begin{align*}
Cov[X_i,X_j]=E[X_iX_j]-E[X_i]E[X_j]
\end{align*}
なので i, j に関するクロスモーメントを計算すればよいことになります。新しいパラメータを \(\hat\alpha\) とかくことにすれば、
\begin{align*}
&(\hat\alpha_1,\cdots,\hat\alpha_{i-1},\hat\alpha_{i},\hat\alpha_{i+1},\cdots,\hat\alpha_{j-1},\hat\alpha_{j},\hat\alpha_{j+1},\hat\alpha_{d})\\
&=(\alpha_1,\cdots,\alpha_{i-1},\alpha_{i}+1,\alpha_{i+1},\cdots,\alpha_{j-1},\alpha_{j}+1,\alpha_{j+1},\cdots\alpha_{d})
\end{align*}
とすればよいわけですね。クロスモーメントは
\begin{align*}
E[X_iX_j]&=\frac{B(\hat\alpha)}{B(\alpha)}\\
&=\frac{\prod_{k=1}^d\Gamma(\hat\alpha_k)}{\Gamma(A+2)}\frac{\Gamma(A)}{\prod_{k=1}^d\Gamma(\alpha_k)}\\
&=\frac{\alpha_i\alpha_j\prod_{k=1}^d\Gamma(\alpha_k)}{A(A+1)\Gamma(A)}\frac{\Gamma(A)}{\prod_{k=1}^d\Gamma(\alpha_k)}\\
&=\frac{\alpha_i\alpha_j}{A(A+1)}
\end{align*}
となります。共分散を計算すると
\begin{align*}
Cov[X_i,X_j]&=E[X_iX_j]-E[X_i]E[X_j]\\
&=\frac{\alpha_i\alpha_j}{A(A+1)}-\frac{\alpha_i\alpha_j}{A^2}\\
&=-\frac{\alpha_i\alpha_j}{A^2(A+1)}
\end{align*}
となることがわかりました。

まとめ

今回はディリクレ分布の平均、分散、共分散を計算してみました。

  • 平均は\begin{align*}E[X]=\frac\alpha{A}\end{align*}
  • 分散は\begin{align*}V[X_i]=\frac{\alpha_i(A-\alpha_i)}{A^2(A+1)}\end{align*}
  • 共分散は\begin{align*}Cov[X_i,X_j]=\frac{-\alpha_i\alpha_j}{A^2(A+1)}\qquad(i\ne j)\end{align*}

となりました。

次回はディリクレ分布に従う乱数の発生、ベイズとの関連などについて書こうと思います。
予定を変更してディリクレ分布の可視化(分布のプロット)について書きました。

はてなブックマーク - ディリクレ分布に関するメモ (2)
Pocket