主成分分析

Pocket

多次元のデータ列に対して、それぞれの項目の線形和をとることによって、互いに無相関になるようにグループ分けをする手法が主成分分析です。

主成分分析には主に次の2つのやり方があります。

(1)共分散行列に対して主成分分析をする。

(2)相関行列に対して主成分分析をする。

 

(1)の共分散行列に対して主成分分析をする方法は、主にデータの項目の単位が同じなどデータ項目の線形和を取っても意味がある時に用います。(例えば、数学と国語点数など)。一方、(2)相関行列に対して主成分分析する方法は、そのままデータの項目の線形和を取ってい意味がない時に使います。(例えば、身長と体重など)

共分散行列に対する主成分分析

まず(1)の共分散に対する主成分分析を解説します。

n次元の時系列データを、x_i(t)~(i=1,2,3,\cdots,n)とします。この時系列データの共分散行列、C_{ij}は以下で与えらます。

\displaystyle C_{ij}=Cov(x_i,x_j)=\frac{1}{m}\sum_{t=1}^m(x_i(t)-\bar{x_i})(x_j(t)-\bar{x_j}).

 

ここで、\bar{x_i}は、x_i(t)の平均です。この共分散行列を対角化します。Pを直行行列として、

P^{-1}CP = \mbox{diag}(\lambda_1,\cdots,\lambda_n)

 

なります。ここで、\mbox{diag}(\lambda_1,\cdots,\lambda_n)は、\lambda_i~(i=1,2,3,\cdots,n)を対角成分(固有値)とする対角行列です。

すると、元のデータx_i(t)~(i=1,2,3,\cdots,n)から、次のように新しいデータy_i(t) y_i(t) = \sum_{j}x_j(t){P^j}_i

 

を定義します。ここで、{P^j}_iPの各成分です。すると、このy_i(t)の各成分は、お互い無相関になり、それぞれの成分の分散は\lambda_i~(i=1,2,3,\cdots,n)となります。

Cov(y_i,y_j) = \mbox{diag}(\lambda_1,\cdots,\lambda_n)

 

相関係数に対する主成分分析

(2)の相関行列に対してする主成分分析ですが、時系列データx_i(t)~(i=1,2,3,\cdots,n)を次にように正規化をして主成分分析をすれば、(1)とまったく同じとなります。

\displaystyle r_i(t)=\frac{x_i(t)-\bar{x_i}}{\sqrt{\sum_{t}(x_i(t)-\bar{x_i})^2}}.

すると、元のn次元の時系列データx_i(t)~(i=1,2,3,\cdots,n)にたいする時系列データの相関行列\rho_{ij}は以下のようになります。

\displaystyle \rho_{ij}=Cov(r_i,r_j)=\frac{\sum_{t}(x_i(t)-\bar{x_i})(x_j(t)-\bar{x_j})}{\sqrt{\sum_{t}(x_i(t)-\bar{x_i})^2}\sqrt{\sum_{t}(x_j(t)-\bar{x_j})^2}}.

この相関行列にたいして、(1)と同じように対格化をすればよいことになります。具体的には以下のようになります。

ます、相関行列を対角化します。Pを直行行列として、

P^{-1}\rho P = \mbox{diag}(\lambda_1,\cdots,\lambda_n)

 

なります。ここで、\mbox{diag}(\lambda_1,\cdots,\lambda_n)は、\lambda_i~(i=1,2,3,\cdots,n)を対角成分(固有値)とする対角行列です。

すると、元の正規化されたデータr_i(t)~(i=1,2,3,\cdots,n)から、次のように新しいデータy_i(t) y_i(t) = \sum_{j}r_j(t){P^j}_i

 

を定義します。ここで、{P^j}_iPの各成分です。すると、このy_i(t)の各成分は、お互い無相関になり、それぞれの成分の分散は\lambda_i~(i=1,2,3,\cdots,n)となります。

Cov(y_i,y_j) = \mbox{diag}(\lambda_1,\cdots,\lambda_n)

コメントは停止中です。