主成分分析は、多変量データの分散共分散構造を保ちながら次元を削減する手法である。互いに無相関な線形結合(主成分)を分散の大きい順に抽出し、データの変動を少数の成分で要約することを目的とする。
$p$ 次元確率ベクトル $\boldsymbol{X} \in \mathbb{R}^p$ の分散共分散行列を
\[\Sigma = \text{Var}(\boldsymbol{X})\]
とおく。$\Sigma$ は正定値対称行列であり、スペクトル分解
\[\Sigma = \Gamma \Lambda \Gamma^\top\]
が成立する。ここで $\Lambda = \text{diag}(\lambda_1, \dots, \lambda_p)$($\lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_p > 0$)は固有値行列、$\Gamma = (\boldsymbol{\gamma}_1, \dots, \boldsymbol{\gamma}_p)$ は対応する固有ベクトルを列に並べた直交行列である。
単位ベクトル $\boldsymbol{a} \in \mathbb{R}^p$($\|\boldsymbol{a}\| = 1$)に対する線形結合 $Z = \boldsymbol{a}^\top \boldsymbol{X}$ の分散は
\[\text{Var}(\boldsymbol{a}^\top \boldsymbol{X}) = \boldsymbol{a}^\top \Sigma \boldsymbol{a}\]
である。第一主成分はこれを最大化する方向として定義される:
\[\max_{\|\boldsymbol{a}\|=1} \boldsymbol{a}^\top \Sigma \boldsymbol{a}\]
ラグランジュ乗数法により、最適解は $\Sigma$ の最大固有値 $\lambda_1$ に対応する固有ベクトル $\boldsymbol{\gamma}_1$ であり、最大分散は $\lambda_1$ となる。
第 $k$ 主成分は、前の $k-1$ 個の主成分と無相関という制約のもとで分散を最大化する方向として定義される:
\[\max_{\|\boldsymbol{a}\|=1,\, \boldsymbol{a} \perp \boldsymbol{\gamma}_1, \dots, \boldsymbol{\gamma}_{k-1}} \boldsymbol{a}^\top \Sigma \boldsymbol{a}\]
最適解は $\Sigma$ の第 $k$ 固有値 $\lambda_k$ に対応する固有ベクトル $\boldsymbol{\gamma}_k$ であり、第 $k$ 主成分スコアは
\[Z_k = \boldsymbol{\gamma}_k^\top \boldsymbol{X}\]
で与えられる。
主成分スコアベクトル $\boldsymbol{Z} = \Gamma^\top \boldsymbol{X}$ の分散共分散行列は
\[\text{Var}(\boldsymbol{Z}) = \Gamma^\top \Sigma \Gamma = \Lambda\]
となる。すなわち主成分は互いに無相関であり、各主成分の分散は対応する固有値に等しい。
$\Sigma$ のトレースは固有値の和に等しいから、
\[\sum_{k=1}^p \text{Var}(Z_k) = \sum_{k=1}^p \lambda_k = \text{tr}(\Sigma) = \sum_{j=1}^p \text{Var}(X_j)\]
が成立する。主成分変換は全分散を保存し、分散の配分を組み替えるのみである。
第 $k$ 主成分の寄与率は全分散に占める割合
\[r_k = \frac{\lambda_k}{\sum_{j=1}^p \lambda_j}\]
であり、第 $q$ 主成分までの累積寄与率は
\[R_q = \frac{\sum_{k=1}^q \lambda_k}{\sum_{j=1}^p \lambda_j}\]
で定義される。累積寄与率が $80\%$ ないし $90\%$ に達する成分数を採用する規則が実用上よく用いられる。
$n$ 個の観測 $\boldsymbol{x}_1, \dots, \boldsymbol{x}_n \in \mathbb{R}^p$ に対して、標本平均と標本共分散行列を
\[\bar{\boldsymbol{x}} = \frac{1}{n}\sum_{i=1}^n \boldsymbol{x}_i, \quad \hat{\Sigma} = \frac{1}{n-1}\sum_{i=1}^n (\boldsymbol{x}_i - \bar{\boldsymbol{x}})(\boldsymbol{x}_i - \bar{\boldsymbol{x}})^\top\]
と定義する。$\hat{\Sigma}$ のスペクトル分解
\[\hat{\Sigma} = \hat{\Gamma}\hat{\Lambda}\hat{\Gamma}^\top\]
から標本固有値 $\hat{\lambda}_1 \geq \cdots \geq \hat{\lambda}_p$ および標本固有ベクトル $\hat{\boldsymbol{\gamma}}_1, \dots, \hat{\boldsymbol{\gamma}}_p$ を得る。
第 $i$ 観測の第 $k$ 主成分スコアは
\[\hat{z}_{ik} = \hat{\boldsymbol{\gamma}}_k^\top (\boldsymbol{x}_i - \bar{\boldsymbol{x}})\]
で与えられる。中心化により $\sum_i \hat{z}_{ik} = 0$ が保証される。
各変数の測定単位や分散が大きく異なる場合、標本共分散行列に基づく主成分は分散の大きい変数に支配される。このとき各変数を標準化した相関行列
\[R_{jk} = \frac{\hat{\Sigma}_{jk}}{\sqrt{\hat{\Sigma}_{jj}\hat{\Sigma}_{kk}}}\]
に基づいて主成分分析を行う。相関行列の固有値の和は $p$ であるから、寄与率の分母は $p$ となる。共分散行列と相関行列に基づく主成分は一般に一致しないため、目的に応じて選択する必要がある。
中心化されたデータ行列 $\tilde{X} \in \mathbb{R}^{n \times p}$(第 $i$ 行が $(\boldsymbol{x}_i - \bar{\boldsymbol{x}})^\top$)の特異値分解を
\[\tilde{X} = U D V^\top\]
とすると、$V$ の列が標本固有ベクトル $\hat{\boldsymbol{\gamma}}_k$ に対応し、標本固有値は $\hat{\lambda}_k = d_k^2/(n-1)$($d_k$ は特異値)で与えられる。特異値分解は数値的に安定であり、$p$ が大きい場合の実装に広く用いられる。
$\boldsymbol{X} \sim \mathcal{N}_p(\boldsymbol{\mu}, \Sigma)$ のもとで、固有値が相異なるとき標本固有値 $\hat{\lambda}_k$ は漸近正規性を持ち、
\[\sqrt{n}(\hat{\lambda}_k - \lambda_k) \xrightarrow{d} \mathcal{N}(0,\, 2\lambda_k^2)\]
が成立する(アンダーソンの定理)。また標本固有ベクトルの漸近分散は固有値間の差に依存し、固有値が近い場合は推定が不安定となる。
主成分分析は分散共分散行列のスペクトル分解に基づき、互いに無相関で分散の大きい順に並んだ線形結合(主成分)を抽出する。全分散は保存され、累積寄与率により次元削減の程度を定量的に評価できる。標本においては共分散行列の固有分解または特異値分解により計算され、多変量正規分布のもとでの漸近理論が推測の基礎を与える。
Mathematics is the language with which God has written the universe.