2026年 3月 13日 金曜日

Top 5 This Week

Related Posts

9.1 主成分分析(PCA)


主成分分析(PCA: Principal Component Analysis)は、多変量データの持つ情報を可能な限り損失することなく、より少数の変数(主成分)に縮約する次元削減の手法です。高次元データに内在する相関構造を明らかにし、データの可視化や、後続の解析(回帰分析やクラスタリングなど)における計算コストの削減、および多重共線性の回避を目的として用いられます。

データの「情報量」を「分散」として定義し、元の変数の線形結合によって、分散が最大となるような新しい直交座標軸を構成することがPCAの数理的な目的です。

1. 数理的定式化:分散の最大化問題

PCAは、データ行列から最大の分散を抽出する最適化問題として定式化されます。元の $p$ 個の変数群を $x = (x_1, x_2, \dots, x_p)^T$ とし、これらが平均0に中心化されていると仮定します。

第1主成分 $z_1$ は、元の変数の線形結合として以下のように表されます。

$$
z_1 = w_{11}x_1 + w_{12}x_2 + \dots + w_{1p}x_p = w_1^T x
$$

ここで、$w_1 = (w_{11}, w_{12}, \dots, w_{1p})^T$ は重みベクトル(主成分係数)です。分散 $V(z_1)$ を無制限に大きくできないよう、重みベクトルにはノルムが1であるという制約($w_1^T w_1 = 1$)を課します。データの分散共分散行列を $\Sigma$ とすると、第1主成分の分散は以下のように記述されます。

$$
V(z_1) = w_1^T \Sigma w_1
$$

制約条件 $w_1^T w_1 = 1$ の下で $w_1^T \Sigma w_1$ を最大化する問題は、ラグランジュの未定乗数法を用いることで、以下の固有値問題に帰着します。

$$
\Sigma w_1 = \lambda_1 w_1
$$

この方程式は、分散共分散行列 $\Sigma$ の固有値 $\lambda_1$ と固有ベクトル $w_1$ を求めることと同義です。最大化された分散 $V(z_1)$ の値は、最大固有値 $\lambda_1$ に等しくなります。

2. 固有値分解と主成分の直交性

第2主成分 $z_2 = w_2^T x$ は、第1主成分と無相関(直交する)という制約条件($w_1^T w_2 = 0$)の下で、次に分散が最大となるように決定されます。これも同様に固有値問題として解かれ、2番目に大きい固有値 $\lambda_2$ に対応する固有ベクトルが $w_2$ となります。

一般に、分散共分散行列 $\Sigma$ は $p \times p$ の実対称行列であるため、常に $p$ 個の非負の実数固有値 $\lambda_1 \ge \lambda_2 \ge \dots \ge \lambda_p \ge 0$ を持ち、対応する固有ベクトルは互いに直交します。

  • 固有値($\lambda_k$): 第 $k$ 主成分が保持しているデータの分散(情報量)の大きさを表します。
  • 固有ベクトル($w_k$): 元の空間における第 $k$ 主成分の方向を示します。

これにより、元の変数間に強い相関があったとしても、抽出された主成分同士は互いに無相関となり、情報の重複が排除されます。

3. 寄与率と累積寄与率による次元数の決定

PCAを実施した際、元の次元数 $p$ からどの程度の次元数 $m$($m < p$)まで削減するかを決定するための定量的な指標が寄与率と累積寄与率です。

寄与率(Proportion of Variance)

全主成分の分散の総和(元の全変数の分散の総和に等しい)に対する、特定の第 $k$ 主成分の分散の割合です。

$$
\text{寄与率} = \frac{\lambda_k}{\sum_{i=1}^{p} \lambda_i}
$$

累積寄与率(Cumulative Proportion of Variance)

第1主成分から第 $m$ 主成分までの寄与率の総和です。抽出した $m$ 個の主成分によって、元のデータの全情報量のうち何割が説明できているかを示します。

$$
\text{累積寄与率} = \frac{\sum_{k=1}^{m} \lambda_k}{\sum_{i=1}^{p} \lambda_i}
$$

次元数 $m$ の決定には絶対的な基準はありませんが、一般的には累積寄与率が70%〜80%を超える点を基準とする方法や、固有値の大きさを順にプロットした「スクリープロット(Scree Plot)」において、傾きが平坦になる直前の成分数を採用する方法、あるいは相関行列に基づくPCAの場合には固有値が1以上であることを基準とするカイザー基準(Kaiser Criterion)などが用いられます。

4. 主成分負荷量と主成分得点の解釈

次元削減後のデータを評価・解釈するためには、主に以下の2つの指標を用います。

主成分得点(Principal Component Scores)

元の各データ(観測値)を新しい主成分軸上に投影した座標値です。各サンプルの第 $k$ 主成分得点は、$z_k = w_k^T x$ によって計算されます。これにより、高次元データを2次元や3次元の散布図上にプロットし、データ構造を視覚的に把握することが可能となります。

主成分負荷量(Principal Component Loadings)

元の変数 $x_j$ と第 $k$ 主成分 $z_k$ との間のピアソンの積率相関係数です。主成分が元のどの変数の影響を強く受けているかを示す指標であり、各主成分の「意味」を解釈するために使用されます。

例えば、第1主成分に対して体重や身長などのすべての体格変数が強い正の負荷量を持つ場合、その主成分は「総合的な大きさ(サイズ因子)」と解釈できます。一方、第2主成分に対して体重が正、身長が負の負荷量を持つ場合、それは「体型の比率(シェイプ因子)」として解釈されます。

5. 適用上の前提条件と限界

PCAを適切に適用するためには、その数理的特性に起因するいくつかの制約を理解しておく必要があります。

スケール依存性と標準化の必要性

PCAは分散を最大化する手法であるため、変数の測定単位(スケール)に極めて敏感です。分散が巨大な変数(例えば、ミリメートル単位で測定された長さなど)が存在すると、その変数が第1主成分の方向を支配してしまいます。これを防ぐため、事前に各変数を平均0、分散1に標準化し、分散共分散行列ではなく相関行列に基づく固有値分解を行うのが標準的な手続きです。

線形性の制約

PCAは変数の「線形結合」に基づく次元削減手法であり、データに存在する相関構造が線形であることを前提としています。変数間に複雑な非線形関係(多様体構造など)が存在する場合、PCAではその構造を適切に展開できず、情報が潰れてしまうことがあります。このようなケースにおいては、後述する非線形次元削減手法(t-SNEやUMAPなど)の適用を検討する必要があります。

外れ値への敏感さ

分散および共分散は外れ値の影響を強く受ける統計量です。極端な外れ値が存在すると、主成分軸がその外れ値の方向に強く引っぱられ、データ全体の本来の構造を歪める結果となります。事前のデータクリーニング、あるいはロバスト主成分分析などの代替手法の検討が求められます。

まとめ

主成分分析(PCA)は、多変量解析における最も基礎的かつ強力な次元削減手法です。

  • 分散共分散行列(または相関行列)の固有値分解により、データの分散を最大化する直交軸を抽出する。
  • 固有値に基づく寄与率・累積寄与率により、情報損失を定量的に評価しながら次元数を決定する。
  • 主成分負荷量と主成分得点を用いて、削減された低次元空間の意味を解釈し、データの可視化や特徴抽出に活用する。

変数のスケールや線形性の前提といった特性を正確に理解した上で適用することにより、複雑なデータ構造の全体像を客観的に要約することが可能になります。

Popular Articles