logo

수리통계학에서의 주성분 분석 PCA 📂수리통계학

수리통계학에서의 주성분 분석 PCA

개요

주성분 분석회귀분석에서 다중공선성을 회피하고 데이터를 요약하는 등 통계학에서 많은 쓰임새가 있고, 머신러닝에서도 차원축소라는 중요한 의미를 가진다. 이 포스트에서는 실전적인 사용법보다는 주성분을 구하는 이론적 토대에 대해 설명한다.

정의 1

주성분분석

랜덤벡터 $\mathbf{X} = \left( X_{1} , \cdots , X_{p} \right)$ 이 주어져 있다고 하자. $k = 1 , \cdots, p$ 에 대해 길이가 $1$ 인 단위 벡터를 $\mathbf{a}_{k} = \left( a_{k1} , \cdots , a_{kp} \right) \in \mathbb{R}^{p}$ 와 같이 표기할 때, 확률변수 $X_{1} , \cdots , X_{p}$ 들의 선형결합 $$ \mathbf{a}_{k}^{T} \mathbf{X} = a_{k1} X_{1} + \cdots + a_{kp} X_{p} = \sum_{l = 1}^{p} a_{kl} X_{l} $$ 을 생각해보자. 이에 대해 첫번째 $\mathbf{a}_{1}^{T} \mathbf{X}$ 의 분산 $$ \text{Var} \left( \mathbf{a}_{1}^{T} \mathbf{X} \right) $$ 을 최대화하고, $\text{Cov} \left( \mathbf{a}_{1}^{T} \mathbf{X} , \mathbf{a}_{2}^{T} \mathbf{X} \right) = 0$ 을 만족하면서도 두번째 $\mathbf{a}_{2}^{T} \mathbf{X}$ 의 분산 $$ \text{Var} \left( \mathbf{a}_{2}^{T} \mathbf{X} \right) $$ 을 최대화하고, 모든 $l < k$ 에 대해 $\text{Cov} \left( \mathbf{a}_{l}^{T} \mathbf{X} , \mathbf{a}_{k}^{T} \mathbf{X} \right) = 0$ 을 만족하면서도 $k$번째 $\mathbf{a}_{i}^{T} \mathbf{X}$ 의 분산 $$ \text{Var} \left( \mathbf{a}_{k}^{T} \mathbf{X} \right) $$ 을 최대화하는 벡터 $\mathbf{a}_{1} , \cdots , \mathbf{a}_{p}$ 들을 찾고 $a_{1}^{T} \mathbf{X} , \cdots , a_{p}^{T} \mathbf{X}$ 들을 통해 데이터를 분석하는 것을 주성분 분석principal Component Analysis, PCA이라 한다.

주성분

$\mathbf{X}$ 의 공분산행렬 $\Sigma \in \mathbb{R}^{p \times p}$ 에 대한 고유쌍 $\left\{ \left( \lambda_{k} , e_{k} \right) \right\}_{k=1}^{p}$ 이 $\lambda_{1} \ge \cdots \ge \lambda_{p} \ge 0$ 순으로 정렬되어 있고 $e_{k}$ 들은 $\left\| e_{k} \right\| = 1$, 즉 정규화되어 있다고 하자. 다음과 같이 랜덤벡터 $\mathbf{X}$ 와 $k$번째 고유벡터 $e_{k}$ 의 내적으로써 정의되는 확률변수 $Y_{k}$ 를 $k$번째 주성분$k$th Principal Component이라 한다. $$ Y_{k} := e_{k}^{T} \mathbf{X} $$ $Y_{k}$ 의 실현 $y_{k}$ 를 $k$번째 PC 스코어$k$th PC Score라 부른다.


정리

주성분 분석에서 주성분들을 최대화하는 단위벡터들은 실제로 $\mathbf{a}_{k} = e_{k}$ 와 같이 구해진다. $k = 1 , \cdots , p$ 와 $i \ne j$ 에 대해, $k$번째 주성분의 분산공분산은 다음과 같다. $$ \begin{align*} \text{Var} \left( Y_{k} \right) =& \lambda_{k} \\ \text{Cov} \left( Y_{i}, Y_{j} \right) =& 0 \end{align*} $$

증명

공분산 행렬 $\Sigma$ 는 다음과 같이 풀어적을 수 있다. $$ \begin{align*} & \Sigma \\ =& \text{Cov} \left( \mathbf{X} \right) \\ =& \begin{pmatrix} \text{Var} \left( X_{1} \right) & \text{Cov} \left( X_{1} , X_{2} \right) & \cdots & \text{Cov} \left( X_{1} , X_{p} \right) \\ \text{Cov} \left( X_{2} , X_{1} \right) & \text{Var} \left( X_{2} \right) & \cdots & \text{Cov} \left( X_{2} , X_{p} \right) \\ \vdots & \vdots & \ddots & \vdots \\ \text{Cov} \left( X_{p} , X_{1} \right) & \text{Cov} \left( X_{p} , X_{2} \right) & \cdots & \text{Var} \left( X_{p} \right) \end{pmatrix} \end{align*} $$

공분산 행렬의 성질: 상수의 행렬 $A \in \mathbb{R}^{k \times p}$ 이 $(A)_{ij} := a_{ij}$ 와 같이 주어져 있다고 하면 $$ \text{Cov} ( A \mathbf{X}) = A \text{Cov} \left( \mathbf{X} \right) A^{T} $$

여기서 $\Sigma$ 의 고유벡터로 만들어진 직교행렬 $P := \begin{bmatrix} e_{1} & \cdots & e_{p} \end{bmatrix} \in \mathbb{R}^{p \times p}$ 을 정의해보면, 공분산 행렬의 성질에 따라 랜덤벡터 $\mathbf{Y} := P^{T} \mathbf{X}$ 의 공분산은 다음과 같이 나타낼 수 있다. $$ \begin{align*} & \text{Cov} \left( \mathbf{Y} \right) \\ =& \text{Cov} \left( P^{T} \mathbf{X} \right) \\ =& P^{T} \text{Cov} \left( \mathbf{X} \right) P \end{align*} $$

행렬 표현에 따라 이 $\text{Cov} \left( \mathbf{Y} \right)$ 의 첫번째 대각성분을 풀어 적어보면 다음과 같이 첫번째 고유값과 같음을 알 수 있다. $$ \begin{align*} \text{Var} \left( Y_{1} \right) =& e_{1}^{T} \text{Var} \mathbf{X} e_{1} \\ =& e_{1}^{T} \Sigma e_{1} \\ =& \lambda_{1} \end{align*} $$

양정부호 행렬의 이차형식과 고유값: 양의 정부호 행렬 $A \in \mathbb{R}^{p \times p}$ 의 고유쌍 $\left\{ \left( \lambda_{k} , e_{k} \right) \right\}_{k=1}^{n}$ 이 $\lambda_{1} \ge \cdots \ge \lambda_{n} \ge 0$ 순으로 정렬되어 있다고 하자. 단위 구unit Sphere 상에서 이차 형식 $\mathbf{x}^{T} A \mathbf{x}$ 의 최대값과 최소값은 다음과 같다. $$ \begin{align*} \max_{\left\| \mathbf{x} \right\| = 1} \mathbf{x}^{T} A \mathbf{x} =& \lambda_{1} & \text{, attained when } \mathbf{x} = e_{1} \\ \min_{\left\| \mathbf{x} \right\| = 1} \mathbf{x}^{T} A \mathbf{x} =& \lambda_{p} & \text{, attained when } \mathbf{x} = e_{p} \end{align*} $$ 한편 $k = 2, \cdots , p-1$ 에 대해 다음이 성립한다. $$ \max_{\substack{\left\| \mathbf{x} \right\| = 1 \\ \mathbf{x} \perp e_{1} , \cdots , e_{k-1} }} \mathbf{x}^{T} A \mathbf{x} = \lambda_{k} \quad \text{, attained when } \mathbf{x} = e_{k} $$

마침 이 $\lambda_{1}$ 는 $\left\| \mathbf{x} \right\| = 1$ 이라는 제약 하에서 이차형식 $\mathbf{x}^{T} \Sigma \mathbf{x}$ 의 최대값이다. 정리해서 적어보자면 $$ \text{Var} \left( Y_{1} \right) = \lambda_{1} = \max_{\left\| \mathbf{x} \right\| = 1} \mathbf{x}^{T} \Sigma \mathbf{x} $$ 이고, 같은 정리에 의해 $k$번째 분산 $\text{Var} \left( Y_{k} \right)$ 은 $\left\| \mathbf{x} \right\| = 1$ 와 $e_{1} , \cdots , e_{k-1}$ 가 직교한다는 제약 하에서 $\mathbf{x}^{T} \Sigma \mathbf{x}$ 의 최대값인 $k$번째 고유값 $\lambda_{k}$ 와 같아진다. 다시 말해 $$ \text{Var} \left( Y_{k} \right) = \lambda_{k} $$ 고, 이 때의 제약조건 $\mathbf{x} \perp e_{1} , \cdots , e_{k-1}$ 에 따라 $l \ne k$ 인 $Y_{l}, Y_{k}$ 의 공분산은 다음과 같이 $0$ 이 된다. $$ \begin{align*} \text{Cov} \left( Y_{l} , Y_{k} \right) =& e_{l}^{T} \Sigma e_{k} \\ =& e_{l}^{T} \lambda_{k} e_{k} \\ =& \lambda_{k} e_{l}^{T} e_{k} \\ =& \lambda_{k} \cdot 0 \\ =& 0 \end{align*} $$

같이보기


  1. Johnson. (2013). Applied Multivariate Statistical Analysis(6th Edition): p430~432. ↩︎