誰でも理解できる条件付きガウス分布とその特性

# はじめに
[こちらの記事](https://qiita.com/typecprint/items/2745932fdaf36d763623#%E4%BA%88%E6%B8%AC%E5%88%86%E5%B8%83%E3%81%AE%E8%A8%88%E7%AE%97)で、**共分散行列を分割したのは、多変量ガウス分布の同時分布がガウス分布に従うとき、その変数を分割して、一方の変数集合が与えられたときに、もう一方もガウス分布に従うことはよく知られています。**と書きました。これを少し計算式を使って見ていきます。

# 多変量ガウス分布の定義
多変量ガウス分布の式をおさらいしておきます。
ここで$x$に依存するのはexp内の項であり、その手前にくっつているものは確率の正規化定数ということを思い出しておきましょう。

```math
\mathcal{N}(x|\mu,\Sigma)=\frac{1}{(2\pi)^{D/2}}\frac{1}{|\Sigma|^{1/2}}\exp{\left\{ -\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)\right\} }
\tag{1} \label{eq1}
```

# 分割
ガウス分布$\mathcal{N}(x|\mu,\Sigma)$に従う$D$次元ベクトル$x$を考えることにします。
この$x$を、[互いに素](https://ja.wikipedia.org/wiki/%E7%B4%A0%E9%9B%86%E5%90%88)な$x_a$, $x_b$という部分集合に分割します。

実際の問題で考えたら、正規分布からサンプリングされた複数のデータを、二分割しただけ、です。
このときのデータ$x$と、平均$\mu$、分散$\Sigma$も同様に分割して計算が可能です。

```math
x=\begin{pmatrix}
x_a \\
x_b \\
\end{pmatrix}
```

```math
\mu=\begin{pmatrix}
\mu_a \\
\mu_b \\
\end{pmatrix}
```

```math
\Sigma=\begin{pmatrix}
\Sigma_{aa} & \Sigma_{ab}\\
\Sigma_{ba} & \Sigma_{bb}\\
\end{pmatrix}
```

ではこれを$(\ref{eq1})$式のexp内の項に代入してみます。
共分散行列の逆行列として精度行列$\Lambda\equiv\Sigma^{-1}$を導入すると記述が簡単に済みます。

```math
-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)=-\frac{1}{2}
\begin{pmatrix}
d_a \\
d_b \\
\end{pmatrix}^T
\begin{pmatrix}
\Lambda_{aa} & \Lambda_{ab}\\
\Lambda_{ba} & \Lambda_{bb}\\
\end{pmatrix}
\begin{pmatrix}
d_a & d_b \\
\end{pmatrix}
```

ただし、$d_a=x_a-\mu_a$としました。丁寧に途中式を考えてあげると、

```math
\begin{pmatrix}
a \\
b \\
\end{pmatrix}^T
\begin{pmatrix}
w & x\\
y & z\\
\end{pmatrix}
\begin{pmatrix}
a & b \\
\end{pmatrix}=awa+bya+axb+bzb
```

を考えれば、同様に下記が得られます。

$$
=-\frac{1}{2}(x_a-\mu_a)^T\Lambda_{aa}(x_a-\mu_a)
$$$$
-\frac{1}{2}(x_a-\mu_a)^T\Lambda_{ab}(x_b-\mu_b)
$$$$
-\frac{1}{2}(x_b-\mu_b)^T\Lambda_{ba}(x_a-\mu_a)
$$$$
\begin{equation}
-\frac{1}{2}(x_b-\mu_b)^T\Lambda_{bb}(x_b-\mu_b) \tag{2} \label{eq2}
\end{equation}
$$

## 条件付き分布を同時分布の分割行列を用いて表現してみよう
ガウス過程回帰で説明したとおり、分割した$x_b$を固定し、条件付き分布$p(x_a|x_b)$を考えることにします。$x_b$は固定という話なので、変数は$x_a$だけ、と考えればよく、$x_a$について考えていきます。**この段階（変数は$x_a$だけ、と考えたとき）でじっと$(\ref{eq2})$式を見てみると、$x_a$に対する2次形式となっていることがわかります。つまりこの条件付き分布$p(x_a|x_b)$もガウス分布であるということがわかります。**

さて、条件付き分布$p(x_a|x_b)$の平均と共分散を算出しましょう。まずこのために一般的なガウス分布の指数部分が次のように記述可能であることを準備します。
今回は$p(x_a|x_b)$の平均と共分散を考えたいので、下記式の$\Sigma$は$\Sigma_{a|b}$と$\mu$は$\mu_{a|b}$と置き換えて読んでください。

$$
-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)=
$$$$
-\frac{1}{2}(x^T\Sigma^{-1}x-2x^T\Sigma^{-1}\mu+\mu\Sigma^{-1}\mu)=
$$$$
\begin{equation}
-\frac{1}{2}x^T\Sigma^{-1}x+x^T\Sigma^{-1}\mu+const. \tag{3} \label{eq3} 
\end{equation}
$$

この$(\ref{eq3})$式と$(\ref{eq2})$式を見比べて、共分散と平均を計算してやれば良いのです。
先程も述べたように、$x_b$は固定するので気にせず、$(\ref{eq2})$式の中で、$x_a$の２次形式となる項を見つけます。これは一目瞭然で、下記が得られます。

```math
-\frac{1}{2}x_a^T\Lambda_{aa}x_a \tag{4} \label{eq4}
```

この$(\ref{eq4})$式が$(\ref{eq3})$式と対応するわけですから、

```math
\Sigma_{a|b}=\Lambda_{aa}^{-1} \tag{5} \label{eq5}
```

が自然と得られます。次に$(\ref{eq1})$式の$x_a$の1次の項を見つけます。列挙すると、下記が得られます。

```math
x_a^T \left\{ \Lambda_{aa}\mu_a - \Lambda_{ab}(x_b-\mu_b) \right\}　\tag{6} \label{eq6}
```

ただし、$\Lambda_{ba}^T=\Lambda_{ab}$の関係を用いて式変形をしています。今度はこの$(\ref{eq6})$式が$(\ref{eq3})$式と対応するわけですから、

```math
\Sigma_{a|b}^{-1}\mu_{a|b}=\left\{ \Lambda_{aa}\mu_a - \Lambda_{ab}(x_b-\mu_b) \right\}\\
\mu_{a|b}=\Sigma_{a|b}\left\{ \Lambda_{aa}\mu_a - \Lambda_{ab}(x_b-\mu_b) \right\}\\
=\Lambda_{aa}^{-1}\left\{ \Lambda_{aa}\mu_a - \Lambda_{ab}(x_b-\mu_b) \right\}
```
$$
\begin{equation}
=\mu_a - \Lambda_{aa}^{-1}\Lambda_{ab}(x_b-\mu_b) \tag{7} \label{eq7}
\end{equation}
$$

となります。$(\ref{eq5})$式と$(\ref{eq7})$式で条件付き分布の平均と共分散を、同時分布の共分散行列の分割行列の要素を用いて表現できました。正確に言えば、共分散行列の逆行列である精度行列の要素を用いて表現できています。

## 分割行列の逆行列
さて、少し複雑な線形代数のお話。
一般的な分割行列の逆行列の問題です。いま、分割行列の共分散行列と精度行列の関係性は下記の通りです。

```math
\begin{pmatrix}
\Sigma_{aa} & \Sigma_{ab}  \\
\Sigma_{ba}  & \Sigma_{bb}  \\
\end{pmatrix}^{-1}=
\begin{pmatrix}
\Lambda_{aa} & \Lambda_{ab}  \\
\Lambda_{ba}  & \Lambda_{bb}  \\
\end{pmatrix}
```

これが解けると、**$(\ref{eq5})$式と$(\ref{eq7})$式を精度行列ではなく、共分散行列で表現できる気がしてきます**ね。結果として、[こちらの記事](https://qiita.com/typecprint/items/2745932fdaf36d763623#%E4%BA%88%E6%B8%AC%E5%88%86%E5%B8%83%E3%81%AE%E8%A8%88%E7%AE%97)で紹介した、ガウス過程回帰の分割行列の話が納得できます。

そのためには分割行列の一般逆行列の式を解き明かす必要があります。こんなやつ↓

```math
\begin{pmatrix}
W & V \\
U & T \\
\end{pmatrix}^{-1}=
\begin{pmatrix}
Q^{-1} & -Q^{-1}VT^{-1} \\
-T^{-1}UQ^{-1} & T^{-1}+T^{-1}UQ^{-1}VT^{-1} \\
\end{pmatrix}
```

```math
ただし、Q=W-VT^{-1}Uとする
```

PRMLでも演習2.24になっていますね。
そこらへんにたくさん解答は転がっていると思いますので、ここは割愛。
有名な[統計のための行列代数](https://www.amazon.co.jp/%E7%B5%B1%E8%A8%88%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E8%A1%8C%E5%88%97%E4%BB%A3%E6%95%B0-%E4%B8%8A-D-%E3%83%8F%E3%83%BC%E3%83%B4%E3%82%A3%E3%83%AB/dp/4621061453)の第8章の定理8.5.11を見てもらえれば証明も丁寧に書いてあります。

この式を用いて、精度行列を共分散行列で表してみると、

```math
Q=\Sigma_{aa}-\Sigma_{ab}\Sigma_{bb}^{-1}\Sigma_{ba} \\
\Lambda_{aa}=Q^{-1} \\
\Lambda_{ab}=-Q^{-1}\Sigma_{ab}\Sigma_{bb}^{-1}
```

となります。$(\ref{eq7})$式の$\mu_{a|b}$と$(\ref{eq5})$式の$\Sigma_{a|b}$に代入してやると、次式が得られます。

```math
\mu_{a|b}=\mu_a+Q^{-1}Q\Sigma_{ab}\Sigma_{bb}^{-1}(x_b-\mu_b)=\mu_a+\Sigma_{ab}\Sigma_{bb}^{-1}(x_b-\mu_b) \\
\Sigma_{a|b}=\Lambda_{aa}^{-1}=Q=\Sigma_{aa}-\Sigma_{ab}\Sigma_{bb}^{-1}\Sigma_{ba}
```

以上で条件付き分布$p(x_a|x_b)$の平均と共分散を記述できました。

## まとめ
元のガウス分布に従うデータを分割してあげると、条件付き分布もガウス分布になることがわかり、さらにその平均と共分散も導出できることがわかりました。以前の[ガウス過程回帰]((https://qiita.com/typecprint/items/2745932fdaf36d763623#%E4%BA%88%E6%B8%AC%E5%88%86%E5%B8%83%E3%81%AE%E8%A8%88%E7%AE%97))もこの特性を使って導くことが出来たというわけです。

今回は渋い話ですが、こんなところでおしまい。