랜덤벡터X=(X1,⋯,Xp) 이 주어져 있다고 하자. k=1,⋯,p 에 대해 길이가 1 인 단위 벡터를 ak=(ak1,⋯,akp)∈Rp 와 같이 표기할 때, 확률변수X1,⋯,Xp 들의 선형결합akTX=ak1X1+⋯+akpXp=l=1∑paklXl
을 생각해보자. 이에 대해 첫번째 a1TX 의 분산
Var(a1TX)
을 최대화하고, Cov(a1TX,a2TX)=0 을 만족하면서도 두번째 a2TX 의 분산
Var(a2TX)
을 최대화하고, 모든 l<k 에 대해 Cov(alTX,akTX)=0 을 만족하면서도 k번째 aiTX 의 분산
Var(akTX)
을 최대화하는 벡터 a1,⋯,ap 들을 찾고 a1TX,⋯,apTX 들을 통해 데이터를 분석하는 것을 주성분 분석principal Component Analysis, PCA이라 한다.
주성분
X 의 공분산행렬Σ∈Rp×p 에 대한 고유쌍{(λk,ek)}k=1p 이 λ1≥⋯≥λp≥0 순으로 정렬되어 있고 ek 들은 ∥ek∥=1, 즉 정규화되어 있다고 하자. 다음과 같이 랜덤벡터 X 와 k번째 고유벡터 ek 의 내적으로써 정의되는 확률변수Yk 를 k번째 주성분kth Principal Component이라 한다.
Yk:=ekTXYk 의 실현yk 를 k번째 PC 스코어kth PC Score라 부른다.
주성분 분석에서 주성분들을 최대화하는 단위벡터들은 실제로 ak=ek 와 같이 구해진다. k=1,⋯,p 와 i=j 에 대해, k번째 주성분의 분산과 공분산은 다음과 같다.
Var(Yk)=Cov(Yi,Yj)=λk0
증명
공분산 행렬 Σ 는 다음과 같이 풀어적을 수 있다.
==ΣCov(X)Var(X1)Cov(X2,X1)⋮Cov(Xp,X1)Cov(X1,X2)Var(X2)⋮Cov(Xp,X2)⋯⋯⋱⋯Cov(X1,Xp)Cov(X2,Xp)⋮Var(Xp)
공분산 행렬의 성질: 상수의 행렬 A∈Rk×p 이 (A)ij:=aij 와 같이 주어져 있다고 하면
Cov(AX)=ACov(X)AT
여기서 Σ 의 고유벡터로 만들어진 직교행렬P:=[e1⋯ep]∈Rp×p 을 정의해보면, 공분산 행렬의 성질에 따라 랜덤벡터 Y:=PTX 의 공분산은 다음과 같이 나타낼 수 있다.
==Cov(Y)Cov(PTX)PTCov(X)P
행렬 표현에 따라 이 Cov(Y) 의 첫번째 대각성분을 풀어 적어보면 다음과 같이 첫번째 고유값과 같음을 알 수 있다.
Var(Y1)===e1TVarXe1e1TΣe1λ1
양정부호 행렬의 이차형식과 고유값: 양의 정부호 행렬A∈Rp×p 의 고유쌍{(λk,ek)}k=1n 이 λ1≥⋯≥λn≥0 순으로 정렬되어 있다고 하자. 단위 구unit Sphere 상에서 이차 형식xTAx 의 최대값과 최소값은 다음과 같다.
∥x∥=1maxxTAx=∥x∥=1minxTAx=λ1λp, attained when x=e1, attained when x=ep
한편 k=2,⋯,p−1 에 대해 다음이 성립한다.
∥x∥=1x⊥e1,⋯,ek−1maxxTAx=λk, attained when x=ek
마침 이 λ1 는 ∥x∥=1 이라는 제약 하에서 이차형식 xTΣx 의 최대값이다. 정리해서 적어보자면
Var(Y1)=λ1=∥x∥=1maxxTΣx
이고, 같은 정리에 의해 k번째 분산 Var(Yk) 은 ∥x∥=1 와 e1,⋯,ek−1 가 직교한다는 제약 하에서 xTΣx 의 최대값인 k번째 고유값 λk 와 같아진다. 다시 말해
Var(Yk)=λk
고, 이 때의 제약조건 x⊥e1,⋯,ek−1 에 따라 l=k 인 Yl,Yk 의 공분산은 다음과 같이 0 이 된다.
Cov(Yl,Yk)=====elTΣekelTλkekλkelTekλk⋅00