読者です 読者をやめる 読者になる 読者になる

分散共分散行列

分散
まずは分散とは何かということから。
分散とは「各データが平均値からどれだけ離れているか」という、データのばらつき具合を表す。
具体的に、分散は「(各データの平均値からの距離)の二乗の平均」。
分散の平方根を取ったものが標準偏差と呼ばれるものである。
標準偏差 \sigmaで表すと、

 \sigma^2 = \frac{1}{n} \sum_{i=1}^{n} (x_i - \overline{x})^2

 = \frac{1}{n} (X - \overline{X})^T (X - \overline{X})

これはある一つの事柄に対するデータがどれほど分散しているかを見るものである。

一方で、異なる事柄において相関があるのかを知りたいときに登場するのが共分散です。

共分散
分散共分散行列は次の式で表される。

 S_{XY} = \frac{1}{n} (X-\overline{X})^T (Y-\overline{Y})

この式が示すところを説明する。 たとえば、 Xが平均以上のとき、 Yも平均以上となる場合は、 X, Yの共分散値は正となり、
逆に Xが平均以上のとき、 Yは平均以下となる場合は、 X, Yの共分散値は負となる。

またそれぞれのデータに対して、「データから平均値を引き、標準偏差で割る」(基準化)と、分散共分散行列の対角成分が全て1になる。
つまり、元のデータに固有の平均値や標準偏差の大きさに影響されなくなる。
このようにして得られた行列は「相関行列」と呼ばれる。

分散共分散行列は、各成分が独立である(相関がない)場合は対角行列になる。 また分散共分散行列は半正定値である。 証明は以下の通り。

 S_{ij} = \frac{1}{N} \sum_{k=1}^{N} (x_i^{(k)} - m_i)(x_j^{(k)} - m_j) = \frac{1}{N} \sum_{k=1}^{N} z_i^{(k)} z_j^{(k)}
 S = \frac{1}{N} Z Z^T

任意のベクトル uに対して、 y=Z^{T} uとおくと

 u^T S u = \frac{1}{N} u^T Z Z^T u = \frac{1}{N} y^T y \geqq 0

ゆえに半正定値。