ichou1のブログ

主に音声認識、時々、データ分析のことを書く

多変量正規分布(その2)

前回は2変量に相関がないケースを見たが、今回は相関があるケースを見てみる。

各変量の平均と分散は前回と同じ。相関係数だけ変えてみる。

  • 変量x : 平均「1」、分散「2」の正規分布に従う
  • 変量y : 平均「3」、分散「4」の正規分布に従う
  • 変量x と 変量y には正の相関がある(=共分散が「1」であるとして相関係数は「0.35」)

分散共分散行列は以下のとおりとなる。


\begin{eqnarray}
\varSigma_{xy} &=& \begin{pmatrix} 2 & 1 \\ 1 & 4 \end{pmatrix}
\end{eqnarray}

> Sigma.positive_cor
     [,1] [,2]
[1,]    2    1
[2,]    1    4

set.seed(123); data <- rmvnorm(n=N, mean=c(x_mu, y_mu), sigma=Sigma.positive_cor)
             [,1]       [,2]
 [1,]  0.15661631  2.3779756
 [2,]  3.17597129  3.6033091
 [3,]  1.68913945  6.4304202
(snip)
 [9998,] -0.8679178275  1.856718741
 [9999,]  1.1757277988  4.769811627
[10000,]  3.8768372227  5.398123198

チェック。

# xの標本平均
mean(data[,1])
[1] 0.9964789

# yの標本平均
mean(data[,2])
[1] 2.977462

# xの標本分散(自作関数を使用)
variance(data[,1])
[1] 2.010994

# yの標本分散(自作関数を使用)
variance(data[,2])
[1] 3.980254

# xとyの標本共分散(自作関数を使用)
covariance(data[,1], data[,2])
[1] 1.001641

# xとyの相関係数
> cor(data[,1], data[,2])
[1] 0.3540394

2次元散布図
f:id:ichou1:20181106213633p:plain

3次元散布図
f:id:ichou1:20181106213651p:plain

変量xと変量yの平均値での確率密度を求めてみる。

> x_mu <- 1
> y_mu <- 3
> dmvnorm(matrix(c(1, 3), ncol=2), mean=c(x_mu, y_mu), sigma=Sigma.positive_cor)
[1] 0.06015491

相関がないケースでの確率密度は「0.05626977」であった。
改めて確率密度の式を見てみる。


\begin{eqnarray}
f(x, y \ | \ \mu_x, \mu_y, \varSigma_{xy} ) &=& \frac{1}{2 \pi \sqrt {\vert \varSigma_{xy} \vert} } \exp \left( - \frac{1}{2} 
\left(
  \begin{array}{c}
    x - \mu_x \\
    y - \mu_y \\
  \end{array}
\right)^{ \mathrm{ T } }
 {\varSigma_{xy}}^{-1}
  \left(
    \begin{array}{c}
      x - \mu_x \\
      y - \mu_y \\
    \end{array}
  \right)
\right) 
\end{eqnarray}

分母の行列式の部分を比べてみる。

# 相関係数が0.35
> sqrt(det(Sigma.positive_cor))
[1] 2.645751

# 相関係数が0
> sqrt(det(Sigma.zero))
[1] 2.828427

相関がある方が、行列式の値が小さくなっている。
これは、確率密度が描く山を上に押し上げている要素だと思われる。

比率で見てみる。

# 確率密度での比較(相関係数が0の場合を基準にして何倍か)
>  0.06015491 / 0.05626977
[1] 1.069045

# 行列式の平方根での比較(相関係数が0の場合を基準にして何倍か)
> 2.828427 / 2.645751
[1] 1.069045


また、指数関数の中の、分散共分散行列の逆行列を比べてみる。

# 相関係数が0.35
> solve(Sigma.positive_cor)
           [,1]       [,2]
[1,]  0.5714286 -0.1428571
[2,] -0.1428571  0.2857143

# 相関係数が0
> solve(Sigma.zero)
     [,1] [,2]
[1,]  0.5 0.00
[2,]  0.0 0.25

これは、確率密度が描く山を楕円から扁平に押しつぶしている要素だと思われる。

視点を変えてみる。変量yに着目した形状。
f:id:ichou1:20181109080326p:plain
左図が相関あり、右図が相関なし

上から見下ろした形状。
f:id:ichou1:20181109080343p:plain
左図が相関あり、右図が相関なし


各変量が互いに関連していれば、同時に分析することで、データの特徴が分かる。

一方、各変量に相関がない場合は、前回見たように、2変量の確率密度は1変量正規分布の確率密度の積になる。
これは同時に分析せずとも、それぞれの変量を別個に調べればよいことを示している。