主成分分析
X T X = W Σ U T U Σ W T = W Σ 2 W T {\displaystyle {\begin{aligned}\mathbf {X} ^{\mathrm {T} }\mathbf {X} &=\mathbf {W} \mathbf {\Sigma } \mathbf {U} ^{\mathrm {T} }\mathbf {U} \mathbf {\Sigma } \mathbf {W} ^{\mathrm {T} }\\&=\mathbf {W} \mathbf {\Sigma } ^{2}\mathbf {W} ^{\mathrm {T} }\end{aligned}}}
前節で示した XX の固有値分解と見比べると、X の右特異ベクトルの組 W はまた XX の固有ベクトルの組でもあり、X の特異値 σk は XX の固有値 λk の平方根に等しいことが分かる。
特異値分解を主成分得点行列 T に対して行うと、以下のような分解が得られる。
T = X W = U Σ W T W = U Σ . {\displaystyle {\begin{aligned}\mathbf {T} &=\mathbf {X} \mathbf {W} \\&=\mathbf {U} \mathbf {\Sigma } \mathbf {W} ^{\mathrm {T} }\mathbf {W} \\&=\mathbf {U} \mathbf {\Sigma } .\end{aligned}}}
主成分変換は行列の特異値分解とも結び付けられる。行列 X の特異値分解は以下の形式で与えられる。
X = U Σ W T . {\displaystyle \mathbf {X} =\mathbf {U} \mathbf {\Sigma } \mathbf {W} ^{\mathrm {T} }.}
ここで、Σ は n × p の矩形対角行列であり、対角成分 σk が正の行列である。Σ の対角成分を行列 X の特異値という。U は n × n の正方行列であり、各列が互いに直交する n 次元の単位ベクトルとなる行列(つまり直交行列)である。各々の単位ベクトルは行列 X の左特異ベクトルと呼ばれる。同様に W は、各列が互いに直交する p 次元の単位ベクトルとなる p × p の正方行列である。こちらの単位ベクトルは行列 X の右特異ベクトルと呼ばれる。
X の特異値分解に基づいて XX を表わせば、以下のようになる。
数学的には主成分分析はデータの基底に対し直交変換(回転)を行い、新たな座標系を得ることであり、新しい座標系はその第一成分(第一主成分と呼ばれる)から順に、データの各成分に対する分散が最大になるように選ばれる。
以下では、データ行列 X として、各列の標本平均が 0 になるものを考える。データ行列の各列 p はそれぞれデータが持つ特定の指標に対応し、データ行列の各行 n はそれぞれ異なる事例に対する指標の組を表す。
主成分分析は p 次元ベクトル wk によってデータ行列 X の各行 xi を主成分得点のベクトル t(i) = (t1, ..., tk)(i) に変換することであり、主成分得点tk(i) はデータ点 xi と負荷量ベクトル wk の内積によって与えられる。
t k ( i ) = x i ⋅ w k {\displaystyle {t_{k}}_{(i)}=\mathbf {x} _{i}\cdot \mathbf {w} _{k}}
負荷量ベクトル w は単位ベクトルであり、各主成分得点の分散を第一主成分から順に最大化するように選ばれる。負荷量ベクトルの個数(つまり主成分の数)k は、元の指標の数 p に等しいか、より小さい数が選ばれる (k ≤ p)。負荷量ベクトルの個数、つまり新しいデータ空間の次元を元の空間の次元より少なくとることで、次元削減をすることができる(#次元削減を参照)。主成分分析による次元削減は、データの分散に関する情報を残すように行われる。
‖ T W T − T L W L T ‖ 2 2 ( ‖ X − X L ‖ 2 2 ) {\displaystyle \|\mathbf {T} \mathbf {W} ^{\mathrm {T} }-\mathbf {T} _{L}\mathbf {W} _{L}^{\mathrm {T} }\|_{2}^{2}\qquad (\|\mathbf {X} -\mathbf {X} _{L}\|_{2}^{2})}
を最小化するように与えられる。
元のデータセットの分散をできる限り残すように次元削減することは、高次元のデータセットを可視化する上で重要である。例えば、主成分の数を L = 2 に選び、2つの主成分がなす平面にデータセットを射影すると、射影されたデータ点は主成分のなす平面に対して最もよく分散し、データに含まれるクラスタはそれぞれ分離される。したがって、2つの主成分がなす平面はデータを平面上にプロットする上で都合がよい。射影平面として別の平面を選んだ場合、クラスタ間のばらつきは小さくなり互いに重なり合うようになるため、実質上はそれぞれのクラスタを分類することが困難になってしまう。