PCA는 Spectral analysis의 대표격인 방법론으로, 데이터 차원 축소, 시각화, 이상치 탐지 등 여러 가지 목적으로 활용가능하다. 여기서는 Perturbation Theory를 바탕으로 PCA와 Factor model을 다루어보도록 하겠다.
Problem Formulation
고차원 데이터 간의 종속성(dependence)를 측정하는 것은 데이터사이언스에서 중요한 문제이다. 일반적으로 저차원 문제의 경우 공분산 행렬을 추정하는 방식을 이용해 데이터간 관계를 파악할 수 있지만, 고차원 문제에서는 계산 비용 문제, 혹은 n<<p 인 문제로 인해 그러한 추정이 어렵다. 따라서, 잠재 변수(latent factor)를 활용한 방식이 필요하다.
n개의 독립 샘플 xi∈Rp 가 주어진 상황에서, 각 샘플 벡터를 다음과 같이 표현하기로 가정하자.
xi=L⋆fi+ηi1≤i≤n
여기서 fi∈Rr 은 잠재변수이고 L⋆∈Rp×r 은 loading matrix라고 부르며, 마지막으로 ηi∈Rp 는 랜덤 노이즈에 해당하는 벡터이다. 즉, 각 샘플 {xi} 를 저차원(r) 부분공간에 embedded 된 것으로 간주하고 이 과정에서 loading matrix L⋆ 는 서로 다른 변수 간의 종속성을 나타내는 것으로 간주한다. PCA에서는 일반적으로 L⋆principal subspace라고 부른다. 다만, loading matrix는 apriori-unknown, 즉 데이터가 주어져야 비로소 추정할 수 있으므로(사전분포가 주어지지 않음) 추정을 위해 잠재변수와 노이즈 벡터에 대한 가정이 이루어져야 한다.
Algorithm
Assumption
잠재변수 벡터 fi 와 노이즈벡터 ηi 는 다음과 같은 분포를 가정한다.
fi∼i.i.dN(0,Ir)andηi∼i.i.dN(0,σ2Ip)
또한, loading matrix에 대해 다음과 같은 eigendecomposition 형태를 가정하고
L⋆L⋆T=U⋆Λ⋆U⋆T
이로부터 일반성을 잃지 않고 L⋆=U⋆(Λ⋆)21 를 가정한다. 또한 고유값행렬이 다음과 같이 주어진다고 하자.
Λ⋆=diag([λ1⋆,⋯,λr⋆])
Algorithm
위 가정으로부터 다음과 같이 샘플들의 분포를 얻을 수 있다.
xi∼N(0,M⋆)M⋆=U⋆Λ⋆U⋆T+σ2Ip
이때 공분산행렬 M⋆의 구조로부터 M⋆의 top-r eigenspace, 즉 가장 큰 고유값 r개로부터 생성한 고유공간이 L⋆로 생성한 고유공간과 일치함을 확인할 수 있다. 그렇기 때문에, sample covariance matrix
M:=n1i=1∑nxixiT
의 rank-r eigendecomposition M=UΛUT 를 계산하는 것 만으로, U가 U⋆ 의 추정치로 기능할 수 있으므로 M⋆의 추정치 역시 얻을 수 있게 된다. 이것이 PCA의 일반적인 원리이다.
Performance
PCA의 성능을 측정하기 위해, Perturbation Theory의 형태를 다음과 같이 유도해보자. 우선 행렬 F:=[f1,…,fn]∈Rr×n 및 Z:=[η1,…,ηn]∈Rp×n 을 정의하면 다음과 같이 샘플 공분산행렬을 분해할 수 있다.