多変量ガウス分布の解析的・幾何的な特徴をまとめる

Posted: , Category: 機械学習 , 確率 , 統計学

ガウス分布(Gaussian distribution)は、機械学習や統計で登場する確率密度関数の中でもっとも基本的で重要なものです。

一方で、1次元の正規分布はなんとか理解でいても、多変量のガウスとなると、イマイチ理解していない人も多いのではないでしょうか。

今回はできるだけ分かりやすく、多次元ガウス分布の解析的・幾何的な特徴をまとめます。特に分散共分散行列の幾何学的な意味について、重点を置いて解説していきます。

本記事の内容
  • 多変量正規分布(ガウス分布)の定義
  • 多変量正規分布の幾何学的な特徴について理解

多変量(多次元)ガウス分布の定義式

考えているデータ$\bm{x}$の次元が$D$次元だとすると、多変量正規分布の定義はこのようになっています。

多変量ガウス分布の定義
\begin{equation}
\mathcal{N}(\bm{x}|\bm{μ}, \bm{\Sigma}) = 
\frac{1}{\sqrt{(2\pi)^{D} |\Sigma|}}
exp
\biggl\{
-\frac{1}{2}(\bm{x}-\bm{μ})^T\Sigma^{-1}(\bm{x}-\bm{μ})
\biggr\}
\end{equation}

ここで、$μ$はD次元の平均ベクトルであり、$\Sigma$は$D$x$D$の共分散行列です。

なかなかいかつ目な式ですね。$e$の指数部分$(\bm{x}-\bm{μ})^T\Sigma^{-1}(\bm{x}-\bm{μ})$に着目すると、ここは注意深く眺めてみると、スカラー値になっていることから、上の式全体もスカラー値を返すのがわかります。

ちなみにこの部分の係数$\frac{1}{2}$を除いた、$\bm{x}$の二次形式

\begin{equation}
D^2 = (\bm{x}-\bm{μ})^T\Sigma^{-1}(\bm{x}-\bm{μ})
\end{equation}

の部分はマハラノビス距離$D$となっています。

マハラノビス距離は、通常のユークリッド距離に対し、母集団の分散共分散を考慮に入れた距離の概念になっています。

このマハラノビス距離の$\Sigma$の部分を単位行列$E_D$に置き換えると、ユークリッド距離になっています。これだけだとよくわからないので、これから順を追って多変量ガウス分布の性質について追っていきます。

多変量における相関と共分散について

まず多変量の世界を考える上で、相関について復習します。

例えば、体重$X$と身長$Y$という2つの確率変数があった時に、これらのデータにはある程度関係性があり、体重が多い人は身長が大きいという関連性があるはずです。このような2つの確率分布において関連があることを、相関があるといいます。

例えば別の相関の例として、外の気温と冷房費は相関があるといえるでしょう。一方で、外の気温と暖房費も関連がありそうです。この場合、外の気温が高くなると、暖房費は下がると考えられるが、このような相関を負の相関と呼びます。そしてこの相関に関する統計量が共分散(covariance)です。

共分散はある2つの変数のうち、片方が変動した際にもう一方がどれだけ変動するか、を示す統計量になります。

ちなみに意外と意識されないのが、共分散という量はあくまでも2つの変数の関連性を表した量ということをちゃんとイメージで持ってください。平均や分散が1変数の代表値であったのに対し、共分散は考える2変数の代表値ということになります。

共分散の定義式

共分散の定義式を下記に示します。

共分散の英語表現は、covarianceなのでその先頭の3文字をとって$Cov$と表現されています。

ちなみに、共分散は先ほど言ったように2つの確率変数$X, Y$の代表値なので$Cov)X, Y)$やら$\sigma_{xy}$などと表現されます。

\begin{equation}
Cov(X, Y) = \sigma_{xy} = E[(X - E[X])(Y-E[Y])]
\end{equation}

ちなみに分散である、$Var(X)$の表言と比較すると、分散と共分散が似ていることがわかります。

Cov(X,Y)=\sigma_{xy} =E[(X−E[X])(Y−E[Y])] \\
Var(X) = \sigma_{x^2} = E[(X - E[X])^2]

ここで、この記事で一番最初の多変量ガウス分布の式(1)に登場した$\Sigma$はこのようになっています。

\begin{equation}
\Sigma = 
\begin{pmatrix}
\sigma_{1^2} & \sigma_{12} & \dots & \sigma_{1n}\\
\sigma_{21} & \sigma_{2^2} & \dots & \sigma_{2n} \\
 \vdots  &  \vdots &  \ddots & \vdots  \\
\sigma_{n1} & \sigma_{n2} & \dots & \sigma_{n^2} \\
\end{pmatrix}
\end{equation}

この辺で、頭がついてこれなくなるのが、冷静になりましょう。

$n$変数の多変量を考えていると、想像もできないかもしれないが、(4)式を2変数の場合で考えるとこのようになります。

\begin{equation}
\Sigma = 
\begin{pmatrix}
\sigma_{1^2} & \sigma_{12} \\
\sigma_{21} & \sigma_{2^2} \\

\end{pmatrix}
\end{equation}

ここで、$\sigma_{12} = \sigma_{21}$であることに注意してください。

ピアソンの相関係数

ピアソンの相関係数に関しては、2つの確率変数の度合いとしてピアソンの相関係数(Pearson’s correlation coefficient)があります。

定義は次のようになっています。

ピアソンの相関係数の定義
\begin{equation}
\rho = \frac{COV(X, Y)}{\sigma_x \sigma_y}
\end{equation}

2つの確率変数の相関を規格化したような統計量となっています。

Pythonで多変量ガウス分布を図示してみる

式でガウス分布を説明しても百聞は一見に及ばないので、Pythonで図示してみましょう。

Pythonが動く環境であれば、下記のコードはそのまま動かすことができます。

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
from matplotlib import cm

x = y = np.arange(-20, 20, 0.5)
X, Y = np.meshgrid(x, y)

z = np.c_[X.ravel(),Y.ravel()]

def gaussian(x):
    det = np.linalg.det(sigma)
    inv = np.linalg.inv(sigma)
    n = x.ndim
    return np.exp(-np.diag((x - mu)@inv@(x - mu).T)/2.0) / (np.sqrt((2 * np.pi) ** n * det))

mu = np.array([0,0])
sigma = np.array([[30,0],[0,30]])

Z = gaussian(z)
shape = X.shape
Z = Z.reshape(shape)

fig = plt.figure(figsize = (15, 15))
ax = fig.add_subplot(111, projection='3d')

ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm. plasma)
plt.show()

今回は、このような平均と共分散をこのように指定して図示しました。

μ =\left[
\begin{array}{c}
0 \\
0 
\end{array}
\right], \Sigma = 
\left[
\begin{array}{c}
30 & 0 \\
0 & 30 
\end{array}
\right]

この図におけるz方向(高さ)が地点(X,Y)における確率密度の値になっています。この図では、値が大きいほど暖色系の黄色っぽい色になり、値が低いところほど青系統の色になっており、中心(0, 0)あたりを中心に大きくなっていることがわかると思います。

今後は、平均と分散・共分散を少しずらして三次元化してみてみましょう。設定したパラメータは下記の通りです。

μ =\left[
\begin{array}{c}
10 \\
20 
\end{array}
\right], \Sigma = 
\left[
\begin{array}{c}
10 & 8 \\
8 & 20 
\end{array}
\right]

グラフの形状が変わりましたね。最初の例と違い、今回は2変数の共分散$\sigma_12 = 8$を設定しました。結果として、楕円形のような形になりました。この形をもう少し良くみるためにz軸が一定の高さでこの図形を切ってみます。

これは、上のガウス分布の立体を上から標準偏差$σ$1つ、2つ、3つ分の値でカットしたものになります。多変量ガウス分布の等高線は楕円形になることがわかります。

多変量正規分布の等高線とマハラノビス距離

多変量ガウス分布の定義 (再掲)
\begin{equation}
\mathcal{N}(\bm{x}|\bm{μ}, \bm{\Sigma}) = 
\frac{1}{\sqrt{(2\pi)^{D} |\Sigma|}}
exp
\biggl\{
-\frac{1}{2}(\bm{x}-\bm{μ})^T\Sigma^{-1}(\bm{x}-\bm{μ})
\biggr\}
\end{equation}

改めて多変量正規分布の式を眺めてみましょう。

ここで、多変量正規分布のパラメタは$μ$と$\Sigma$であるが、$μ$と$\Sigma$が決まっているような場合には、この値は$e$の指数部分 $(\bm{x}-\bm{μ})^T\Sigma^{-1}(\bm{x}-\bm{μ})$、つまりマハラノビス距離の値が同じデータ$x$は同じ確率密度になることが示されています。

つまり、マハラノビス距離によって多変量正規分布の等高線が考えられます。

【広告】
統計学的にあなたの悩みを解決します。
仕事やプライベートでお悩みの方は、ベテラン占い師 蓮若菜にご相談ください。

機械学習と情報技術