
主成分分析(PCA)は、探索的データ分析、可視化、データ前処理に応用される線形次元削減手法です。
データは新しい座標系に線形変換され、データの中で最も大きな変動を捉える方向(主成分)を容易に特定できるようになる。
実座標空間における点の集合の主成分は、次のシーケンスである。単位ベクトル、ここで第 1 番目のベクトルは、最初のベクトルに直交しつつ、データに最もよく適合する直線の方向です。ベクトル。ここで、最適近似直線は、点から直線までの垂直 距離の二乗平均値を最小化する直線として定義されます。これらの方向(すなわち主成分)は、データの異なる個々の次元が線形的に無相関である正規直交基底を構成します。多くの研究では、データを2次元でプロットし、密接に関連するデータ点のクラスターを視覚的に識別するために、最初の2つの主成分を使用します。[ 1 ]
PCAを実行する際、一連の主成分の最初の主成分は変数は、元の変数の線形結合として形成された派生変数であり、最も多くの分散を説明します。第 2 主成分は、第 1 主成分の影響を除去した後の残りの部分の分散を最も多く説明し、すべての分散が説明されるまで反復します。PCAは、多くの変数が互いに高い相関関係にあり、それらの数を独立したセットに減らすことが望ましい場合に最も一般的に使用されます。最初の主成分は、投影されたデータの分散を最大化する方向として定義することもできます。第 1 番目の主成分は、第 1 番目の主成分に直交する方向とみなすことができる。予測データの分散を最大化する主成分。
どちらの目的においても、主成分はデータの共分散行列の固有ベクトルであることが示せる。したがって、主成分は、データ共分散行列の固有値分解またはデータ行列の特異値分解によって計算されることが多い。PCA は真の固有ベクトルに基づく多変量解析の中で最も単純なものであり、因子分析と密接に関連している。因子分析は通常、基礎となる構造に関するよりドメイン固有の仮定を取り入れ、わずかに異なる行列の固有ベクトルを解く。PCA は正準相関分析 (CCA)とも関連している。CCA は 2 つのデータセット間の相互共分散を最適に記述する座標系を定義するが、PCA は単一のデータセットの分散を最適に記述する新しい直交座標系を定義する。 [ 3 ] [ 4 ] [ 5 ] [ 6 ]標準 PCA の堅牢でL1 ノルムに基づく変種も提案されている。[ 7 ] [ 8 ] [ 9 ] [ 6 ]
PCAは1901年にカール・ピアソン[ 10 ]によって力学の主軸定理の類似物として発明され、その後1930年代にハロルド・ホテリングによって独自に開発され命名されました。 [ 11 ]応用分野によっては、信号処理では離散カルーネン・レーヴェ変換 (KLT) 、多変量品質管理ではホテリング変換、機械工学では固有直交分解(POD)、Xの特異値分解(SVD) (19 世紀末に発明[ 12 ] )、線形代数ではX T Xの固有値分解(EVD) 、因子分析(PCA と因子分析の違いについては、Jolliffe の主成分分析の第 7 章を参照)、[ 13 ]エッカート・ヤングの定理(Harman、1960)、気象学では経験的直交関数(EOF) (Lorenz、1956)、経験的固有関数分解 (Sirovich、1987)、準調和モード (Brooks et al.) とも呼ばれる。 (al., 1988)、騒音と振動におけるスペクトル分解、構造力学における経験的モード解析。

主成分分析(PCA)は、データにp次元楕円体を当てはめるものと考えることができます。この楕円体の各軸は主成分を表します。楕円体のいずれかの軸が小さい場合、その軸に沿った分散も小さくなります。
楕円体の軸を求めるには、まずデータセット内の各変数の値を、それぞれの観測値の平均を減算することで、0 を中心とする必要があります。変換された値は、各変数の元の観測値の代わりに使用されます。次に、データの共分散行列を計算し、この共分散行列の固有値と対応する固有ベクトルを計算します。その後、各直交固有ベクトルを正規化して単位ベクトルに変換する必要があります。これが完了すると、互いに直交する各単位固有ベクトルは、データに適合した楕円体の軸として解釈できます。この基底の選択により、共分散行列は対角化された形式に変換され、対角要素は各軸の分散を表します。各固有ベクトルが表す分散の割合は、その固有ベクトルに対応する固有値をすべての固有値の合計で割ることによって計算できます。
PCAは、実内積空間上の直交線形変換として定義され、データを新しい座標系に変換することで、データの何らかのスカラー投影による最大の分散が最初の座標(第1主成分と呼ばれる)上に、2番目に大きな分散が2番目の座標上に、といった具合に分布するようにします。[ 13 ]
を考えてデータ行列X は、列ごとの経験平均がゼロ(各列の標本平均がゼロにシフトされている)であり、n行はそれぞれ実験の異なる繰り返しを表し、p列はそれぞれ特定の種類の特徴(例えば、特定のセンサーからの結果)を示します。
数学的には、変換はサイズの集合によって定義される(どこ通常は厳密に以下になるように選択されます。次元を削減するために重みまたは係数の次元ベクトル各行ベクトルをマッピングするXを主成分スコアの新しいベクトルに変換するによって与えられた
個々の変数がデータセット全体にわたって考慮されるtは、 Xから可能な限り最大の分散を継承し、各係数ベクトルwは単位ベクトルとなるように制約されます。
上記は、行列形式で次のように表すこともできます。
どこ 、 、 そして 。
分散を最大化するために、最初の重みベクトルw (1) は以下を満たす必要がある。
同様に、これを行列形式で書くと次のようになる。
w (1)は単位ベクトルとして定義されているので、等価的に次の条件も満たします。
最大化すべき量はレイリー商として認識できます。X T Xのような正定値半行列の標準的な結果として、商の最大値は行列の最大固有値であり、これはwが対応する固有ベクトルである場合に発生します。
w (1)が見つかると、データベクトルx ( i )の最初の主成分は、変換された座標でスコアt 1( i ) = x ( i ) ⋅ w (1)として、または元の変数での対応するベクトル { x ( i ) ⋅ w (1) } w (1)として与えられます。
k番目の成分は、 Xから最初のk − 1 個の主成分を差し引くことによって求められます。
そして、この新しいデータ行列から最大の分散を抽出する重みベクトルを見つける。
結果として、これはX T Xの残りの固有ベクトルを与え、括弧内の量の最大値は対応する固有値によって与えられます。したがって、重みベクトルはX T Xの固有ベクトルです。
したがって、データベクトルx ( i )のk番目の主成分は、変換された座標におけるスコアt k ( i ) = x ( i ) ⋅ w ( k )として、または元の変数空間における対応するベクトル { x ( i ) ⋅ w ( k ) } w ( k )として与えることができます。ここで、w ( k )はX T Xのk番目の固有ベクトルです。
したがって、 Xの完全な主成分分解は次のように表すことができます。
ここで、Wはp × pの重み行列であり、その列はX T Xの固有ベクトルです。W の転置は、ホワイトニング変換または球面化変換と呼ばれることもあります。W の列に、対応する固有値の平方根を掛けたもの、つまり分散でスケーリングされた固有ベクトルは、 PCA または因子分析ではローディングと呼ばれます。
X T X自体は、データセットXの経験的標本共分散行列に比例すると認識できる。[ 13 ] : 30–31
データセット全体における2つの異なる主成分間の標本共分散Qは、次のように表されます。
ここで、 w ( k )の固有値特性を利用して、2 行目から 3 行目へ移動しました。ただし、対称行列の固有値に対応する固有ベクトルw ( j )とw ( k )は、(固有値が異なる場合)直交するか、(ベクトルが同じ繰り返し値を共有する場合)直交化できます。したがって、最終行の積はゼロになります。データセット全体で、異なる主成分間にサンプル共分散はありません。
したがって、主成分変換を特徴づけるもう一つの方法は、経験的サンプル共分散行列を対角化する座標への変換として捉えることである。
行列形式では、元の変数の経験的共分散行列は次のように記述できます。
主成分間の経験的共分散行列は次のようになる。
ここで、ΛはX T Xの固有値λ ( k )の対角行列です。λ ( k )は、各コンポーネントkに関連付けられたデータセットの二乗の合計に等しく、つまり、λ ( k ) = Σ i t k 2 ( i ) = Σ i ( x ( i ) ⋅ w ( k ) ) 2 です。
変換P = X W は、データベクトルx ( i )を、元のx変数の空間から、データセット全体で無相関なp変数の新しい空間にマッピングします。中心化されたデータを無次元化するために、X cをデータベクトルX iの特性値として次のように定義します。
サイズnのデータセットの場合。これらのノルムは、変数x、yの元の空間を、無相関変数p、qの新しい空間( Y cは同じ意味) に変換するために使用されます。そして、新しい変数は次のように線形関係にある。最適な線形関係を見つけるために、再構成誤差の二乗合計を最小化します。 ;誤差関数の導関数をゼロに設定する収量:どこ[ 14 ]

このような次元削減は、高次元データセットを視覚化および処理する際に非常に有用な手順となり、データセット内の分散を可能な限り保持することができます。たとえば、L = 2 を選択し、最初の 2 つの主成分のみを保持すると、高次元データセットを通る 2 次元平面でデータが最も広がっていることがわかります。そのため、データにクラスターが含まれている場合、それらも最も広がっており、2 次元図にプロットするのに最も見やすくなります。一方、データを通る 2 つの方向 (または元の変数の 2 つ) をランダムに選択すると、クラスターは互いにあまり離れておらず、実際には互いに大きく重なり合って区別できなくなる可能性がはるかに高くなります。
同様に、回帰分析においても、説明変数の数が多いほど、モデルが過学習を起こし、他のデータセットに一般化できない結論を導き出す可能性が高くなります。特に、複数の説明変数間に強い相関関係がある場合、それらを少数の主成分に絞り込み、それらに対して回帰分析を行うという方法があります。この方法は主成分回帰と呼ばれます。
データセット内の変数にノイズが含まれている場合、次元削減も適切である可能性があります。データセットの各列に独立同分布のガウスノイズが含まれている場合、Tの列にも同様に同分布のガウスノイズが含まれます (このような分布は、座標軸の高次元回転と考えることができる行列Wの影響に対して不変です)。ただし、同じノイズ分散と比較して、全分散の大部分が最初のいくつかの主成分に集中しているため、ノイズの比例的な影響は小さくなります。最初のいくつかの成分は、より高い信号対雑音比を達成します。したがって、PCA は信号の大部分を最初のいくつかの主成分に集中させる効果があり、これは次元削減によって有効に捉えることができます。一方、後の主成分はノイズに支配されているため、大きな損失なく削除できます。データセットが大きすぎない場合は、保持する主成分の数を決定するのに役立つように、パラメトリックブートストラップを使用して主成分の有意性をテストできます。[ 15 ]
主成分変換は、別の行列分解であるXの特異値分解(SVD)と関連付けることもできます。
ここで、Σは、 Xの特異値と呼ばれる正の数σ ( k )のn × p の長方形対角行列です。U は、列が長さnの直交単位ベクトルであるn × n 行列で、 Xの左特異ベクトルと呼ばれます。Wは、列が長さpの直交単位ベクトルであるp × p行列で、 Xの右特異ベクトルと呼ばれます。
この因数分解の観点から、行列X T X は次のように書くことができる。
どこXの特異値と余分なゼロが切り捨てられた正方対角行列は、次の式を満たす。X T Xの固有ベクトル分解との比較により、Xの右特異ベクトルWはX T Xの固有ベクトルと等価であることが確立され、一方、特異値σ ( k )はは、 X T Xの固有値λ ( k )の平方根に等しい。
特異値分解を用いると、スコア行列Tは次のように書ける。
したがって、 Tの各列は、Xの左特異ベクトルのいずれかに、対応する特異値を乗じたもので与えられます。この形式は、Tの極分解でもあります。
行列X T Xを形成することなくXの SVD を計算する効率的なアルゴリズムが存在するため、ごく少数の成分しか必要としない場合を除き、SVD を計算することがデータ行列から主成分分析を計算する標準的な方法となっています[ 16 ] 。
固有値分解と同様に、最初の L 個の最大の特異値とその特異ベクトルのみを考慮することで、切り捨てられたn × Lスコア行列T Lを得ることができます。
このように特異値分解を切り捨てて行列MまたはTを切り捨てると、切り捨てられた行列は、2 つの行列の差が最小のフロベニウス ノルムを持つという意味で、元の行列に最も近いランクLの行列になります。これは、エッカート-ヤングの定理[1936]として知られる結果です。
定理(最適なk次元適合)。P を列が平均中心化およびスケーリングされたn×mデータ行列とし、 その特異値分解を とする。すると、最小二乗法(フロベニウスノルム)の意味で P に対する最良のランク k 近似は、 ここで、V k はV の最初の k 列から構成される。さらに、相対残差分散は 。
特異値 ( Σ内) は、行列X T Xの固有値の平方根です。各固有値は、各固有ベクトルに関連付けられた「分散」(より正確には、点の多次元平均からの二乗距離の合計) の割合に比例します。すべての固有値の合計は、点の多次元平均からの二乗距離の合計に等しくなります。PCA は基本的に、点の集合をその平均を中心に回転させて主成分に合わせます。これにより、可能な限り多くの分散 (直交変換を使用) が最初の数次元に移動します。したがって、残りの次元の値は小さくなる傾向があり、最小限の情報損失で削除できます (下記参照) 。PCA は、次元削減のためにこの方法でよく使用されます。PCA は、最大の「分散」(上記で定義) を持つ部分空間を保持するための最適な直交変換であるという特徴があります。しかしながら、この利点は、例えば離散コサイン変換、特に「DCT」として知られているDCT-IIと比較した場合、計算負荷が大きくなるという代償を伴います。非線形次元削減手法は、PCAよりも計算負荷が高い傾向があります。
PCAは変数のスケーリングに敏感である。数学的には、この感度は、リスケーリングによってPCAが対角化するサンプル共分散行列が変化する方法に起因する。[ 14 ]
させて*中心化された*データ行列(n行、p列)とし、共分散を定義します。 もし第 1 番目の変数に係数を掛けます我々は得る したがって、新しい共分散は
固有値と固有ベクトルははスケーリング主軸は、分散が膨張した列の方向に回転します。これは、以下の 2 次元の例で正確に示されています。
変数が 2 つだけで、標本分散が同じで完全に相関している場合、PCA では 45° の回転が必要となり、主成分に対する 2 つの変数の「重み」(回転のコサイン)は等しくなります。しかし、最初の変数のすべての値を 100 倍すると、最初の主成分はその変数とほぼ同じになり、他の変数からの寄与は小さくなりますが、2 番目の主成分は元の 2 番目の変数とほぼ一致します。つまり、異なる変数の単位が異なる場合 (温度と質量など)、PCA はやや恣意的な分析方法となります。(たとえば、摂氏ではなく華氏を使用した場合、異なる結果が得られます。) ピアソンの元の論文のタイトルは「空間内の点のシステムへの最もよく適合する線と平面について」でした。「空間内」とは、このような懸念が生じない物理的なユークリッド空間を意味します。主成分分析(PCA)の恣意性を低減する一つの方法は、データを標準化して単位分散となるように変数をスケーリングし、自己共分散行列の代わりに自己相関行列をPCAの基礎として使用することである。しかし、この方法では信号空間のすべての次元における変動が単位分散に圧縮(または拡大)されることになる。
古典的なPCAは、点群がすでに平行移動されて重心が原点にあることを前提としている。[ 14 ]
各観察結果を次のように記述します。
減算せずに我々は事実上対角線を描いている
どこは中心化行列です。ランク1の項多くの場合、支配的となり、主要な固有ベクトルをほぼ正確に平均値に向けさせ、中心部分の構造を完全に消し去ってしまう。平均値を差し引くと、その項は消滅し、主軸は最大分散の真の方向と一致する。
相関行列に対して主成分分析を実行する場合、相関を計算した後データは既に中心化されているため、平均中心化は不要です。相関は、2 つの標準スコア (Z スコア) または統計モーメントのクロス積から導出されます (そのため、ピアソン積率相関係数という名前が付けられています)。また、Kromrey と Foster-Johnson (1998) による「調整回帰における平均中心化: 大騒ぎするほどのことではない」という記事も参照してください。共分散は正規化された変数( Z スコアまたは標準スコア) の相関であるため、 Xの相関行列に基づく PCA は、 Xの標準化バージョンである Zの共分散行列に基づく PCA と等しくなります。
PCAはパターン認識における一般的な主要手法です。しかし、クラス分離性には最適化されていません。[ 17 ]ただし、主成分空間における各クラスの重心を計算し、2つ以上のクラスの重心間のユークリッド距離を報告することで、2つ以上のクラス間の距離を定量化するために使用されてきました。[ 18 ]線形判別分析は、クラス分離性に最適化された代替手法です。
PCAの特性には以下のようなものがあります。[ 13 ]
この特性の統計的な意味合いは、重要な主成分を除去した後の最後のいくつかの主成分は、単に構造化されていない残余物ではないということです。これらの最後の主成分は分散が可能な限り小さいため、それ自体で有用です。これらは、 xの要素間の予期せぬほぼ一定の線形関係を検出するのに役立ち、回帰分析、 xからの変数のサブセットの選択、および外れ値の検出にも役立つ可能性があります。
その使用法を見る前に、まず対角要素を見てみましょう。
すると、この結果の主な統計的意味は、 xのすべての要素の結合分散を各 PC による寄与の減少に分解できるだけでなく、共分散行列全体を寄与に分解することもできるということである。各 PC から。厳密には減少ではありませんが、小さくなる傾向がある増加するにつれて増加する場合、増加しない一方、正規化の制約により、サイズはほぼ同じままになる傾向がある。。
前述のように、PCAの結果は変数のスケーリングに依存します。これは、各特徴量をその標準偏差でスケーリングすることで解決でき、最終的に単位分散を持つ無次元の特徴量が得られます。[ 19 ]
上述のように、PCAの適用範囲は、その導出時になされた特定の(暗黙の)仮定[ 20 ]によって制限されます。特に、PCAは特徴間の線形相関を捉えることができますが、この仮定が破られると失敗します(参考文献の図6aを参照)。場合によっては、座標変換によって線形性の仮定を回復し、PCAを適用することができます(カーネルPCAを参照)。
もう一つの制限は、PCA の共分散行列を構築する前の平均値除去プロセスです。天文学などの分野では、すべての信号が非負であり、平均値除去プロセスによって一部の天体物理学的露出の平均がゼロになり、結果として非物理的な負のフラックスが生成されます[ 21 ]。信号の真の大きさを回復するには、順方向モデリングを実行する必要があります。[ 22 ]代替方法として、行列内の非負の要素のみに焦点を当てた非負行列因子分解は、天体物理学的観測に適しています。[ 23 ] [ 24 ] [ 25 ] PCA と非負行列因子分解の関係については、こちらをご覧ください。
PCAは、アルゴリズムを適用する前にデータが標準化されていない場合、不利になります。PCAは元のデータをそのデータの主成分に関連するデータに変換するため、新しいデータ変数は元のデータ変数と同じ方法で解釈することはできません。これらは元の変数の線形解釈です。また、PCAが適切に実行されない場合、情報損失の可能性が高くなります。[ 26 ]
PCAは線形モデルに依存しています。データセットに非線形なパターンが隠れている場合、PCAは実際には分析を全く逆の方向に進めてしまう可能性があります。[ 27 ]カンザス州立大学の研究者は、実験におけるサンプリング誤差がPCAの結果のバイアスに影響を与えることを発見しました。「被験者数またはブロック数が30未満の場合、および/または研究者が最初のPC以降のPCに関心がある場合は、PCAを実行する前に、まず自己相関を補正した方が良いかもしれません。」[ 28 ]カンザス州立大学の研究者はまた、PCAは「データの自己相関構造が正しく処理されない場合、深刻なバイアスを受ける可能性がある」ことも発見しました。[ 28 ]
次元削減は一般的に情報損失をもたらします。PCA(主成分分析)に基づく次元削減は、特定の信号およびノイズモデルの下では、その情報損失を最小限に抑える傾向があります。
という仮定の下で
つまり、データベクトルは、目的の情報伝達信号の合計です。そしてノイズ信号情報理論的な観点から、PCAは次元削減に最適であることを示すことができる。
特に、リンスカーは、もしはガウス分布であり、は、単位行列に比例する共分散行列を持つガウスノイズであり、PCAは相互情報を最大化する。 ;\mathbf {s} )} は、 必要な情報の間にある。そして次元削減された出力[ 29 ]
ノイズが依然としてガウス分布であり、共分散行列が単位行列に比例する場合(つまり、ベクトルの成分がは独立同分布(iid )であるが、情報伝達信号はが非ガウス分布である場合(これはよくあるシナリオです)、PCA は少なくとも情報損失の上限を最小化します。これは次のように定義されます[ 30 ] [ 31 ]
ノイズがは独立同分布であり、少なくとも情報を含む信号よりもガウス分布に近い(カルバック・ライブラー情報量の観点から)。[ 32 ]一般に、上記の信号モデルが成り立つ場合でも、ノイズが増加するとすぐにPCAは情報理論上の最適性を失います。依存するようになる。
以下は、相関法[ 34 ]とは対照的に、共分散法[ 33 ]を用いたPCAの詳細な説明である。
目標は、次元pのデータセットX を、より小さな次元LのデータセットYに変換することです。言い換えれば、行列Xのカルーネン・レーヴェ変換 (KLT) である行列Yを求めようとしています。
p個の変数からなる観測値の集合データがあるとします。そして、各観測値をL個の変数(L < p )だけで記述できるようにデータを削減したいとします。さらに、データはn個のデータベクトルの集合として構成されているとします。それぞれp個の変数をグループ化した単一の観測値を表す。
平均値の減算は、データの近似における平均二乗誤差を最小化する主成分基底を見つけるための解決策の不可欠な部分である。[ 35 ]したがって、次のようにデータを中心化して進めます。
一部のアプリケーションでは、各変数(Bの列)の分散が 1 に等しくなるようにスケーリングされる場合もあります(Z スコアを参照)。[ 36 ]この手順は計算された主成分に影響を与えますが、異なる変数を測定するために使用される単位とは独立します。
つまり、最初の列は1列目はデータポイントを第1主成分に投影したもので、2列目は第2主成分に投影したもの、といった具合です。
Xを列ベクトルとして表されるd次元の確率ベクトルとする。一般性を失うことなく、Xの平均はゼロであると仮定する。
私たちは見つけたいと思っていますd × d の正規直交変換行列Pにより、PX は対角共分散行列を持つ(つまり、PX はすべての異なる成分が互いに無相関であるランダムベクトルである)。
簡単な計算を仮定すると収率は100%でした。
したがって成り立つのは、は対角化可能であった。
これは非常に建設的です。なぜなら、cov( X ) は非負定値行列であることが保証されており、したがって何らかのユニタリ行列によって対角化できることが保証されているからです。
実際の実装、特に高次元データ(大きなp)の場合、共分散行列を明示的に決定するための計算コストとメモリコストが高いため、単純な共分散法は効率的ではないため、ほとんど使用されません。共分散フリーのアプローチでは、共分散行列X T Xを明示的に計算して保存するnp 2 回の演算を回避し、代わりに、例えば、積X T (X r)を評価する関数に基づく行列フリーの方法のいずれかを2 np 回の演算で利用します。
共分散行列を計算することなく、平均がゼロのデータ行列Xに対して、第一主成分を効率的に計算する方法の 1 つを次の擬似コードに示します[ 41 ] 。
r = 長さpのランダムベクトルr = r / norm( r )c回 繰り返す: s = 0 (長さpのベクトル) Xの各行xについてs = s + ( x ⋅ r ) x λ = r T s // λ は固有値error = |λ ⋅ r − s | r = s / norm( s ) error < tolerance の場合は終了する return λ, r
このべき乗反復アルゴリズムは、ベクトルX T (X r)を計算し、正規化して、結果をrに戻します。固有値は、共分散行列X T Xの単位ベクトルrのレイリー商であるr T (X T X) rで近似されます。最大の特異値が次に大きい特異値から十分に離れている場合、ベクトルrは、 pに比べて小さい反復回数c以内にXの最初の主成分に近づき、総コストは2cnpになります。ランチョスアルゴリズムや局所最適ブロック前処理共役勾配法 (LOBPCG ) などのより高度な行列フリー法を使用すると、反復ごとの小さなコストを著しく犠牲にすることなく、べき乗反復の収束を加速できます。
後続の主成分は、デフレーションによって 1 つずつ計算することも、ブロックとして同時に計算することもできます。前者のアプローチでは、既に計算された近似主成分の不正確さが、後続の主成分の精度に加算的に影響を与え、新しい計算ごとに誤差が増加します。後者のアプローチであるブロックべき乗法では、単一ベクトル r と s をブロックベクトル、行列 R と S に置き換えます。Rの各列は、主要な主成分の 1 つを近似し、すべての列が同時に反復されます。主な計算は、積X T (XR)の評価です。たとえばLOBPCGで実装されている効率的なブロッキングは、誤差の蓄積を排除し、高レベルのBLAS行列積関数の使用を可能にし、通常、単一ベクトルを 1 つずつ計算する手法と比較して、より高速な収束につながります。
非線形反復部分最小二乗法 (NIPALS)は、主成分分析または部分最小二乗分析の最初のいくつかの成分を計算するために実装された、減算による行列縮小を伴う古典的なべき乗反復法の変種です。オミクス科学 (例えば、ゲノミクス、メタボロミクス) で生成されるような非常に高次元のデータセットの場合、通常は最初のいくつかの PC を計算するだけで十分です。非線形反復部分最小二乗法 (NIPALS) アルゴリズムは、各反復で左と右にXを乗じるべき乗反復法によって、主要なスコアとローディングt 1とr 1 Tの反復近似を更新します。つまり、共分散行列の計算は回避されます。これは、積X T (X r) = ((X r) T X) Tを評価する関数に基づいて、X T Xへのべき乗反復法の行列フリー実装と同様です。
行列の減算による縮小は、外積t 1 r 1 T をXから減算することによって実行され、縮小された残差行列が残され、後続の主成分を計算するために使用されます。[ 42 ] 大規模なデータ行列、または列の共線性が高い行列の場合、NIPALS は、各反復で蓄積される機械精度の丸め誤差と減算による行列の縮小により、主成分の直交性を失います。[ 43 ]この直交性の喪失を解消するために、各反復ステップでスコアと負荷の両方にグラム-シュミット再直交化アルゴリズムが適用されます。[ 44 ] NIPALSは単一ベクトル乗算に依存しているため、高レベルのBLASを活用できず、クラスター化された先頭特異値の収束が遅くなるという問題があります。これらの欠点は、局所最適ブロック前処理共役勾配法( LOBPCG )などのより洗練された行列フリーブロックソルバーで解決されます。
データが単一のバッチに保存されるのではなく、断片的に到着する「オンライン」または「ストリーミング」状況では、順次更新できるPCA投影の推定を行うことが有用です。これは効率的に行うことができますが、異なるアルゴリズムが必要です。[ 45 ]
探索的データ分析では、モデルの構築に使用されていない質的(カテゴリ)変数を、補助要素として主成分軸に投影することができます。[ 46 ] [ 47 ] [ 48 ]補助的な質的変数の使用は、1960年代と70年代に発展したフランスのデータ分析学派の特徴でした。[ 49 ]ルドヴィック・ルバールの研究に基づき、この方法は FactoMineR などのパッケージを通じて R 環境で利用できます。[ 50 ] [ 51 ] [ 52 ]
因子分析の初期の応用は、人間の知能の構成要素を特定し測定することであった。知能には空間知能、言語知能、帰納、演繹など、相関のないさまざまな構成要素があり、これらのスコアはさまざまなテストの結果から因子分析によって導き出され、知能指数(IQ)として知られる単一の指標が得られると考えられていた。統計心理学の先駆者であるスピアマンは、 1904年に知能の2因子理論のために因子分析を開発し、心理測定学に正式な手法を加えた。1924年、サーストンは知能の56の因子を探し、精神年齢の概念を発展させた。今日の標準的なIQテストは、この初期の研究に基づいている。[ 53 ]
1949年、シェフキーとウィリアムズは因子生態学の理論を導入し、これは1950年代から1970年代にかけて居住地の分化の研究を支配した。[ 54 ]都市内の近隣地域は、因子分析によって3つに集約できるさまざまな特徴によって認識または区別できる。これらは「社会的地位」(職業的地位の指標)、「家族主義」または家族規模、「民族性」として知られていた。クラスター分析を適用して、3つの主要な因子変数の値に従って都市をクラスターまたは地区に分割することができた。都市地理学では因子生態学に関する膨大な文献が発展したが、このアプローチは方法論的に原始的でポストモダン地理学のパラダイムにはほとんど居場所がないとして、1980年以降は流行遅れとなった。
因子分析の問題の一つは、さまざまな人工因子に説得力のある名前を見つけることでした。2000年に、Floodは因子生態学のアプローチを復活させ、主成分分析が因子回転に頼ることなく直接意味のある答えを与えることを示しました。主成分は実際には、都市で人々を近づけたり遠ざけたりする「力」の二重変数またはシャドウプライスでした。最初の成分は「アクセス性」で、古典的な都市経済学の基礎となっている、移動の需要と空間の需要の間の古典的なトレードオフです。次の2つの成分は、「不利」で、これは(計画によって媒介される)同様の地位の人々を別々の近隣地域に留め、民族性で、同様の民族的背景を持つ人々が一緒に住もうとします。[ 55 ]
ほぼ同時期に、オーストラリア統計局は、重要と思われる主要変数の集合の第一主成分を取って、有利と不利の明確な指標を定義しました。これらのSEIFA指標は、さまざまな管轄区域について定期的に公表されており、空間分析で頻繁に使用されています。[ 56 ]
PCAは指標開発のための正式な方法として使用できます。代替として、指標の開発と評価のための確認的複合分析が提案されています。[ 57 ]
都市開発指数は、1996年に世界の254都市を対象に実施された調査で得られた約200の都市成果指標に基づき、主成分分析(PCA)によって開発されました。第一主成分は反復回帰分析の対象となり、元の変数を一つずつ追加していき、変動の約90%が説明されるまで分析が続けられました。最終的に指数は約15の指標を使用しましたが、実際にはさらに多くの変数を予測する上で有効でした。その比較値は、各都市の状態に関する主観的な評価と非常によく一致しました。インフラ関連項目の係数は、基礎となるサービスの提供にかかる平均コストにほぼ比例しており、この指数が実際には都市への効果的な物理的・社会的投資の尺度であることを示唆しています。
1990年から発表され、開発研究で広く使用されている国連開発計画( UNDP)の国レベルの人間開発指数(HDI) [ 58 ]は、類似の指標に対して非常に類似した係数を示しており、元々は主成分分析(PCA)を使用して構築されたことを強く示唆している。
1978年、カヴァッリ=スフォルツァらは、ヒトの遺伝子頻度の地域差に関するデータを要約するために、主成分分析(PCA)を初めて用いた。得られた成分は、勾配や正弦波など、特徴的なパターンを示した。彼らはこれらのパターンを、特定の古代の移住イベントに起因するものと解釈した。
それ以来、PCAは集団遺伝学で広く使われるようになり、何千もの論文でPCAが表示メカニズムとして使用されています。遺伝は近接性によって大きく変化するため、最初の2つの主成分は実際に空間分布を示し、異なる集団の相対的な地理的位置をマッピングするために使用でき、それによって元の場所から迷い出た個体を示すことができます。[ 59 ]
遺伝学におけるPCAは、離散的な非正規変数や二値対立遺伝子マーカーに対してこの手法が実行されてきたため、技術的に議論の的となってきた。PCAにおける標準誤差の測定法がないことも、より一貫した使用を妨げる要因となっている。2022年8月、分子生物学者のEran Elhaikは、12のPCAアプリケーションを分析した理論論文をScientific Reportsに発表した。彼は、この手法は操作しやすく、その結果は「誤り、矛盾、不条理」であると結論付けた。具体的には、集団遺伝学で得られた結果は、都合の良いデータだけを選び出すことと循環論法によって特徴づけられると彼は主張した。[ 60 ]
市場調査では、PCAが広く利用されてきました。PCAは、製品の顧客満足度や顧客ロイヤルティスコアを開発するために使用され、クラスタリングと組み合わせることで、因子生態学が類似した特性を持つ地理的領域を特定するのとほぼ同じように、広告キャンペーンのターゲットとなる市場セグメントを開発します。[ 61 ]
PCAは大量のデータを、より迅速かつ容易に分析できる、より小さく理解しやすい変数に素早く変換します。消費者アンケートでは、消費者の態度を引き出すように設計された一連の質問があり、主成分分析はこれらの態度の根底にある潜在変数を探します。たとえば、2013年のオックスフォードインターネット調査では、2000人に態度と信念について質問し、アナリストはこれらから4つの主成分次元を抽出し、それらを「逃避」、「ソーシャルネットワーキング」、「効率性」、「問題作成」と特定しました。[ 62 ]
2008年のジョー・フラッドの別の例では、オーストラリアの2697世帯を対象とした全国調査の28の態度に関する質問から、住宅に対する態度指数を抽出した。第一主成分は、不動産と住宅所有に対する一般的な態度を表していた。この指数、あるいはこの指数に含まれる態度に関する質問は、居住形態選択の一般線形モデルに入力することができた。民間賃貸住宅の最も強力な決定要因は、収入、婚姻状況、世帯タイプではなく、態度指数であった。[ 63 ]
定量金融では、PCAは金融リスク管理 に使用され[ 64 ]、ポートフォリオ最適化などの他の問題にも適用されています。
PCAは、固定利付証券やポートフォリオ、金利デリバティブに関する問題でよく使用されます。ここでの評価は、多数の相関性の高い金融商品で構成されるイールドカーブ全体に依存し、PCAは金利変動を説明する一連のコンポーネントまたはファクターを定義するために使用され、[ 65 ] それによってモデリングが容易になります。一般的なリスク管理アプリケーションは、モンテカルロシミュレーションにPCAを適用してバリュー・アット・リスク(VaR)を計算することです。 [ 66 ] ここでは、各シミュレーションサンプルについてコンポーネントにストレスがかけられ、金利、ひいてはオプション値が再構築され、最終的に実行全体にわたってVaRが計算されます。PCAは、部分的な期間やその他の感度を考慮して、金利リスクへのエクスポージャーをヘッジするためにも使用されます。 [ 65 ] どちらの場合も、通常はシステムの最初の3つの主成分(「シフト」、「ツイスト」、「曲率」を表す)が関心対象となります。これらの主成分は、あらかじめ定義された満期における利回りの共分散行列の固有値分解から導出されます。 [ 67 ]各成分の分散はその固有値です (成分は直交しているため、後続のモデリングに相関を組み込む必要はありません)。
株式の場合、最適なポートフォリオとは、所定のリスク水準に対して期待収益率が最大化されるポートフォリオ、あるいは、所定の収益率に対してリスクが最小化されるポートフォリオのことです。詳しくは、 Markowitz モデルを参照してください。したがって、1 つのアプローチは、ポートフォリオのリスクを低減することであり、配分戦略を個々の株式ではなく「主要ポートフォリオ」に適用します。2 番目のアプローチは、ポートフォリオの収益率を高めることであり、主成分を使用して上昇の可能性のある企業の株式を選択します。[ 68 ] [ 69 ] PCA は、国際株式市場間の関係、および市場内の産業またはセクター内の企業グループ間の 関係を理解するためにも使用されています。[ 64 ]
PCAはストレステストにも適用できます[ 70 ]。ストレステストとは、銀行が想定される不利な経済シナリオに耐えられる能力を分析することです。その有用性は、「複数のマクロ経済変数に含まれる情報を、分析に使用できる、より扱いやすいデータセットに抽出すること」にあります[ 70 ] 。ここでは、結果として得られる要因は、例えば金利(要因の固有ベクトルの最大要素に基づく)と関連付けられ、各要因への「ショック」が各銀行の暗示資産にどのように影響するかが観察されます。
神経科学では、主成分分析の変種が、ニューロンが活動電位を生成する確率を高める刺激の特定の特性を特定するために使用されています。[ 71 ] [ 72 ]この手法は、スパイクトリガー共分散分析として知られています。典型的なアプリケーションでは、実験者は刺激としてホワイトノイズプロセスを提示し(通常は被験者への感覚入力として、またはニューロンに直接注入される電流として)、その結果としてニューロンによって生成された一連の活動電位、つまりスパイクを記録します。おそらく、刺激の特定の特性がニューロンのスパイク発生の可能性を高めます。これらの特性を抽出するために、実験者は、スパイクの直前に発生したすべての刺激(通常は100ミリ秒程度の有限の時間ウィンドウで定義および離散化される)のセットであるスパイクトリガーアンサンブルの共分散行列を計算します。スパイク誘発共分散行列と先行刺激群(同じ時間窓で定義されたすべての刺激の集合)の共分散行列との差の固有ベクトルは、刺激空間において、スパイク誘発群の分散が先行刺激群の分散と最も大きく異なる方向を示します。具体的には、正の固有値が最大の固有ベクトルは、スパイク誘発群の分散が先行刺激群の分散と比較して最も大きな正の変化を示した方向に対応します。これらの方向は刺激の変化によってスパイクが発生した方向であるため、多くの場合、求められる関連刺激特性の良い近似値となります。
神経科学において、PCAは活動電位の形状からニューロンを識別するためにも用いられる。スパイクソーティングは、細胞外記録法では複数のニューロンからの信号が同時に検出されることが多いため、重要な手順である。スパイクソーティングでは、まずPCAを用いて活動電位波形の空間の次元を削減し、次にクラスタリング分析を実行して特定の活動電位を個々のニューロンに関連付ける。
次元削減手法としてのPCAは、大規模な神経細胞集団の協調活動を検出するのに特に適しています。これは、脳の相転移中の集団変数、すなわち秩序パラメーターを決定するために使用されてきました。 [ 73 ]
対応分析(CA) はJean-Paul Benzécri [ 74 ]によって開発され 、概念的には PCA と似ていますが、行と列が等しく扱われるようにデータ (非負である必要がある) をスケーリングします。従来は分割表に適用されていました。CA は、この表に関連付けられたカイ二乗統計量を直交因子に分解します。 [ 75 ] CA は記述的手法であるため、カイ二乗統計量が適切であるかどうかにかかわらず、表に適用できます。デトレンド対応分析や正準対応分析など、CA のいくつかのバリアントが利用可能です。特別な拡張の 1 つは多重対応分析であり、これはカテゴリデータの主成分分析の対応物と見なすことができます。[ 76 ]

主成分分析は、元の変数の線形結合である変数を作成します。新しい変数は、すべての変数が直交するという性質を持ちます。PCA変換は、クラスタリング前の前処理ステップとして役立ちます。PCAは分散に焦点を当てたアプローチであり、変数全体の分散を再現することを目指します。このアプローチでは、成分が変数の共通分散と固有分散の両方を反映します。PCAは一般的にデータ削減(つまり、変数空間を最適な因子空間に変換すること)の目的で好まれますが、潜在的な構成概念や因子を検出することが目的の場合は好まれません。
因子分析は、変数の線形結合も含むという点で主成分分析と似ています。PCAとは異なり、因子分析は変数間の相互相関を再現しようとする相関重視のアプローチであり、因子は「固有分散を除いた変数の共通分散を表す」ものです。[ 77 ]相関行列の観点から言えば、これは非対角項(つまり、共有共分散)の説明に焦点を当てることに対応し、PCAは対角にある項の説明に焦点を当てます。しかし、副次的な結果として、対角項を再現しようとすると、PCAは非対角相関にも比較的よく適合する傾向があります。[ 13 ]: 158 PCAと因子分析によって得られる結果はほとんどの場合非常に似ていますが、常にそうであるとは限らず、結果が大きく異なる問題もいくつかあります。因子分析は一般的に、研究目的がデータ構造(つまり、潜在構成概念または因子)の検出または因果モデリングである場合に使用されます。因子モデルが誤って定式化されている場合、または前提条件が満たされていない場合、因子分析は誤った結果をもたらします。[ 78 ]
クラスタ指標によって指定されるk -means クラスタリングの緩和解は主成分によって与えられ、主方向によって張られる PCA 部分空間はクラスタ中心部分空間と同一であると主張されてきた。[ 79 ] [ 80 ]しかし、PCA がk -means クラスタリングの有用な緩和であることは新しい結果ではなく、[ 81 ]クラスタ中心部分空間が主方向によって張られるという主張に対する反例を見つけるのは容易である。[ 82 ]

非負行列因子分解(NMF)は、行列内の非負要素のみを使用する次元削減法であり、天体物理学的信号が非負であるという意味で、天文学において有望な方法である[ 23 ] [ 24 ] [ 25 ]。PCAの成分は互いに直交しているが、NMFの成分はすべて非負であるため、非直交基底を構築する。
PCAでは、各成分の寄与は対応する固有値の大きさに基づいてランク付けされ、これは経験的データの分析における分数残差分散(FRV)に相当します。[ 21 ] NMFでは、その成分は経験的FRV曲線のみに基づいてランク付けされます。[ 25 ]残差分数固有値プロット、すなわち、部品番号の関数として合計PCA の成分は平坦なプラトーを持ち、準静的ノイズを除去するためのデータが取得されないため、曲線は過学習 (ランダムノイズ) の兆候として急速に低下します。[ 21 ] NMF の FRV 曲線は、NMF 成分が順次構築されるときに連続的に減少します[25]。これは、準静的ノイズの連続的な取得を示しています。その後、PCA よりも高いレベルに収束し [25]、 NMFの過学習特性が少ないことを示しています。
データに様々な由来の変数が多数含まれている場合、あるいは一部の変数が質的変数である場合、主成分分析の解釈はしばしば困難になります。そのため、PCAの利用者はいくつかの変数を慎重に削除する必要があります。観測値や変数が軸の方向に過度な影響を与える場合は、それらを削除し、補助要素として投影する必要があります。さらに、因子平面の中心に近い点間の近接性を解釈することは避けるべきです。

一方、相関関係の図像表現は、軸系への投影ではないため、これらの欠点はありません。したがって、すべての変数を保持することができます。
この図の原理は、相関行列における「顕著な」相関関係を、実線(正の相関)または点線(負の相関)で強調することである。
強い相関関係であっても、それが直接的なものではなく、第三の変数の影響によるものであれば、「注目に値する」とは言えません。逆に、弱い相関関係でも「注目に値する」場合があります。例えば、変数Yが複数の独立変数に依存している場合、Yとそれぞれの独立変数との相関は弱いものの、「注目に値する」と言えます。
PCAの特に大きな欠点は、主成分が通常、すべての入力変数の線形結合であることです。スパースPCAは、少数の入力変数のみを含む線形結合を見つけることで、この欠点を克服します。これは、入力変数にスパース性制約を追加することで、データの次元削減のための古典的な主成分分析(PCA)手法を拡張したものです。いくつかの手法が提案されていますが、
スパースPCAの方法論的および理論的発展、ならびに科学研究におけるその応用については、最近の調査論文で概説されている。[ 89 ]

非線形次元削減の現代的な手法のほとんどは、PCA または K-means に理論的およびアルゴリズム的なルーツがあります。ピアソンの元のアイデアは、データ点の集合に「最もよく適合する」直線(または平面)を取ることでした。トレバー・ハスティはこの概念を拡張し、PCA の幾何学的解釈の自然な拡張として主曲線[ 93 ]を提案しました。これは、データ近似のための多様体を明示的に構築し、その上に点を投影します。弾性マップアルゴリズムと主測地線解析も参照してください。[ 94 ]もう 1 つの一般的な一般化はカーネル PCAで、これは正定値カーネルに関連付けられた再生カーネル ヒルベルト空間で実行される PCA に対応します。
多重線形部分空間学習では、[ 95 ] [ 96 ] [ 97 ] PCA は、テンソル表現から直接特徴を抽出する多重線形 PCA (MPCA) に一般化されます。MPCA は、テンソルの各モードで PCA を反復的に実行することによって解決されます。MPCA は、顔認識、歩行認識などに適用されています。MPCA はさらに、無相関 MPCA、非負 MPCA、およびロバスト MPCA に拡張されます。
N次元主成分分析は、タッカー分解、PARAFAC、多因子分析、共慣性分析、STATIS、DISTATISなどのモデルを用いて実行できます。
PCAは数学的に最適な方法(二乗誤差を最小化するなど)を見つけますが、大きな誤差を生み出すデータ内の外れ値には依然として敏感であり、そもそもこの方法はそれを避けようとします。そのため、PCAを計算する前に外れ値を除去するのが一般的です。しかし、状況によっては外れ値を特定するのが難しい場合があります。[ 98 ] たとえば、相関クラスタリングのようなデータマイニングアルゴリズムでは、点をクラスタと外れ値に割り当てることは事前にわかりません。最近提案された重み付きPCAに基づくPCAの一般化[ 99 ]は、推定された関連性に基づいてデータオブジェクトに異なる重みを割り当てることで堅牢性を向上させます。
外れ値耐性のある PCA の変種も、L1 ノルム定式化 ( L1-PCA ) に基づいて提案されている。[ 7 ] [ 5 ]
Robust principal component analysis (RPCA) via decomposition in low-rank and sparse matrices is a modification of PCA that works well with respect to grossly corrupted observations.[100][101][102]
Independent component analysis (ICA) is directed to similar problems as principal component analysis, but finds additively separable components rather than successive approximations.
Given a matrix , it tries to decompose it into two matrices such that . A key difference from techniques such as PCA and ICA is that some of the entries of are constrained to be 0. Here is termed the regulatory layer. While in general such a decomposition can have multiple solutions, they prove that if the following conditions are satisfied :
then the decomposition is unique up to multiplication by a scalar.[103]
Discriminant analysis of principal components (DAPC) is a multivariate method used to identify and describe clusters of genetically related individuals. Genetic variation is partitioned into two components: variation between groups and within groups, and it maximizes the former. Linear discriminants are linear combinations of alleles which best separate the clusters. Alleles that most contribute to this discrimination are therefore those that are the most markedly different across groups. The contributions of alleles to the groupings identified by DAPC can allow identifying regions of the genome driving the genetic divergence among groups[104] In DAPC, data are first transformed using a principal components analysis (PCA) and subsequently clusters are identified using discriminant analysis (DA).
A DAPC can be realized on R using the package Adegenet. (more info: adegenet on the web)
方向成分分析(DCA) は、大気科学において多変量データセットを分析するために用いられる手法です。[ 105 ] PCA と同様に、次元削減、視覚化の改善、大規模データセットの解釈性の向上を可能にします。また、PCA と同様に、入力データセットから導出された共分散行列に基づいています。PCA と DCA の違いは、DCA ではさらに影響と呼ばれるベクトル方向の入力が必要となる点です。PCA は説明される分散を最大化するのに対し、DCA は影響を考慮した確率密度を最大化します。DCA の目的は、確率密度を用いて測定して可能性が高く、かつ影響を用いて測定して重要である多変量データセットの成分を見つけることです。DCA は、気象予測アンサンブルにおける最も可能性が高く深刻な熱波パターン[ 106 ]や、気候変動による降雨量の最も可能性が高く影響の大きい変化[ 107 ]を見つけるために用いられてきました。
pcaコマンドまたはprincomp()関数を介して実行できます。pcaMultivariateStatsパッケージの関数を使用してPCAをサポートします。princompとpca(R2012b)が主成分を出力し、関数はpcares低ランクPCA近似の残差と再構成行列を出力します。g03aaルーチン(ライブラリのFortranバージョン両方で利用可能)を介して実装されます。princomp主成分を返します。DBMS_DATA_MINING.SVDS_SCORING_MODE設定値を指定することで実装されますSVDS_SCORING_PCA。princompとを使用してprcomp主成分分析を行うことができます。は特異値分解prcompを使用しており、一般的に数値精度が向上します。R で PCA を実装するパッケージには、、、、、、などがありますが、これらに限定されません。ade4veganExPositiondimRedFactoMineRprincomp主成分分析を計算し、この関数はpca標準化変数を使用して主成分分析を計算します。{{cite journal}}: CS1 maint: 複数の名前: 著者リスト (リンク){{cite conference}}: CS1 maint: 複数の名前: 著者リスト (リンク)