ここ数日,訳あって相互情報量について調べていたのですが,こちらのスライドシェアの10枚目に気になる記述を発見しました.
(確率変数が連続で)正規分布を仮定する場合…相関係数の推定に帰着される
え?そうなの?これって自明?と思って色々ググってみたんですが,その証明が見当たらなかったので,自分で確かめてみました.
相互情報量とは?
非常に簡単にざっくり言うと,2つの確率変数がどのぐらい関わりがあるか?を表す量です.確率変数を連続値$x_1,x_2$とすると,相互情報量$I(x_1;x_2)$は以下のように定義されます.
$$
I(x_1;x_2)=\iint p(x_1,x_2)\log \frac{p(x_1,x_2)}{p(x_1)p(x_2)}dx_1dx_2\tag{1}
$$
必ず非負の値を取り,0だと$x_1$と$x_2$は独立です1.
同時分布の仮定
今回は$x_1,x_2$の同時分布が以下のような多次元正規分布であると仮定します.
$$
p(x_1,x_2)=\mathcal{N}(\mathbf{x}|{\boldsymbol \mu},\Sigma)\tag{2}
$$
ここでは表記の簡略化のために$\mathbf{x}, {\boldsymbol \mu}, \Sigma$を以下のように定義しています.
$$
\mathbf{x}=\begin{pmatrix}
x_1\
x_2
\end{pmatrix}\
{\boldsymbol \mu}=\begin{pmatrix}
\mu_1\
\mu_2\
\end{pmatrix}\
\Sigma=\begin{pmatrix}
\sigma_1^2 & \sigma_{12} \
\sigma_{21} & \sigma_2^2 \
\end{pmatrix}
$$
${\boldsymbol \mu}$は正規分布の平均,$\Sigma$は共分散行列を表しています.$\Sigma$は正定値実対称行列なので$\sigma_{12}=\sigma_{21}$です.これらのパラメータも既知であるとします.
ここで後ほど計算に用いるので,周辺分布$p(x_1),p(x_2)$を同時分布から求めておきます.正規分布は周辺化されても正規分布という性質があり2
$$
\begin{align}
p(x_1)&=\mathcal{N}(x_1|\mu_1,\sigma_1^2)\tag{3}\
p(x_2)&=\mathcal{N}(x_2|\mu_2,\sigma_2^2)\tag{4}\
\end{align}
$$
となります.
相互情報量の解析解の導出
先ほど示した相互情報量の定義$(1)$を変形すると,エントロピー$H[x_1],H[x_2],H[x_1,x_2]$で表現できることが分かります.
$$
\begin{align}
I(x_1;x_2)&=\iint p(x_1,x_2)\log \frac{p(x_1,x_2)}{p(x_1)p(x_2)}dx_1dx_2\
&=-\int p(x_1)\log p(x_1)dx_1-\int p(x_2)\log p(x_2)dx_2+\iint p(x_1,x_2)\log p(x_1,x_2)dx_1dx_2\
&=H[x_1]+H[x_2]-H[x_1,x_2]\tag{5}
\end{align}
$$
これらのエントロピーは$p(x_1),p(x_2),p(x_1,x_2)$が正規分布であることから計算可能で
$$
\begin{align}
H[x_1]&=\frac{1}{2}(1+\log{\sigma_{1}^2}+\log{2\pi})\
H[x_2]&=\frac{1}{2}(1+\log{\sigma_{2}^2}+\log{2\pi})\
H[x_1,x_2]&=\frac{1}{2}\{\log{(\det{\Sigma})}+2(\log{2\pi}+1)\}
\end{align}
$$
となります3.したがってこれらを$(5)$に代入して整理すると
$$
\begin{align}
I(x_1;x_2)&=\frac{1}{2}\left\{\log{\sigma_{1}^2}+\log{\sigma_{2}^2}-\log{(\det{\Sigma}})\right\}\
&=\frac{1}{2}\left(\log{\frac{\sigma_{1}^2\sigma_{2}^2}{\det{\Sigma}}}\right)\
\end{align}
$$
ここで$\Sigma$は$2\times 2$行列なので
$$
\begin{align}
\det\Sigma&=\sigma_1^2\sigma_2^2-\sigma_{12}\sigma_{21}\
&=\sigma_1^2\sigma_2^2-\sigma_{12}^2
\end{align}
$$と簡単に計算できます.これを代入してさらに整理していくと
$$
\begin{align}
I(x_1;x_2)&=\frac{1}{2}\log\left(\frac{\sigma_{1}^2 \sigma_{2}^2}{\sigma_1^2 \sigma_2^2 - \sigma_{12}^2}\right) \
&=-\frac{1}{2}\log\left(\frac{\sigma_1^2 \sigma_2^2 - \sigma_{12}^2}{\sigma_{1}^2 \sigma_{2}^2}\right)\
&=-\frac{1}{2}\log\left(1-\frac{\sigma_{12}^2}{\sigma_{1}^2 \sigma_{2}^2}\right)
\end{align}
$$
ここで相関係数
$$
\rho(x_1,x_2)=\frac{\sigma_{12}}{\sigma_1\sigma_2}
$$
を代入すると
$$
I(x_1,x_2)=-\frac{1}{2}\log{\left\{1-\rho(x_1,x_2)^2\right\}}\tag{6}
$$
となり,相互情報量が相関係数のみに依存する形で表現することができました.
実際のシチュエーションでは確率変数$x_1,x_2$の同時分布が既知であることはまれで,その代わりにサンプル$\{(x_1^{(n)},x_2^{(n)})\}_{n=1}^N$が与えられていることがほとんどだと思います.サンプルが正規分布に従うと仮定できれば,相関係数を求めることで式$(6)$により相互情報量を求めることが可能になります.
また,式$(6)$を見ると$\rho(x_1,x_2)=0$であれば$I(x_1,x_2)=0$であるため,正規分布に従う2つの確率変数が無相関である場合は独立であることが分かります.
Pythonによるサンプルコード
準備中…
-
https://mathtrain.jp/mutualinfo こちらに証明があります.リンク先は確率変数が離散の場合ですが,違いはintegralかsummationかぐらいの違いです. ↩
-
詳しくはPRML(上)p.85から始まる2.3.5周辺ガウス分布などをご覧ください. ↩
-
https://nzw0301.github.io/2015/07/prml2_15 こちらのブログに詳しい計算過程があります. ↩