ここでは、特異値分解によって共分散行列の固有ベクトルと固有値を求める方法について説明します。対象の共分散行列が巨大であるがランクが小さい場合には、データを特異値分解したほうが、共分散行列を固有値分解するよりもずっと効率的です。
nをオブザベーション数、pを変数の個数とします。データのn x p行列をXとします。
特異値分解は通常、標準化されたデータに適用されます。データの標準化とは、データから平均を引き、それを標準偏差で割る変換を指します。標準化したデータのn x pをXsで表します。そうすると、標準化されたデータの共分散行列はXの相関行列になります。その共分散行列(相関行列)は、次式のように表されます。
Xsの特異値分解によって、Xs′Xsの固有ベクトルと固有値を求めることができます。この性質を利用すれば、行列Xが非常に横長の場合(列数が膨大な場合)、または縦長の場合(行数が膨大な場合)に、固有ベクトルや固有値を効率的に計算できます。この計算方法が、横長データに対する主成分分析の基本になります。「主成分分析」レポートを参照してください。