5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BrainPadAdvent Calendar 2024

Day 18

分散共分散行列が正定値となる必要十分条件

Last updated at Posted at 2024-12-18

ざっくりサマリ

$\mathrm{データの次元}+ 1\leq\mathrm{データ数}$であれば(変に分布していない限り)分散共分散行列は正定値となる(ので逆行列が計算可能)。逆も成立。

背景

多変量正規分布の推定やマハラノビス距離の計算では分散共分散行列の逆行列を求めるため半正定値ではなく更に強い条件である正定値性が必要となりますが、「分散共分散行列は半正定値である」という文献は割と見つかるものの「正定値であるための必要十分条件」は探してもなかなか出てきません(筆者の検索力不足)。ですが分散共分散行列が正定値となる必要十分条件は初等的な線形代数の知識$+\alpha$で証明できるので自力で示しましょう。

示したい命題

$d,n\in\mathbb{N}$とする。$\mathbb{R}^d$上のベクトルの組$(x_i)_{i=1}^n$に対して次の三条件は同値。

$\mathrm{(I)}$ $(x_i)_{i=1}^n$の中から選んで$\mathbb{R}^d$上の基底を取れる

$\mathrm{(II)}$ $X\triangleq\sum_{i=1}^nx_ix_i^\top$ は正定値行列

$\mathrm{(III)}$ $X=\sum_{i=1}^nx_ix_i^\top$ は正則(逆行列が存在)

正定値性と二次形式

正定値性は二次形式を用いて表現することが出来ます(詳細・証明はこちら)。

  • 実対称行列$X\in\mathbb{R}^{d\times d}$が正定値$\Longleftrightarrow$任意の$y\in\mathbb{R}^d(y\neq0)$に対して$y^{\top}Xy>0$
  • 実対称行列$X\in\mathbb{R}^{d\times d}$が半正定値$\Longleftrightarrow$任意の$y\in\mathbb{R}^d$に対して$y^{\top}Xy\geq0$

この事実を利用すると「正定値行列$X$と半正定値行列$Y$の和$X+Y$は正定値行列」ということが自明に言えます(証明でも利用します)

証明

$\mathrm{(I)}\Longrightarrow\mathrm{(II)}$

基底をとれるため$d\leq n$であり$<x_1,\ldots,x_d>$を基底としても一般性を失わない。

はじめに$n=d$の場合を示す。基底を並べた行列を$Z=\left[x_1,\ldots,x_d\right]\in\mathbb{R}^{d\times d}$とおく。このとき$\mathrm{(II)}$$X=ZZ^\top$と表せるためこれが正定値であることを示す。

$y\in\mathbb{R}^d$を任意として

$$y^{\top}ZZ^{\top}y=||Z^{\top}y||_2^2\geq0$$

である。等号成立は$Z$が基底を並べた行列であることから正則であるため$y=0$のみである。従って$X=ZZ^\top$は正定値であることが示される。

続いて$n>d$の場合を示す。基底でない余ったベクトルを並べた行列を$Z'=\left[x_{d+1},\ldots, x_n\right]\in\mathbb{R}^{d\times(n-d)}$とおく。このとき上記の$Z\in\mathbb{R}^{d\times d}$を用いて

$$y^{\top}Xy=y^{\top}(ZZ^{\top}+Z'Z'^{\top})y=y^{\top}ZZ^{\top}y+y^{\top}Z'Z'^{\top}y$$

となるが、これは正定値$+$半正定値であるので$X$は正定値であることが示される。

$\mathrm{(II)}\Longrightarrow\mathrm{(III)}$

一般に正定値行列の性質から導かれる。$0$でないベクトル$y\in\mathbb{R}^d$に対して$y^\top Xy>0$であるから$Xy\neq0$である($Xy=0$なら$y^{\top}Xy=0$であるため正定値性が破綻する)。したがって$X$は正則である。

$\mathrm{(III)}\Longrightarrow\mathrm{(I)}$

(対偶証明)基底を選択できないならば線形独立な$d$個のベクトルの組を用意できないということであるため、$Z=[x_1,\ldots,x_n]\in\mathrm{R}^{d\times n}$の行列のランクは$\mathrm{rank}(Z)<d$である。従ってランクの性質より

$$\mathrm{rank}(X)=\mathrm{rank}(ZZ^\top)\leq\min(\mathrm{rank}(Z), \mathrm{rank}(Z^\top))=\mathrm{rank}(Z)<d$$

これは$X$が正則でないことを示す。$\square$

分散共分散行列が正定値とならないケース

ベクトルの組$X=(x_i)^n_{i=1}$の分散共分散行列は平均ベクトルを$\bar{x}=\frac{1}{n}\sum_{i=1}^nx_i$として$\mathrm{Cov}(X)=\frac{1}{n}\sum_{i=1}^n(x_i-\bar{x})(x_i-\bar{x})^\top$で表せる。

上記より分散共分散行列が正定値となるにはベクトルの組$(x_i-\bar{x})_{i=1}^n$から基底を選択できることが必要十分である。

すなわち、この中から線形独立な次元と同じ数だけのベクトルの組み合わせを選択できれば良い。

これが意味することは、まずデータの次元$d$がデータ数$n$より多いとき分散共分散行列は正定値になり得ないということである。

また$n=d$の場合についても$a_1,\ldots,a_d\in\mathbb{R}$として線形結合

$$a_1(x_1-\bar{x})+a_2(x_2-\bar{x})+\cdots+a_d(x_d-\bar{x})=0$$

を考えると$a_1=a_2=\cdots=a_d=1$で成立するから正定値ではない。

従って分散共分散行列が正定値であるためには$n\geq d+1$であることが必要条件である。

$n\geq d+1$の条件下で正定値になるかどうかは場合によるが、上記の考察から次のようなことは言える。

  • (恐らく)一般的な設定としてデータの連続的な観測ノイズが全ての次元に広がるような場合では(例えば多変量正規分布)、ほぼ$n\geq d+1$であれば分散共分散行列の正定値性は期待出来る

  • 一方で特に多重共線形な変数が過剰に含まれる場合や離散変量が多い場合には$n\geq d+1$であっても正定値になるとは限らない

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?