はしくれエンジニアもどきのメモ

情報・Web系技術・Englishの勉強メモ・備忘録です。

グラフィカルモデリング・機械学習などでよく使う正規分布の性質

グラフィカルモデリング機械学習などでよく使う正規分布の性質

グラフィカルモデリング機械学習などでよく使う正規分布の性質のメモ

随時追加予定.

参考:

正規分布に従う確率変数を線形変換してもまた正規分布になる

参考:永田靖, 多変量解析法入門, p.41


\vec{x} \sim \mathrm{Norm}_{\vec{x}}(\vec{\mu}, \mathbf{\Sigma})

として,行列$\mathbf{A}$での線形変換$\mathbf{A}\vec{x}$を考える

期待値と分散の線形変換を考えればいい.

$$ E[ \mathbf{A}\vec{x} ] = \mathbf{A} E[\vec{x}] = \mathbf{A} \vec{\mu} $$


\begin{eqnarray}
Var[ \mathbf{A}\vec{x} ]
&=& E[ (\mathbf{A}\vec{x} - E[\mathbf{A}\vec{x}] ) (\mathbf{A}\vec{x} - E[ \mathbf{A}\vec{x}] )^{T} ] \\\\
&=& E[ (\mathbf{A}\vec{x} - \mathbf{A}E[\vec{x}] ) (\mathbf{A}\vec{x} -  \mathbf{A}E[\vec{x}])] ])^{T} ] \\\\
&=& E[ \mathbf{A}(\vec{x} - E[\vec{x}] ) (\vec{x} - E[\vec{x}])^{T}\mathbf{A}^{T} ] \\\\
&=& \mathbf{A}E[ (\vec{x} - E[\vec{x}] ) (\vec{x} - E[\vec{x}])^{T} ] \mathbf{A}^{T}\\\\
&=& \mathbf{A}Var[ \vec{x} ] \mathbf{A}^{T}\\\\
&=& \mathbf{A} \mathbf{\Sigma} \mathbf{A}^{T}
\end{eqnarray}

よって,


\mathbf{A} \vec{x} \sim \mathrm{Norm}_{\mathbf{A}\vec{x}}(\mathbf{A}\vec{\mu}, \mathbf{A}\mathbf{\Sigma}\mathbf{A}^{T})

例:2次元 to 1次元

また,これは次元数の変換にもなる.


\vec{x} \sim \mathrm{Norm}_{\vec{x}}\left[
\begin{pmatrix}
1 \\
-1
\end{pmatrix}, \mathbf{I}_{2} \right]

次の行列で線形変換,つまり和$x_{1} + x_{2}$の正規分布にとなる.

$$ \mathbf{A} = \begin{pmatrix} 1 & 1 \end{pmatrix} $$

$$ \mathbf{A} \vec{x} \sim \mathrm{Norm}_{\mathbf{A} \vec{x}}(0, 2) $$

import scipy as sp
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import scipy.stats as stats

%matplotlib inline

xmin, xmax, ymin, ymax = -3, 3, -3, 3
x, y = sp.mgrid[xmin:xmax:.01, ymin:ymax:.01]
mu = sp.array([+1, -1])
cov = sp.identity(2)
N2 = stats.multivariate_normal(mean=mu, cov=cov)
pos = sp.dstack((x, y[:,::-1]))
# print(pos)
pdf = N2.pdf(pos)

fig = plt.figure(figsize=(4, 8))
gs = gridspec.GridSpec(2, 1)

ax = fig.add_subplot(gs[0, 0])
ax.imshow(pdf, cmap="hot", extent=[xmin, xmax, ymin, ymax])
# plt.contourf(x, y, pdf, cmap="hot", )
ax.set_title("$N((+1,-1), \\mathbf{I}_{2} )$")
ax.set_xlabel("$x_{1}$")
ax.set_ylabel("$x_{2}$")

# Ax
A = sp.matrix([1, 1])
N = stats.multivariate_normal(mean=A.dot(mu), cov=A.dot(cov).dot(A.T))
x_ = sp.linspace(-3, 3, 200)

ax = fig.add_subplot(gs[1, 0])
ax.plot(x_, N.pdf(x_))
ax.set_title("$\mathbf{A}\\vec{x} \sim N(0, 2)$")

plt.tight_layout()
plt.show()

線形変換

多次元正規分布を周辺化してもまた正規分布になる

多次元正規分布に従う確率変数ベクトルを次のような2つのブロックに分ける.


\begin{eqnarray}
Pr(\vec{x})
&=&
Pr\left(
\begin{pmatrix}
\vec{x}_{1} \\
\vec{x}_{2}
\end{pmatrix}
\right) \\\\
&=&
\mathrm{Norm}_{\vec{x}}
\left[
\begin{pmatrix}
\vec{\mu}_{1} \\
\vec{\mu}_{2}
\end{pmatrix},
\begin{pmatrix}
\Sigma_{11} & \Sigma_{12} \\
\Sigma_{12}^{T} & \Sigma_{22}
\end{pmatrix}
\right]
\end{eqnarray}

このとき,$\vec{x}_{2}$で周辺化して消去すると,$\vec{1}$の正規分布になる.


\begin{eqnarray}
Pr\left(\vec{x}_{1}\right)
= \text{Norm}_{\vec{x1}}\left[ \vec{\mu}_{1}, \mathbf{\Sigma}_{11} \right]
\end{eqnarray}

同様に,$\vec{x}_{1}$で周辺化して消去すると,$\vec{2}$の正規分布になる.


\begin{eqnarray}
Pr\left(\vec{x}_{2}\right)
= \text{Norm}_{\vec{x2}}\left[ \vec{\mu}_{2},\mathbf{ \Sigma}_{22} \right]
\end{eqnarray}

補題:ブロック行列の逆行列の導出

参考:SimonJ.D.Prince,Computer Vision Models, Learning, and Inference, Problem 5.4


\begin{eqnarray}
\begin{pmatrix}
\mathbf{W} & \mathbf{X} \\
\mathbf{Y} & \mathbf{Z}
\end{pmatrix}
&=&
\begin{pmatrix}
\mathbf{A} & \mathbf{B} \\
\mathbf{C} & \mathbf{D}
\end{pmatrix}^{-1} \\\\
&=&
\begin{pmatrix}
(\mathbf{A} - \mathbf{B}\mathbf{D}^{-1}\mathbf{C})^{-1} & -(\mathbf{A} - \mathbf{B}\mathbf{D}^{-1}\mathbf{C})^{-1}\mathbf{B}\mathbf{D}^{-1} \\
-\mathbf{D}^{-1}\mathbf{C}(\mathbf{A} - \mathbf{B}\mathbf{D}^{-1}\mathbf{C})^{-1} & \mathbf{D}+\mathbf{D}^{-1}\mathbf{C}(\mathbf{A} - \mathbf{B}\mathbf{D}^{-1}\mathbf{C})^{-1}\mathbf{B}\mathbf{D}^{-1}
\end{pmatrix}
\end{eqnarray}

を求める.

導出:


\begin{pmatrix}
\mathbf{I} & \mathbf{0} \\
\mathbf{0} & \mathbf{I}
\end{pmatrix}
=
\begin{pmatrix}
\mathbf{A} & \mathbf{B} \\
\mathbf{C} & \mathbf{D}
\end{pmatrix}
\begin{pmatrix}
\mathbf{W} & \mathbf{X} \\
\mathbf{Y} & \mathbf{Z}
\end{pmatrix}
=
\begin{pmatrix}
\mathbf{A}\mathbf{W}+\mathbf{B}\mathbf{Y} & \mathbf{A}\mathbf{X}+\mathbf{B}\mathbf{Z} \\
\mathbf{C}\mathbf{W}+\mathbf{D}\mathbf{Y} & \mathbf{C}\mathbf{X}+\mathbf{D}\mathbf{Z}
\end{pmatrix}

を満たすように求める.

4つの連立方程式が出てくる.


\begin{eqnarray}
\mathbf{A}\mathbf{W}+\mathbf{B}\mathbf{Y} &=& \mathbf{I} \cdots (1) \\\\
\mathbf{A}\mathbf{X}+\mathbf{B}\mathbf{Z} &=& \mathbf{0} \cdots (2) \\\\
\mathbf{C}\mathbf{W}+\mathbf{D}\mathbf{Y} &=& \mathbf{0} \cdots (3) \\\\
\mathbf{C}\mathbf{X}+\mathbf{D}\mathbf{Z} &=& \mathbf{I} \cdots (4)
\end{eqnarray}

これを解くことで$\mathbf{W}, \mathbf{X}, \mathbf{Y}, \mathbf{Z}$ を求められる.

$\mathbf{W}$:

(3)より$\mathbf{Y} = -\mathbf{D}^{-1}\mathbf{C}\mathbf{W}$

(1)より,

$$ \mathbf{A}\mathbf{W}+\mathbf{B}(-\mathbf{D}^{-1}\mathbf{C}\mathbf{W}) = \mathbf{I}\\ (\mathbf{A} - \mathbf{B}\mathbf{D}^{-1}\mathbf{C})\mathbf{W} = \mathbf{I}\\ \mathbf{W} = (\mathbf{A} - \mathbf{B}\mathbf{D}^{-1}\mathbf{C})^{-1} $$

$\mathbf{Y}$:

$$ \mathbf{Y} = -\mathbf{D}^{-1}\mathbf{C}\mathbf{W} = -\mathbf{D}^{-1}\mathbf{C}(\mathbf{A} - \mathbf{B}\mathbf{D}^{-1}\mathbf{C})^{-1} $$

$\mathbf{X}$:

(4)式より,$\mathbf{Z} = \mathbf{D}^{-1}(\mathbf{I} - \mathbf{C}\mathbf{X})$

(2)式に代入して

$$ \mathbf{A}\mathbf{X}+\mathbf{B}\mathbf{Z} = \mathbf{0}\\ \mathbf{A}\mathbf{X}+\mathbf{B}(\mathbf{D}^{-1}(\mathbf{I} - \mathbf{C}\mathbf{X})) = \mathbf{0}\ \mathbf{A}\mathbf{X}+\mathbf{B}\mathbf{D}^{-1} - \mathbf{B}\mathbf{D}^{-1}\mathbf{C}\mathbf{X} = \mathbf{0} \\ \mathbf{A}\mathbf{X} - \mathbf{B}\mathbf{D}^{-1}\mathbf{C}\mathbf{X} = - \mathbf{B}\mathbf{D}^{-1} \\ (\mathbf{A} - \mathbf{B}\mathbf{D}^{-1}\mathbf{C})\mathbf{X} = - \mathbf{B}\mathbf{D}^{-1} \\ \mathbf{X} = - (\mathbf{A} - \mathbf{B}\mathbf{D}^{-1}\mathbf{C})^{-1}\mathbf{B}\mathbf{D}^{-1} $$

$\mathbf{Z}$:


\begin{eqnarray}
\mathbf{Z}
&=& \mathbf{D}^{-1} - \mathbf{D}^{-1}\mathbf{C}\mathbf{X} \\\\
&=& \mathbf{D}^{-1} - \mathbf{D}^{-1}\mathbf{C}(- (\mathbf{A} - \mathbf{B}\mathbf{D}^{-1}\mathbf{C})^{-1} \mathbf{B}\mathbf{D}^{-1}) \\\\
&=& \mathbf{D}^{-1} + \mathbf{D}^{-1}\mathbf{C}(\mathbf{A} - \mathbf{B}\mathbf{D}^{-1}\mathbf{C})^{-1}\mathbf{B}\mathbf{D}^{-1}
\end{eqnarray}

導出

確率密度関数(pdf)の中の逆行列をブロック行列に置き換える.


\begin{pmatrix}
\mathbf{W} & \mathbf{X} \\
\mathbf{Y} & \mathbf{Z}
\end{pmatrix}
=
\begin{pmatrix}
\mathbf{\Sigma}_{11} & \mathbf{\Sigma}_{12} \\
\mathbf{\Sigma}_{12}^{T} & \mathbf{\Sigma}_{22}
\end{pmatrix} ^{-1}

$\mathrm{dim}(\vec{x}_{1}) = D_{1}, \mathrm{dim}(\vec{x}_{2}) = D_{2}, \mathrm{dim}(\vec{x}) = D_{1} + D_{2}$とする.


Pr(\vec{x})
= \frac{1}{ (2 \pi)^{ \frac{D_{1} + D_{2}}{2} } |\mathbf{\Sigma}|^{\frac{1}{2}} } \exp{\left[ -\frac{1}{2}
\begin{pmatrix}
\vec{x}_{1} - \vec{\mu}_{1} \\
\vec{x}_{2} - \vec{\mu}_{2}
\end{pmatrix}^{T}
\begin{pmatrix}
\mathbf{W} & \mathbf{X} \\
\mathbf{Y} & \mathbf{Z}
\end{pmatrix}
\begin{pmatrix}
\vec{x}_{1} - \vec{\mu}_{1} \\
\vec{x}_{2} - \vec{\mu}_{2}
\end{pmatrix}
\right] }

ブロック行列の逆行列より,


\begin{eqnarray}
\begin{pmatrix}
\mathbf{W} & \mathbf{X} \\
\mathbf{Y} & \mathbf{Z}
\end{pmatrix}
&=&
\begin{pmatrix}
\mathbf{\Sigma}_{11} & \mathbf{\Sigma}_{12} \\
\mathbf{\Sigma}_{12}^{T} & \mathbf{\Sigma}_{22}
\end{pmatrix} ^{-1} \\\\
&=&
\begin{pmatrix}
(\mathbf{\Sigma}_{11} - \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T})^{-1} & -(\mathbf{\Sigma}_{11} - \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T})^{-1}\mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\\
-\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T}(\mathbf{\Sigma}_{11}  - \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T})^{-1} & \mathbf{\Sigma}_{22}^{-1}+\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T}(\mathbf{\Sigma}_{11} - \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T})^{-1}\mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}
\end{pmatrix}
\end{eqnarray}

ブロック行列を使ってpdfを展開する.


\begin{eqnarray}
Pr(\vec{x})
&=&
\frac{1}{(2\pi)^{ \frac{D_{1} + D_{2}}{2} } |\mathbf{\Sigma}|^{ \frac{1}{2} } }
\exp{\left[ -\frac{1}{2} \left\{
(\vec{x}_{1} - \vec{\mu}_{1} )^{T} \mathbf{W} (\vec{x}_{1} - \vec{\mu}_{1} )
+ (\vec{x}_{2} - \vec{\mu}_{2} )^{T} \mathbf{Y} (\vec{x}_{1} - \vec{\mu}_{1} )
+ (\vec{x}_{1} - \vec{\mu}_{1} )^{T} \mathbf{X} (\vec{x}_{2} - \vec{\mu}_{2} )
+ (\vec{x}_{2} - \vec{\mu}_{2} )^{T} \mathbf{Z} (\vec{x}_{2} - \vec{\mu}_{2} )
\right\} \right] } \\\\
&=&
\frac{1}{(2\pi)^{ \frac{D_{1} + D_{2}}{2} } |\mathbf{\Sigma}|^{ \frac{1}{2} } }
\exp{\left[ -\frac{1}{2} \left\{
(\vec{x}_{1} - \vec{\mu}_{1} )^{T} \mathbf{W} (\vec{x}_{1} - \vec{\mu}_{1} )
+ 2(\vec{x}_{1} - \vec{\mu}_{1} )^{T} \mathbf{X} (\vec{x}_{2} - \vec{\mu}_{2} )
+ (\vec{x}_{2} - \vec{\mu}_{2} )^{T} \mathbf{Z} (\vec{x}_{2} - \vec{\mu}_{2} )
\right\} \right] } \\\\
\end{eqnarray}

ここから$\vec{x}_{1}$について2次形式の形を作る.

クロス項の変形:


2(\vec{x}_{1} - \vec{\mu}_{1} )^{T} \mathbf{W}\mathbf{W}^{-1} \mathbf{X} (\vec{x}_{2} - \vec{\mu}_{2} )

定数項の追加:


(\vec{x}_{2} - \vec{\mu}_{2} )^{T} \mathbf{X}^{T}\mathbf{W}^{-T} \mathbf{W}\mathbf{W}^{-1} \mathbf{X} (\vec{x}_{2} - \vec{\mu}_{2} ) - (\vec{x}_{2} - \vec{\mu}_{2} )^{T} \mathbf{X}^{T}\mathbf{W}^{-T} \mathbf{W}\mathbf{W}^{-1} \mathbf{X} (\vec{x}_{2} - \vec{\mu}_{2} )

\begin{eqnarray}
Pr(\vec{x})
&=&
\frac{1}{(2\pi)^{ \frac{D_{1} + D_{2}}{2} } |\mathbf{\Sigma}|^{ \frac{1}{2} } }
\exp{\left[
  -\frac{1}{2} \left\{
(\vec{x}_{1} - \vec{\mu}_{1} )^{T} \mathbf{W} (\vec{x}_{1} - \vec{\mu}_{1} )
+ 2(\vec{x}_{1} - \vec{\mu}_{1} )^{T} \mathbf{W}\mathbf{W}^{-1} \mathbf{X} (\vec{x}_{2} - \vec{\mu}_{2} )
+ (\vec{x}_{2} - \vec{\mu}_{2} )^{T} \mathbf{X}^{T}\mathbf{W}^{-T} \mathbf{W}\mathbf{W}^{-1} \mathbf{X} (\vec{x}_{2} - \vec{\mu}_{2} )
\right\}
\right] }
\cdot \exp{ \left[ -\frac{1}{2}
\left\{
(\vec{x}_{2} - \vec{\mu}_{2} )^{T} \mathbf{Z} (\vec{x}_{2} - \vec{\mu}_{2} )
- (\vec{x}_{2} - \vec{\mu}_{2} )^{T} \mathbf{X}^{T}\mathbf{W}^{-T} \mathbf{W}\mathbf{W}^{-1} \mathbf{X} (\vec{x}_{2} - \vec{\mu}_{2} )
\right\}
\right] } \\\\
&=&
\frac{1}{(2\pi)^{ \frac{D_{1} + D_{2}}{2} } |\mathbf{\Sigma}|^{ \frac{1}{2} } }
\exp{\left[ -\frac{1}{2} \left\{
(\vec{x}_{1} - \vec{\mu}_{1} + \mathbf{W}^{-1}\mathbf{X}(\vec{x}_{2} - \vec{\mu}_{2}) )^{T} \mathbf{W} (\vec{x}_{1} - \vec{\mu}_{1} + \mathbf{W}^{-1}\mathbf{X}(\vec{x}_{2} - \vec{\mu}_{2}) )
\right\}
\right] } \cdot \\\\
\exp{ \left[ -\frac{1}{2}
\left\{
(\vec{x}_{2} - \vec{\mu}_{2} )^{T} (\mathbf{Z} - \mathbf{X}^{T}\mathbf{W}^{-1} \mathbf{X}) (\vec{x}_{2} - \vec{\mu}_{2} )
\right\}
\right] }
\end{eqnarray}

\begin{eqnarray}
\mathbf{Z} - \mathbf{X}^{T}\mathbf{W}^{-1} \mathbf{X}
&=&
\mathbf{\Sigma}_{22}^{-1}+\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T}(\mathbf{\Sigma}_{11} - \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T})^{-1}\mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1} -  (-\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T}(\mathbf{\Sigma}_{11}  - \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T}) \mathbf{\Sigma}_{11} - \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T})  ( -(\mathbf{\Sigma}_{11} - \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T})^{-1}\mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1})  \\\\
&=& \mathbf{\Sigma}_{22}^{-1}+\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T}(\mathbf{\Sigma}_{11} - \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T})^{-1}\mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1} -  (-\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T}(\mathbf{\Sigma}_{11}  - \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T})^{-1})
(\mathbf{\Sigma}_{11} - \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T})
( -(\mathbf{\Sigma}_{11} - \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T})^{-1}\mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}) \\\\
&=&
\mathbf{\Sigma}_{22}+\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T}(\mathbf{\Sigma}_{11} - \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T})^{-1}\mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1} -  (\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T}
(\mathbf{\Sigma}_{11} - \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T})^{-1}\mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1})  \\\\
&=&
\mathbf{\Sigma}_{22}^{-1}
\end{eqnarray}

ブロック行列の行列式より


\mathrm{det}\left(
\begin{pmatrix}
\mathbf{\Sigma}_{11} & \mathbf{\Sigma}_{12} \\
\mathbf{\Sigma}_{12}^{T} & \mathbf{\Sigma}_{22}
\end{pmatrix}
\right)
=
|\mathbf{\Sigma}_{22}| | \mathbf{\Sigma}_{11} - \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T} | \\\\
= |\mathbf{\Sigma}_{22}| |\mathbf{W}^{-1}|

以上より2つの正規分布に分けられる.


\begin{eqnarray}
Pr(\vec{x})
&=&  \frac{1}{(2\pi)^{ \frac{D_{1}}{2} } |\mathbf{W}^{-1}|^{ \frac{1}{2} } }
\exp{\left[ -\frac{1}{2} \left\{
(\vec{x}_{1} - \vec{\mu}_{1} + \mathbf{W}^{-1}\mathbf{X}(\vec{x}_{2} - \vec{\mu}_{2}) )^{T} \mathbf{W} (\vec{x}_{1} - \vec{\mu}_{1} + \mathbf{W}^{-1}\mathbf{X}(\vec{x}_{2} - \vec{\mu}_{2}) )
\right\}
\right] }
\cdot
\frac{1}{(2\pi)^{ \frac{D_{2}}{2}} |\mathbf{\Sigma}_{22}| }
\exp{ \left[ -\frac{1}{2}
\left\{
(\vec{x}_{2} - \vec{\mu}_{2} )^{T} \mathbf{\Sigma}_{22}^{-1} \mathbf{X}) (\vec{x}_{2} - \vec{\mu}_{2} )
\right\}
\right] } \\\\
&=&
\mathrm{Norm}_{\vec{x_{1}}}\left[ \vec{\mu}_{1} - \mathbf{W}^{-1}\mathbf{X}(\vec{x}_{2} - \vec{\mu}_{2}), \mathbf{W}^{-1}\right]
\cdot
\mathrm{Norm}_{\vec{x_{2}}}\left[ \vec{\mu}_{2},  \mathbf{\Sigma}_{22} \right]
\end{eqnarray}

よって,$\vec{x_{1}}$で周辺化すると


\begin{eqnarray}
\int Pr(\vec{x}) d\vec{1}
&=& \int \mathrm{Norm}_{\vec{x_{1}}}\left[ \vec{\mu}_{1} - \mathbf{W}^{-1}\mathbf{X}(\vec{x}_{2} - \vec{\mu}_{2}), \mathbf{W}^{-1}\right] d\vec{x_{1}} \cdot \mathrm{Norm}_{\vec{x_{2}}}\left[ \vec{\mu}_{2},  \mathbf{\Sigma}_{22} \right] \\\\
&=& \mathrm{Norm}_{\vec{x_{2}}}\left[ \vec{\mu}_{2},  \mathbf{\Sigma}_{22}\right]
\end{eqnarray}

条件付分布もまた正規分布になる

同時分布の周辺化からそのまま導出できる. 同時分布と条件付分布の関係は,確率の乗法定理(場合によってはbayes ruleともいう)より,


\begin{eqnarray}
Pr(\vec{x}_{1}, \vec{x}_{2})
&=& Pr(\vec{x}_{1} | \vec{x}_{2}) \cdot Pr(\vec{x}_{2}) \\\\
Pr(\vec{x}_{1} | \vec{x}_{2})
&=&  \frac{ Pr(\vec{x}_{1}, \vec{x}_{2}) }{ Pr(\vec{x}_{2}) }
\end{eqnarray}

つまり,同時分布から$\vec{x_{2}}$の分布の項を消せば条件付分布になる.

同時分布の周辺化より,


\begin{eqnarray}
\int Pr(\vec{x}) d\vec{x}_{1}
&=&
\int Pr(\vec{x}_{1}, \vec{x}_{2}) d\vec{x}_{1} \\\\
&=& \int \mathrm{Norm}_{\vec{x_{1}}}\left[ \vec{\mu}_{1} - \mathbf{W}^{-1}\mathbf{X}(\vec{x}_{2} - \vec{\mu}_{2}), \mathbf{W}^{-1}\right] d\vec{x_{1}} \cdot \mathrm{Norm}_{\vec{x_{2}}}\left[ \vec{\mu}_{2},  \mathbf{\Sigma}_{22} \right] \\\\
&=& \mathrm{Norm}_{\vec{x_{2}}}\left[ \vec{\mu}_{2},  \mathbf{\Sigma}_{22}\right]
\end{eqnarray}

だったので,


\begin{eqnarray}
Pr(\vec{x}_{1}, \vec{x}_{2})
&=& Pr(\vec{x}_{1} | \vec{2}_{2}) \cdot Pr(\vec{x}_{2}) \\\\
&=& \mathrm{Norm}_{\vec{x_{1}}}\left[ \vec{\mu}_{1} - \mathbf{W}^{-1}\mathbf{X}(\vec{x}_{2} - \vec{\mu}_{2}), \mathbf{W}^{-1}\right]  \cdot \mathrm{Norm}_{\vec{x_{2}}}\left[ \vec{\mu}_{2},  \mathbf{\Sigma}_{22} \right]
\end{eqnarray}

よって,積分で周辺化してた項が条件付分布になっている.


\begin{eqnarray}
Pr(\vec{x}_{1} | \vec{2}_{2})
&=&
\frac{Pr(\vec{x}_{1} , \vec{x}_{2})}{Pr(\vec{x}_{2})} \\\\
&=&
\mathrm{Norm}_{\vec{x_{1}}}\left[ \vec{\mu}_{1} - \mathbf{W}^{-1}\mathbf{X}(\vec{x}_{2} - \vec{\mu}_{2}), \mathbf{W}^{-1}\right]
\end{eqnarray}

平均と分散の記号を直せば,


\begin{eqnarray}
\mathbf{W}^{-1}
&=&
\mathbf{\Sigma}_{11} - \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T}\\\\
\mathbf{X}
 &=&
 -(\mathbf{\Sigma}_{11} - \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T})^{-1}\mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}
\end{eqnarray}

よって,条件付正規分布の平均パラメータは,


\vec{\mu}_{1} - \mathbf{W}^{-1}\mathbf{X}(\vec{x}_{2} - \vec{\mu}_{2}) = \vec{\mu}_{1} + \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}(\vec{x}_{2} - \vec{\mu}_{2})
\\\\

よって,


Pr(\vec{x}_{1} | \vec{x}_{2}=\vec{x}_{2}^{*})
= \mathrm{Norm}\left[ \vec{\mu}_{1} + \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}(\vec{x}_{2}^{*} - \vec{\mu}_{2}), \mathbf{\Sigma}_{11} - \mathbf{\Sigma}_{12}\mathbf{\Sigma}_{22}^{-1}\mathbf{\Sigma}_{12}^{T} \right]

$\vec{x}_{1}$と$\vec{x}_{2}$を入れ替えた条件付分布も同様で,添え字を入れ替えるだけで求められる


Pr(\vec{x}_{2} | \vec{x}_{1}=\vec{x}_{1}^{*})
= \mathrm{Norm}\left[ \vec{\mu}_{2} + \mathbf{\Sigma}_{12}^{T}\mathbf{\Sigma}_{11}^{-1}(\vec{x}_{1}^{*} - \vec{\mu}_{1}), \mathbf{\Sigma}_{22} - \mathbf{\Sigma}_{12}^{T}\mathbf{\Sigma}_{11}^{-1}\mathbf{\Sigma}_{12} \right]

正規分布の密度関数(pdf)の積もまた正規分布になる

正規分布に従う確率変数ベクトル$\vec{x}$があり, この確率変数ベクトルについて平均と分散が異なる確率密度関数(pdf)の積 もまた正規分布になる.

結果として以下の正規分布になる.


\begin{eqnarray}
\mathrm{Norm}_{\vec{x}}\left[ \vec{a}, \mathbf{A} \right] \cdot \mathrm{Norm}_{\vec{x}}\left[ \vec{b}, \mathbf{B} \right]
&=&
\kappa \cdot \mathrm{Norm}_{\vec{x}}\left[ (\mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1}(\mathbf{A}^{-1}\vec{a} + \mathbf{B}^{-1}\vec{b}), (\mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1} \right]
\end{eqnarray}

\begin{eqnarray}
\kappa
&=& \mathrm{Norm}_{\vec{a}} \left[\vec{b}, \mathbf{A} + \mathbf{B} \right] \\\\
&=& \mathrm{Norm}_{\vec{b}} \left[\vec{a}, \mathbf{A} + \mathbf{B} \right]
\end{eqnarray}

導出

積の対象の正規分布を以下とする.


\begin{eqnarray}
\mathrm{Norm}_{\vec{x}}\left[ \vec{a}, \mathbf{A} \right]
&=& \frac{1}{(2 \pi)^{D/2} |\mathbf{A}|^{1/2} } \exp{[(\vec{x} - \vec{a})^{T}\mathbf{A}^{-1}(\vec{x} - \vec{a}) ]} \\\\
\mathrm{Norm}_{\vec{x}}\left[ \vec{b}, \mathbf{B}\right]
&=& \frac{1}{(2 \pi)^{D/2} | \mathbf{B}|^{1/2} } \exp{[ -\frac{1}{2}(\vec{x} - \vec{b})^{T}\mathbf{B}^{-1}(\vec{x} - \vec{b}) ]}
\end{eqnarray}

このpdfの積は,以下になる.


\begin{eqnarray}
\mathrm{Norm}_{ \vec{x} }\left[ \vec{a}, \mathbf{A}\right] \cdot \mathrm{Norm}_{ \vec{x} }\left[ \vec{b}, \mathbf{B} \right]
&=& \frac{1}{(2\pi)^{D} |\mathbf{A}|^{1/2}  | \mathbf{B}|^{1/2} }
\exp{ \left\{ -\frac{1}{2} \left( (\vec{x} - \vec{a})^{T}\mathbf{A}^{-1}(\vec{x} - \vec{a}) +  (\vec{x} - \vec{b})^{T}\mathbf{B}^{-1}(\vec{x} - \vec{b}) \right) \right\} }
\end{eqnarray}

expの中を展開する.


\begin{eqnarray}
x^{T} (\mathbf{A}^{-1} + \mathbf{B}^{-1}) \vec{x}
- \vec{x}^{T} (\mathbf{A}^{-1}\vec{a} + \vec{B}^{-1}\vec{b} )
- (\vec{a}^{T}\mathbf{A}^{-1} + \vec{b}^{T} \mathbf{B}^{-1} )\vec{x}
+ (\vec{a}^{T}\mathbf{A}^{-1}\vec{a} + \vec{b}^{T} \mathbf{B}^{-1}\vec{b})
\end{eqnarray}

共分散行列は対称行列, 対称行列の逆行列も対称行列より,以下の関係が成立することに注意する.

$$ (\mathbf{A}^{-1})^{T} = \mathbf{A}^{-1} \\ (\mathbf{B}^{-1})^{T} = \mathbf{B}^{-1} $$

そして,以下の記号で置き換えると,

$$ \mathbf{C} = \mathbf{A}^{-1} + \mathbf{B}^{-1} \\ \vec{d} = \mathbf{A}^{-1}\vec{a} + \vec{B}^{-1}\vec{b} $$


\begin{eqnarray}
x^{T} (\mathbf{A}^{-1} + \mathbf{B}^{-1}) \vec{x}
- \vec{x}^{T} (\mathbf{A}^{-1}\vec{a} + \vec{B}^{-1}\vec{b} )
- (\vec{a}^{T}\mathbf{A}^{-1} + \vec{b}^{T} \mathbf{B}^{-1} )\vec{x}
+ (\vec{a}^{T}\mathbf{A}^{-1}\vec{a} + \vec{b}^{T} \mathbf{B}^{-1}\vec{b})
&=& x^{T} \mathbf{C} \vec{x}
- \vec{x}^{T} \vec{d}
- \vec{d}^{T}\vec{x}
+ (\vec{a}^{T}\mathbf{A}^{-1}\vec{a} + \vec{b}^{T} \mathbf{B}^{-1}\vec{b})
\end{eqnarray}

2次形をつくるために$+ \vec{d}^{T}\mathbf{C}^{-1}\vec{d} - \vec{d}^{T}\mathbf{C}^{-1}\vec{d} = 0$を追加する.


\begin{eqnarray}
x^{T} \mathbf{C} \vec{x}
- \vec{x}^{T} \vec{d}
- \vec{d}^{T}\vec{x}
+  \vec{d}^{T}\mathbf{C}^{-1}\vec{d} - \vec{d}^{T}\mathbf{C}^{-1}\vec{d}
+ (\vec{a}^{T}\mathbf{A}^{-1}\vec{a} + \vec{b}^{T} \mathbf{B}^{-1}\vec{b})
\end{eqnarray}

$\mathbf{C}^{-1}\mathbf{C}=\mathbf{C}\mathbf{C}^{-1}=\mathbf{I}$とおいて各項に入れる.


\begin{eqnarray}
x^{T} \mathbf{C} \vec{x}
- \vec{x}^{T} \mathbf{C}\mathbf{C}^{-1} \vec{d}
- \vec{d}^{T} \mathbf{C}^{-1}\mathbf{C}\vec{x}
+ \vec{d}^{T} \mathbf{C}^{-1}\mathbf{C} \mathbf{C}^{-1}\vec{d} - \vec{d}^{T}\mathbf{C}^{-1}\vec{d}
+ (\vec{a}^{T}\mathbf{A}^{-1}\vec{a} + \vec{b}^{T} \mathbf{B}^{-1}\vec{b})
\end{eqnarray}
 \mathbf{C} = \mathbf{\Sigma}^{-1}, \mathbf{C}^{-1}\vec{d}=\vec{\mu}

とおいて


\begin{eqnarray}
\vec{x}^{T} \mathbf{\Sigma}^{-1}\vec{x}
- \vec{x}^{T} \mathbf{\Sigma}^{-1}\vec{\mu}
- \vec{\mu}^{T} \mathbf{\Sigma}^{-1} \vec{x}
+ \vec{\mu}^{T} \mathbf{\Sigma}^{-1} \vec{\mu} - \vec{d}^{T}\mathbf{C}^{-1}\vec{d}
+ (\vec{a}^{T}\mathbf{A}^{-1}\vec{a} + \vec{b}^{T} \mathbf{B}^{-1}\vec{b})
&=&
(\vec{x}-\vec{\mu})^{T} \mathbf{\Sigma}^{-1}(\vec{x}
- \vec{\mu}) - \vec{d}^{T}\mathbf{C}^{-1}\vec{d}
+ (\vec{a}^{T}\mathbf{A}^{-1}\vec{a} + \vec{b}^{T} \mathbf{B}^{-1}\vec{b})
\end{eqnarray}

よって,expは,2つの項に分けることができる.


\exp{\left[ -\frac{1}{2} (x-\vec{\mu})^{T} \mathbf{\Sigma}^{-1}(\vec{x}
- \vec{\mu}) \right] }
\exp{\left[ -\frac{1}{2}(\vec{a}^{T}\mathbf{A}^{-1}\vec{a} + \vec{b}^{T} \mathbf{B}^{-1}\vec{b} - \vec{d}^{T}\mathbf{C}^{-1}\vec{d}) \right] }

結果,1つの正規分布(最初の項)は以下の式になる.


\begin{eqnarray}
\vec{\mu}
&=& \mathbf{C}^{-1}\vec{d} = (\mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1}
(\mathbf{A}^{-1}\vec{a} + \vec{B}^{-1}\vec{b}) \\\\
\mathbf{\Sigma}
&=& \mathbf{C}^{-1} = (\mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1}
\end{eqnarray}

より,


\begin{eqnarray}
\mathrm{Norm}_{\vec{x}}\left[  \mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1}
(\mathbf{A}^{-1}\vec{a} + \vec{B}^{-1}\vec{b}), (\mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1} \right]
\end{eqnarray}

次に定数項となる2番目の項を展開する.

$$ \exp{\left( -\frac{1}{2}(\vec{a}^{T}\mathbf{A}^{-1}\vec{a} + \vec{b}^{T} \mathbf{B}^{-1}\vec{b} - \vec{d}^{T}\mathbf{C}^{-1}\vec{d}) \right)} $$

の中を展開する.


\begin{eqnarray}
\vec{d}^{T}\mathbf{C}^{-1}\vec{d}
&=& ( \mathbf{A}^{-1}\vec{a} + \vec{B}^{-1}\vec{b})^{T}(\mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1}( \mathbf{A}^{-1}\vec{a} + \mathbf{B}^{-1}\vec{b}) \\\\
&=& ( \vec{a}^{T}\mathbf{A}^{-1} + \vec{b}^{T}\vec{B}^{-1})(\mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1}( \mathbf{A}^{-1}\vec{a} + \vec{B}^{-1}\vec{b})\\\\
&=& \vec{a}^{T}\mathbf{A}^{-1} (\mathbf{A}^{-1}+ \mathbf{B}^{-1})^{-1} \mathbf{A}^{-1}\vec{a}
+ \vec{a}^{T}\mathbf{A}^{-1} (\mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1} \mathbf{B}^{-1}\vec{b}
+ \vec{b}^{T}\mathbf{B}^{-1}(\mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1} \mathbf{B}^{-1}\vec{b}
+ \vec{b}^{T}\mathbf{B}^{-1}(\mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1} \mathbf{A}^{-1}\vec{a}
\end{eqnarray}

\begin{eqnarray}
\vec{a}^{T} \mathbf{A}^{-1} (\mathbf{A}^{-1}+ \mathbf{B}^{-1})^{-1} \mathbf{A}^{-1}\vec{a}
&=& \vec{a}^{T}(\mathbf{A}\mathbf{A}^{-1}+ \mathbf{A}\mathbf{B}^{-1})^{-1} \mathbf{A}^{-1}\vec{a} \\\\
&=& \vec{a}^{T}(\mathbf{A}\mathbf{A}^{-1}+ \mathbf{A}\mathbf{B}^{-1})^{-1} \mathbf{B}^{-1}\mathbf{B}\mathbf{A}^{-1}\vec{a} \\\\
&=& \vec{a}^{T}(\mathbf{B} + \mathbf{A})^{-1} \mathbf{B}\mathbf{A}^{-1}\vec{a}
\end{eqnarray}

\begin{eqnarray}
\vec{b}^{T}\mathbf{B}^{-1}(\mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1} \mathbf{B}^{-1}\vec{b}
&=& \vec{b}^{T}(\mathbf{B}\mathbf{A}^{-1} + \mathbf{B}\mathbf{B}^{-1})^{-1} \mathbf{B}^{-1} \vec{b} \\\\
&=& \vec{b}^{T}(\mathbf{B}\mathbf{A}^{-1} + \mathbf{B}\mathbf{B}^{-1})^{-1} \mathbf{A}^{-1} \mathbf{A} \mathbf{B}^{-1} \vec{b} \\\\
&=& \vec{b}^{T}(\mathbf{B}\mathbf{A}^{-1}\mathbf{A} + \mathbf{B}\mathbf{B}^{-1}\mathbf{A})^{-1} \mathbf{A} \mathbf{B}^{-1} \vec{b} \\\\
&=& \vec{b}^{T}(\mathbf{B} + \mathbf{A})^{-1} \mathbf{A} \mathbf{B}^{-1} \vec{b}
\end{eqnarray}

\begin{eqnarray}
\vec{a}^{T}\mathbf{A}^{-1} (\mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1} \mathbf{B}^{-1}\vec{b}
= \vec{a}^{T} (\mathbf{A}\mathbf{A}^{-1}\mathbf{B} + \mathbf{A}\mathbf{B}^{-1}\mathbf{B})^{-1} \vec{b} \\\\
= \vec{a}^{T} (\mathbf{B} +\mathbf{A})^{-1} \vec{b}
\end{eqnarray}

\begin{eqnarray}
\vec{b}^{T}\mathbf{B}^{-1}(\mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1} \mathbf{A}^{-1}\vec{a}
&=& \vec{b}^{T}(\mathbf{B}\mathbf{A}^{-1}\mathbf{A} + \mathbf{B}\mathbf{B}^{-1}\mathbf{A})^{-1} \vec{a} \\\\
&=& \vec{b}^{T}(\mathbf{B}+\mathbf{A})^{-1} \vec{a}
\end{eqnarray}

\begin{eqnarray}
\vec{a}^{T} \mathbf{A}^{-1} \vec{a} + \vec{b}^{T} \mathbf{B}^{-1} \vec{b} - \vec{d}^{T} \mathbf{C}^{-1} \vec{d}
&=& \vec{a}^{T} \mathbf{A}^{-1} \vec{a} + \vec{b}^{T} \mathbf{B}^{-1} \vec{b} - (\vec{a}^{T}(\mathbf{B} + \mathbf{A})^{-1} \mathbf{B}\mathbf{A}^{-1}\vec{a} + \vec{b}^{T}(\mathbf{B} + \mathbf{A})^{-1} \mathbf{A} \mathbf{B}^{-1} \vec{b} + \vec{a}^{T} (\mathbf{B} +\mathbf{A})^{-1} \vec{b} + \vec{b}^{T}(\mathbf{B}+\mathbf{A})^{-1} \vec{a}) \\\\
&=& \vec{a}^{T} (\mathbf{A}^{-1} - (\mathbf{B} + \mathbf{A})^{-1} \mathbf{B}\mathbf{A}^{-1}) \vec{a}
+ \vec{b}^{T} (\mathbf{B}^{-1} - (\mathbf{B} + \mathbf{A})^{-1} \mathbf{A} \mathbf{B}^{-1}) \vec{b}
- \vec{a}^{T} (\mathbf{B} +\mathbf{A})^{-1} \vec{b}
- \vec{b}^{T}(\mathbf{B}+\mathbf{A})^{-1} \vec{a}
\end{eqnarray}

\begin{eqnarray}
\vec{a}^{T} (\mathbf{A} + \mathbf{B})^{-1}(\mathbf{A} + \mathbf{B})(\mathbf{A}^{-1} - (\mathbf{B} + \mathbf{A})^{-1} \mathbf{B}\mathbf{A}^{-1}) \vec{a}
&=& \vec{a}^{T} (\mathbf{A} + \mathbf{B})^{-1} ( \mathbf{A} + \mathbf{B})\mathbf{A}^{-1} - \mathbf{B}\mathbf{A}^{-1}) \vec{a} \\\\
&=& \vec{a}^{T} (\mathbf{A} + \mathbf{B})^{-1} \vec{a}
\end{eqnarray}

\begin{eqnarray}
\vec{b}^{T} (\mathbf{B}^{-1} - (\mathbf{B} + \mathbf{A})^{-1} \mathbf{A} \mathbf{B}^{-1}) \vec{b}
&=& \vec{b}^{T} (\mathbf{B} + \mathbf{A})^{-1}(\mathbf{B} + \mathbf{A}) (\mathbf{B}^{-1} - (\mathbf{B} + \mathbf{A})^{-1} \mathbf{A} \mathbf{B}^{-1}) \vec{b} \\\\
&=& \vec{b}^{T} (\mathbf{B} + \mathbf{A})^{-1}( \mathbf{B} + \mathbf{A })\mathbf{B}^{-1} - \mathbf{A} \mathbf{B}^{-1}) \vec{b} \\\\
&=& \vec{b}^{T} (\mathbf{B} + \mathbf{A})^{-1}\vec{b}
\end{eqnarray}

\begin{eqnarray}
\vec{a}^{T} \mathbf{A}^{-1} \vec{a} + \vec{b}^{T} \mathbf{B}^{-1} \vec{b} - \vec{d}^{T} \mathbf{C}^{-1} \vec{d}
&=& \vec{a}^{T} \mathbf{A}^{-1} \vec{a} + \vec{b}^{T} \mathbf{B}^{-1} \vec{b} - (\vec{a}^{T}(\mathbf{B} + \mathbf{A})^{-1} \mathbf{B}\mathbf{A}^{-1}\vec{a} + \vec{b}^{T}(\mathbf{B} + \mathbf{A})^{-1} \mathbf{A} \mathbf{B}^{-1} \vec{b} + \vec{a}^{T} (\mathbf{B} +\mathbf{A})^{-1} \vec{b} + \vec{b}^{T}(\mathbf{B}+\mathbf{A})^{-1} \vec{a}) \\\\
&=& \vec{a}^{T} (\mathbf{A}^{-1} - (\mathbf{B} + \mathbf{A})^{-1} \mathbf{B}\mathbf{A}^{-1}) \vec{a}
+ \vec{b}^{T} (\mathbf{B}^{-1} - (\mathbf{B} + \mathbf{A})^{-1} \mathbf{A} \mathbf{B}^{-1}) \vec{b}
- \vec{a}^{T} (\mathbf{B} +\mathbf{A})^{-1} \vec{b}
- \vec{b}^{T}(\mathbf{B}+\mathbf{A})^{-1} \vec{a}
\end{eqnarray}

上式の各項を変形する.


\begin{eqnarray}
\vec{a}^{T} (\mathbf{A} + \mathbf{B})^{-1}(\mathbf{A} + \mathbf{B})(\mathbf{A}^{-1} - (\mathbf{B} + \mathbf{A})^{-1} \mathbf{B}\mathbf{A}^{-1}) \vec{a}
&=& \vec{a}^{T} (\mathbf{A} + \mathbf{B})^{-1} ( \mathbf{A} + \mathbf{B})\mathbf{A}^{-1} - \mathbf{B}\mathbf{A}^{-1}) \vec{a} \\\\
&=& \vec{a}^{T} (\mathbf{A} + \mathbf{B})^{-1} \vec{a}
\end{eqnarray}

\begin{eqnarray}
\vec{b}^{T} (\mathbf{B}^{-1} - (\mathbf{B} + \mathbf{A})^{-1} \mathbf{A} \mathbf{B}^{-1}) \vec{b}
&=& \vec{b}^{T} (\mathbf{B} + \mathbf{A})^{-1}(\mathbf{B} + \mathbf{A}) (\mathbf{B}^{-1} - (\mathbf{B} + \mathbf{A})^{-1} \mathbf{A} \mathbf{B}^{-1}) \vec{b}\\\\
&=& \vec{b}^{T} (\mathbf{B} + \mathbf{A})^{-1} \left( ( \mathbf{B} + \mathbf{A})\mathbf{B}^{-1} - \mathbf{A} \mathbf{B}^{-1} \right) \vec{b}\\\\
&=& \vec{b}^{T} (\mathbf{B} + \mathbf{A})^{-1}\vec{b}
\end{eqnarray}

よって,まとめると


\begin{eqnarray}
\vec{a}^{T} \mathbf{A}^{-1} \vec{a} + \vec{b}^{T} \mathbf{B}^{-1} \vec{b} - \vec{d}^{T} \mathbf{C}^{-1} \vec{d}
&=& \vec{a}^{T} (\mathbf{A} + \mathbf{B})^{-1} \vec{a}
- \vec{a}^{T} (\mathbf{B} +\mathbf{A})^{-1} \vec{b}
- \vec{b}^{T}(\mathbf{B}+\mathbf{A})^{-1} \vec{a}
+ \vec{b}^{T} (\mathbf{B} + \mathbf{A})^{-1}\vec{b} \\\\
&=& (\vec{a} - \vec{b})^{T} (\mathbf{A} + \mathbf{B})^{-1} (\vec{a} - \vec{b})
\end{eqnarray}

expの中身は以下の2次形式になる.


\exp{\left( -\frac{1}{2}(\vec{a}^{T}\mathbf{A}^{-1}\vec{a} + \vec{b}^{T} \mathbf{B}^{-1}\vec{b} - \vec{d}^{T}\mathbf{C}^{-1}\vec{d}) \right)}
= \exp{\left( -\frac{1}{2}(\vec{a} - \vec{b})^{T} (\mathbf{A} + \mathbf{B})^{-1} (\vec{a} - \vec{b}) \right)}

よって,定数項は,以下の正規分布になる.


\begin{eqnarray}
\vec{\mu}_{0} &=& \vec{b} \\\\
\mathbf{\Sigma}_{0} &=& \mathbf{A} + \mathbf{B} \\\\
\mathrm{Norm}_{\vec{x}=\vec{b}}\left[ \vec{a}, \mathbf{A} + \mathbf{B}\right]
&=& \mathrm{Norm}_{\vec{x}=\vec{a}} \left[ \vec{b}, \mathbf{A} + \mathbf{B} \right]
\end{eqnarray}

exp外の共分散行列の行列式をまとめる.


\begin{eqnarray}
|\mathbf{\Sigma}_{0}|
&=& |\mathbf{A} + \mathbf{B}| \\
&=& |\mathbf{A} + \mathbf{B}| |\mathbf{A}^{-1} + \mathbf{B}^{-1}|^{-1}|\mathbf{A}^{-1} + \mathbf{B}^{-1}| \\\\
&=& |\mathbf{A}\mathbf{B}||\mathbf{A}\mathbf{B}|^{-1}|\mathbf{A} + \mathbf{B}| |(\mathbf{A}^{-1} + \mathbf{B}^{-1})|^{-1} |\mathbf{A}^{-1} + \mathbf{B}^{-1}| \\\\
&=& |\mathbf{A}\mathbf{B}||B^{-1}A^{-1}||\mathbf{A} + \mathbf{B}| |(\mathbf{A}^{-1} + \mathbf{B}^{-1})|^{-1} |\mathbf{A}^{-1} + \mathbf{B}^{-1}|  \\\\
&=&|\mathbf{A}\mathbf{B}||\mathbf{A}^{-1}||\mathbf{A} + \mathbf{B}||\mathbf{B}^{-1}| |(\mathbf{A}^{-1} + \mathbf{B}^{-1})|^{-1} |\mathbf{A}^{-1} + \mathbf{B}^{-1}|  \\\\
&=&|\mathbf{A}\mathbf{B}||\mathbf{A}^{-1}(\mathbf{A} + \mathbf{B})\mathbf{B}^{-1}| |(\mathbf{A}^{-1} + \mathbf{B}^{-1})|^{-1} |\mathbf{A}^{-1} + \mathbf{B}^{-1}|  \\\\
&=&|\mathbf{A}\mathbf{B}||\mathbf{A}^{-1} + \mathbf{B}^{-1}| |(\mathbf{A}^{-1} + \mathbf{B}^{-1})|^{-1} |\mathbf{A}^{-1} + \mathbf{B}^{-1}|  \\\\
&=&|\mathbf{A}\mathbf{B}||\mathbf{A}^{-1} + \mathbf{B}^{-1}|
\end{eqnarray}

\begin{eqnarray}
|\mathbf{\Sigma}|
= |(\mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1} |
= |(\mathbf{A}^{-1} + \mathbf{B}^{-1})|^{-1}
\end{eqnarray}

\begin{eqnarray}
|\mathbf{\Sigma}_{0}||\mathbf{\Sigma}|  = |\mathbf{A}\mathbf{B}| = |\mathbf{A}||\mathbf{B}|
\end{eqnarray}

よって,pdfの積により,密度の式の係数にある分母の行列式は以下のように分解される.


\begin{eqnarray}
|\mathbf{\Sigma}_{0}|^{\frac{1}{2}}|\mathbf{\Sigma}|^{\frac{1}{2}}  = |\mathbf{A}\mathbf{B}|^{\frac{1}{2}} = |\mathbf{A}|^{\frac{1}{2}}|\mathbf{B}|^{\frac{1}{2}}
\end{eqnarray}

すべてをまとめると,


\begin{eqnarray}
\mathrm{Norm}_{\vec{x}}\left[ \vec{a}, \mathbf{A} \right] \cdot \mathrm{Norm}\left[\vec{b}, \mathbf{B} \right]
&=& \mathrm{Norm}_{\vec{a}}\left[ \vec{b}, \mathbf{A} + \mathbf{B}\right] \cdot
\mathrm{Norm}_{\vec{x}}\left[ \mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1}
(\mathbf{A}^{-1}\vec{a} + \vec{B}^{-1}\vec{b}), (\mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1} \right]\\\\
&=& \mathrm{Norm}_{\vec{b}}\left[ \vec{a}, \mathbf{A} + \mathbf{B}\right] \cdot
\mathrm{Norm}_{\vec{x}}\left[ \mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1}
(\mathbf{A}^{-1}\vec{a} + \vec{B}^{-1}\vec{b}), (\mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1} \right]
\end{eqnarray}

可視化・コード

実際にpdfの積を描画してみる.

積の値は実際には定数がかかるので,基本的に密度の値が小さくなる.

import scipy as sp
from scipy import stats
import matplotlib.pyplot as plt

%matplotlib inline

x = sp.linspace(-5, 5, 1000)
mu1, s21 = (1, 1)
mu2, s22 = (-1, 1)
N1 = stats.norm(loc=mu1, scale=sp.sqrt(s21))
N2 = stats.norm(loc=mu2, scale=sp.sqrt(s22))
prod = N1.pdf(x) * N2.pdf(x)
c = stats.norm(loc=mu1, scale=sp.sqrt(s21+s22)).pdf(mu2)
print("constant:", c)

prod_s2 = 1 / ( 1/s21 + 1/s22)
prod_m = prod_s2 * (mu1 / s21 + mu2 / s22)
print(f"prodN({prod_m},{prod_s2})")
prodN = stats.norm(loc=prod_m, scale=sp.sqrt(prod_s2))

plt.plot(x, N1.pdf(x), linestyle="--", label="$N1({0:}, 1)$".format(mu1))
plt.plot(x, N2.pdf(x), linestyle="--", label="$N2({0:}, 1)$".format(mu2))
plt.plot(x, prod, label="prod")
s = prod/c
plt.plot(x, s, label="prod/constant", linestyle="--", alpha=0.5)
# print("sum prod/c:", sp.sum((s[:-1] + s[1:]) * sp.diff(x)/2))
plt.plot(x, prodN.pdf(x), label=f"prodN({prod_m: .2f}, {prod_s2: .2f})", alpha=0.5)

plt.xlabel("$x$")
plt.legend()
plt.tight_layout()
plt.show()

積で出てくる正規分布

平均パラメータ中の変数で変換しても正規分布になる

ベイズで$Pr(x|y)$から$Pr(y|x)$への計算に使える.


\mathrm{Norm}_{\vec{x}}(\mathbf{A}\vec{y} + \vec{b}, \mathbf{\Sigma})
= \kappa \mathrm{Norm}_{\vec{y}}(\mathbf{A}' \vec{x} + \vec{b'}, \mathbf{\Sigma}')

where


\begin{eqnarray}
\mathbf{\Sigma}' &=& (\mathbf{A}^{T} \mathbf{\Sigma}^{-1} \mathbf{A} )^{-1} \\\\
\mathbf{A'} &=& \mathbf{\Sigma}^{'} \mathbf{A}^{T}\mathbf{\Sigma}^{-1}
= (\mathbf{A}^{T} \mathbf{\Sigma}^{-1} \mathbf{A} )^{-1} \mathbf{A}^{T}\mathbf{\Sigma}^{-1}  \\\\
\vec{b}' &=& -\mathbf{\Sigma}'\mathbf{A}^{T} \mathbf{\Sigma}^{-1} \vec{b}
= -(\mathbf{A}^{T} \mathbf{\Sigma}^{-1} \mathbf{A} )^{-1} \mathbf{A}^{T} \mathbf{\Sigma}^{-1} \vec{b}
\end{eqnarray}

行列$\mathbf{A}$は対称行列でなくてもいい.

また,各記号の次元は,


\mathrm{dim}(\vec{x}) = D_{x},
\mathrm{dim}(\vec{y}) = D_{y} \\
\mathrm{dim}(\mathbf{A}) = D_{x} \times D_{y},
\mathrm{dim}(\mathbf{\Sigma}) = D_{x} \times D_{x}

導出

参考:http://www0.cs.ucl.ac.uk/external/s.prince/book/AnswerBookletStudents.pdf


\mathrm{Norm}_{\vec{x}}[ \mathbf{A}\vec{y} + \vec{b}, \mathbf{\Sigma} ]
= \frac{1}{(2\pi)^{\frac{D_{x}}{2}} |\mathbf{\Sigma}|^{\frac{1}{2}}}
\exp{\left[ -\frac{1}{2}(\vec{x} - \mathbf{A} \vec{y} - \vec{b})^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \mathbf{A} \vec{y} - \vec{b}) \right]}

$\vec{y}$が変数でそれ以外が定数なのでそのように分ける.


\mathrm{Norm}_{\vec{x}}[ \mathbf{A}\vec{y} + \vec{b}, \mathbf{\Sigma} ]
= \frac{1}{(2\pi)^{\frac{D_{x}}{2}} |\mathbf{\Sigma}|^{\frac{1}{2}}}
\exp{\left[ -\frac{1}{2}(\vec{x} - \vec{b})^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b}) \right]}
\cdot
\exp{\left[ -\frac{1}{2}\left\{\vec{y}^{T}\mathbf{A}^{T} \mathbf{\Sigma}^{-1}\mathbf{A} \vec{y} - 2\vec{y}^{T}\mathbf{A}^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b}) \right\} \right]}

\mathbf{\Sigma}' = (\mathbf{A}^{T}\mathbf{\Sigma}^{-1}\mathbf{A})^{-1}

として


\mathbf{\Sigma}'^{-1}\mathbf{\Sigma}' = \mathbf{I}_{D_{y}}

より,


\begin{eqnarray}
\mathrm{Norm}_{\vec{x}}[ \mathbf{A}\vec{y} + \vec{b}, \mathbf{\Sigma} ]
&=& \frac{1}{(2\pi)^{\frac{D_{x}}{2}} |\mathbf{\Sigma}|^{\frac{1}{2}}}
\exp{\left[ -\frac{1}{2}(\vec{x} - \vec{b})^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b}) \right] }
\cdot
\exp{\left[ -\frac{1}{2}\left\{\vec{y}^{T}\mathbf{\Sigma}'^{-1} \vec{y} - 2\vec{y}^{T}\mathbf{I}_{D_{y}}\mathbf{A}^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b}) \right\} \right] } \\\\
&=& \frac{1}{(2\pi)^{\frac{D_{x}}{2}} |\mathbf{\Sigma}|^{\frac{1}{2}}}
\exp{\left[ -\frac{1}{2}(\vec{x} - \vec{b})^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b}) \right]}
\cdot
\exp{\left[ -\frac{1}{2}\left\{\vec{y}^{T}\mathbf{\Sigma}'^{-1} \vec{y} - 2\vec{y}^{T}\mathbf{\Sigma}'^{-1}\mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b}) \right\} \right]}
\end{eqnarray}

2次形式を満たすように定数


\exp{\left[ -\frac{1}{2}\left\{ (\vec{x}-\vec{b})^{T}\mathbf{\Sigma}^{-T}\mathbf{A}\mathbf{\Sigma}'^{T}\mathbf{\Sigma}'^{-1}\mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b})  \right\}
\right] }

を追加する.


\begin{eqnarray}
\mathrm{Norm}_{\vec{x}}[ \mathbf{A}\vec{y} + \vec{b}, \mathbf{\Sigma}]
&=&
\frac{1}{(2\pi)^{\frac{D_{x}}{2}} |\mathbf{\Sigma}|^{\frac{1}{2}}}
\exp{\left[ -\frac{1}{2}(\vec{x} - \vec{b})^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b}) \right]}
\exp{\left[\frac{1}{2}\left\{ (\vec{x}-\vec{b})^{T}\mathbf{\Sigma}^{-T}\mathbf{A}\mathbf{\Sigma}'^{T}\mathbf{\Sigma}'^{-1}\mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b})  \right\}\right]}
\cdot
\exp{\left[ -\frac{1}{2}\left\{\vec{y}^{T}\mathbf{\Sigma}'^{-1} \vec{y} - 2\vec{y}^{T}\mathbf{\Sigma}'^{-1}\mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b}) + (\vec{x}-\vec{b})^{T}\mathbf{\Sigma}^{-T}\mathbf{A}\mathbf{\Sigma}'^{T}\mathbf{\Sigma}'^{-1}\mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b}) \right\} \right]} \\\\
&=&
\frac{1}{(2\pi)^{\frac{D_{x}}{2}} |\mathbf{\Sigma}|^{\frac{1}{2}}}
\exp{\left[ -\frac{1}{2}(\vec{x} - \vec{b})^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b}) \right]}
\exp{\left[\frac{1}{2}\left\{ (\vec{x}-\vec{b})^{T}\mathbf{\Sigma}^{-T}\mathbf{A}\mathbf{\Sigma}'^{T}\mathbf{\Sigma}'^{-1}\mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b})  \right\}\right]}
\cdot
\exp{\left[ -\frac{1}{2}\left\{(\vec{y}-\mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b}))^{T}\mathbf{\Sigma}'^{-1}(\vec{y}-\mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b})) \right\} \right]}
\end{eqnarray}

分布になるように係数を追加する.


\begin{eqnarray}
\mathrm{Norm}_{\vec{x}}[ \mathbf{A}\vec{y} + \vec{b}, \mathbf{\Sigma}]
&=& \frac{1}{(2\pi)^{\frac{D_{x}}{2}} |\mathbf{\Sigma}|^{\frac{1}{2}}}
\exp{\left[ -\frac{1}{2}(\vec{x} - \vec{b})^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b}) \right]}
\exp{\left[\frac{1}{2}\left\{ (\vec{x}-\vec{b})^{T}\mathbf{\Sigma}^{-T}\mathbf{A}\mathbf{\Sigma}'^{T}\mathbf{\Sigma}'^{-1}\mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b})  \right\}\right]}
\cdot
\frac{(2\pi)^{\frac{D_{y}}{2}} |\mathbf{\Sigma}'|^{\frac{1}{2}}}{(2\pi)^{\frac{D_{y}}{2}}|\mathbf{\Sigma}'|^{\frac{1}{2}}}
\exp{\left[ -\frac{1}{2}\left\{(\vec{y}-\mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b}))^{T}\mathbf{\Sigma}'^{-1}(\vec{y}-\mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b})) \right\} \right]} \\\\
&=& \frac{1}{(2\pi)^{\frac{D_{x}}{2}} |\mathbf{\Sigma}|^{\frac{1}{2}}}
\exp{\left[ -\frac{1}{2}(\vec{x} - \vec{b})^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b}) \right]}
\cdot (2\pi)^{\frac{D_{y}}{2}} |\mathbf{\Sigma}'|^{\frac{1}{2}}\exp{\left[\frac{1}{2}\left\{ (\vec{x}-\vec{b})^{T}\mathbf{\Sigma}^{-T}\mathbf{A}\mathbf{\Sigma}'^{T}\mathbf{\Sigma}'^{-1}\mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b})  \right\}\right]}
\cdot
\mathrm{Norm}_{\vec{y}}\left[ \mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b}), \mathbf{\Sigma}'\right]
\end{eqnarray}

定数がどうなっているか


\mathrm{Norm}_{\vec{x}}[ \vec{b},\mathbf{\Sigma} ]
= \frac{1}{(2\pi)^{\frac{D_{x}}{2}} |\mathbf{\Sigma}|^{\frac{1}{2}}}
\exp{ \left[ -\frac{1}{2}(\vec{x} - \vec{b})^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b}) \right] }

\mathrm{Norm}_{\mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}\vec{x}}\left[ \mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}\vec{b},\mathbf{\Sigma}' \right]
=
\frac{1}{(2\pi)^{\frac{D_{y}}{2}} |\mathbf{\Sigma}'|^{\frac{1}{2}}}\exp{\left[ -\frac{1}{2}\left\{ (\vec{x}-\vec{b})^{T}\mathbf{\Sigma}^{-T}\mathbf{A}\mathbf{\Sigma}'^{T}\mathbf{\Sigma}'^{-1}\mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b})  \right\}\right] }

2つの目は \mathrm{Norm}_{\vec{x}}[ \vec{b},\mathbf{\Sigma} ]$を \mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1} で線形変換したものより


E[ \mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}\vec{x} ]
= \mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}\vec{b}

\begin{eqnarray}
Var[\mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1} \vec{x} ]
&=& \mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1} Var[\vec{x}](\mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1})^{T} \\\\
&=& \mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1} \mathbf{\Sigma}\mathbf{\Sigma}^{-1}\mathbf{A}\mathbf{\Sigma}' \\\\
&=& \mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}\mathbf{A}\mathbf{\Sigma}' \\\\
&=& \mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}\mathbf{A}(\mathbf{A}^{T}\mathbf{\Sigma}^{-1}\mathbf{A})^{-1} \\\\
&=& \mathbf{\Sigma}'
\end{eqnarray}

よって,


\begin{eqnarray}
\mathrm{Norm}_{\vec{x}}[ \mathbf{A}\vec{y} + \vec{b}, \mathbf{\Sigma} ]
&=& \frac{\mathrm{Norm}_{\vec{x}}[ \vec{b},\mathbf{\Sigma}]}{\mathrm{Norm}_{\mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}\vec{x}}\left[ \mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}\vec{b},\mathbf{\Sigma}' \right]}\mathrm{Norm}_{\vec{y}}\left[\mathbf{\Sigma}'\mathbf{A}^{T}\mathbf{\Sigma}^{-1}(\vec{x} - \vec{b}), \mathbf{\Sigma}' \right ]
\end{eqnarray}

可視化・コード

import scipy as sp
import matplotlib.pyplot as plt
import scipy.stats as stats

sigma2 = 0.01
a = 1
b = -.1
x = sp.linspace(0, 1, 500)
y = sp.linspace(1, 0, 500)
pdf = sp.empty((len(y), len(x)))

for i in sp.arange(len(y)):
    N = stats.norm(loc=a*y[i]+b, scale=sp.sqrt(sigma2))
    pdf[i] = N.pdf(x)

plt.figure()
plt.imshow(pdf, cmap="hot", extent=[0, 1, 0, 1])

y = 0.5
plt.plot(x, y + 0.05 * stats.norm(loc=a*y+b, scale=sp.sqrt(sigma2)).pdf(x),
         label="$\mathrm{Norm}_{x}[a\cdot 0.5 + b, \Sigma ]$", color="b")

plt.colorbar()
plt.legend()
plt.xlabel("x")
plt.ylabel("y")
plt.tight_layout()
plt.show()

 \mathrm{Norm}_{\vec{x}}(\mathbf{A}\vec{y}+\vec{b}, \mathbf{\Sigma})

sigma2 = 0.01
a = 1
b = -.1

sigma2_ = 1/(a * 1/sigma2 * a)
a_ = sigma2_ * a * 1/sigma2
b_ = -a_ * b

x = sp.linspace(0, 1, 500)
y = sp.linspace(1, 0, 500)
pdf_T = sp.empty((len(x), len(y)))

for i in sp.arange(len(x)):
    N = stats.norm(loc=a_*x[i]+b_, scale=sp.sqrt(sigma2_))
    pdf_T[i] = N.pdf(y)

plt.figure()
plt.imshow(pdf_T.T, cmap="hot", extent=[0, 1, 0, 1])

x = 0.5
plt.plot(x + 0.05 * stats.norm(loc=a_*x + b_, scale=sp.sqrt(sigma2_)).pdf(y), y,
        label="$\mathrm{Norm}_{y}[a'\cdot 0.5 + b', \Sigma' ]$", color="b")

plt.colorbar()
plt.legend()
plt.xlabel("x")
plt.ylabel("y")
plt.tight_layout()
plt.show()

 \mathrm{Norm}_{\vec{y}}(\mathbf{A}'\vec{x}+\vec{b}', \mathbf{\Sigma}')