1 基礎概念

1.1 定義と目的

主成分分析は、複数の変数間の相関構造を利用して、分散を最大化する新たな座標軸(主成分)を抽出する手法である。主成分は元の変数の線形結合として表され、互いに無相関となる。目的はデータの次元削減、特徴抽出、可視化、ノイズ低減など多岐にわたる。

1.2 分散最大化の原理

PCAは、データの射影後の分散が最大となる方向を第1主成分として選ぶ。続く主成分は、それ以前の主成分と直交し、かつ残差の分散を最大化する方向に決定される。この原理により、低次元空間で元の情報を可能な限り保持できる。

1.3 直交変換と次元削減

元のデータ行列に対して、主成分ベクトルを列とする直交行列を乗じることで、元の変数間の相関を除去した新たな座標系を得る。次元削減は、寄与率の低い主成分を切り捨てることで実現され、情報損失を最小限に抑えながらデータの複雑さを低減する。

2 数学的定式化

2.1 共分散行列の計算

n個の観測値とp個の変数からなるデータ行列X(各列は平均0に中心化済み)に対して、p×pの共分散行列C = (1/(n-1)) X^T Xを計算する。Cの(i, j)成分は変数iと変数jの共分散を表す。

2.2 固有値と固有ベクトル

共分散行列Cの固有値分解により、固有値λ₁ ≥ λ₂ ≥ … ≥ λₚと対応する固有ベクトルv₁, v₂, …, vₚを得る。固有ベクトルが主成分の方向を示し、固有値がその方向の分散量を表す。固有ベクトルは単位長に正規化され、互いに直交する。

2.3 寄与率と累積寄与率

第k主成分の寄与率はλ_k / Σλ_iで定義され、その主成分が説明する分散の割合を示す。累積寄与率は第1〜第k主成分までの寄与率の和であり、選択した主成分が元のデータの情報をどれだけ保持しているかの指標となる。

2.3.1 スクリープロットの解釈

スクリープロットは、固有値を大きい順にプロットしたグラフである。急激に減少した後のなだらかな部分(「肘」の位置)を目安に、保持すべき主成分数を決定する。経験的には、累積寄与率が70〜90%に達する点が選ばれることが多い。

2.4 主成分得点の算出

元のデータ行列Xに主成分係数行列(固有ベクトルを列とする行列V)を乗じることで、主成分得点行列Z = X Vを得る。Zの各列が各観測値の主成分上の座標を表し、これにより低次元空間でのデータ表現が得られる。

3 実践的応用

3.1 データの前処理

PCAは変数のスケール感度が高いため、事前に各変数を平均0、標準偏差1に標準化することが必須である。これにより、単位や大きさの異なる変数が同等に扱われる。

3.1.1 標準化と正規化

標準化は各変数から平均を引き、標準偏差で割る処理である。一方、正規化は最小値0、最大値1の範囲にスケーリングする手法であるが、PCAでは標準化が一般的に用いられる。正規化は外れ値の影響を受けにくいが、分散の均一化は標準化の方が効果的である。

3.2 次元削減とノイズ除去

PCAは高次元データを少数の主成分で近似することで、記憶容量の削減や計算効率の向上に寄与する。また、寄与率の低い主成分を除去することで、ノイズや冗長な情報を除去し、信号対雑音比を改善できる。

3.3 可視化とデータ探索

第1主成分と第2主成分を軸とする散布図は、多次元データの大まかなクラスタ構造や外れ値を視覚的に把握するための強力なツールである。変数間の関係やサンプルの類似性を直感的に解釈できる。

3.3.1 バイプロットの活用

バイプロットは、主成分得点と変数の負荷量(主成分への寄与度)を同一平面上にプロットした図である。サンプルの分布とともに、どの変数が主成分に強く影響しているかを同時に表示でき、データ構造の解釈が容易になる。

4 発展的トピック

4.1 カーネルPCA

カーネル法を用いて非線形写像後の特徴空間でPCAを実行する手法。元のデータを高次元特徴空間に写像し、その空間での主成分を計算することで、線形分離不可能なデータ構造を捉えられる。カーネル関数の選択が性能を左右する。

4.2 スパースPCA

主成分の係数にスパース性(ゼロ要素が多い)を課した手法。解釈性を高めるため、L1正則化などの罰則項を導入して、少数の変数のみからなる主成分を抽出する。変数選択と次元削減を同時に行う。

4.3 確率的主成分分析

観測データが潜在変数とノイズから生成される確率モデルとしてPCAを定式化したもの。期待値最大化アルゴリズムなどで最尤推定を行い、欠損値の補完やモデル選択に自然な枠組みを提供する。

4.4 ロバストPCA

外れ値や破損データの影響を受けにくいPCA。観測行列を低ランク成分とスパースな外れ値成分に分解する手法(主成分追跡法)が代表的である。画像処理や異常検知で応用される。