[PCA] 주성분분석 1 Start.

BioinformaticsAndMe


주성분 분석(Principal component analysis; PCA) 이란?

-정의: 고차원의 데이터를 저차원의 데이터로 환원시키는 기법
-필요: 다차원의 데이터 분포를 가장 잘 표현하는 성분들을 찾아주기 위함.
​-특징:
a. 주성분의 차원수는 원래 표본의 차원수보다 작거나 같음.
b. 데이터를 한개의 축으로 투영시켰을 때 그 분산이 가장 커지는 축이 첫 번째 주성분 (PC1).
c. 두 번째로 커지는 축을 두 번째 주성분으로 놓이도록 새로운 좌표계로 데이터를 선형 변환시킴.



사실 PCA는 워낙 유명하기에, 구글이나 여러 블로그에서 매우 자세하게 설명하고 있다.

본인 역시 그곳에서 공부하였다.

그런데 한 3개월 전에....   PCA 원리를 아주 쉽고 자세하게 설명해주는 20분짜리 유투브 영상을 발견하였다!!

주성분분석을 한번도 접해보지 못했다면 아래 영상을 20분을 들여 보는 것을 매우 추천한다.

물론 나역시 영상을 보고 이해하고 덧붙일 내용을 아래아래에 정리하겠다.


1. 예제 데이터시트

-예제로 사용할 데이터 시트가 되겠다. 만든이가 genetics하시는 분이라 마우스와 유전자 발현 테이블로 설명한다.

-Mouse는 PCA plot 에 점으로 찍힐 Sample들이 되겠고, Gene은 축으로 사용될 Variable이 될 것이다.



2. 하나의 Variable부터 설명 시작 ! (1차원)

-먼저, 마우스 실험에서 한개의 유전자발현만 확인했다면, 6개의 마우스 각각이 하나의 발현값을 갖고 있을 것이다 (표 참고).

-이를 오른쪽 아래 수평선에 값으로 나열할 수 있겠고, 'Gene1'의 발현값이 유사한 마우스들을 볼 수 있다.

-마우스 6;5;4 가 상대적으로 낮은 발현을 보이고, 마우스 3;1;2가 상대적으로 높은 발현을 보인다.



3. 유전자 하나가 더해져 두개의 Variable ! (2차원)

-Variable이 두개가 됐으니, 축이 하나 더필요하겠다. 'Gene1'을 X축, 'Gene2'를 Y축으로 뒀다.

-마우스샘플들은 좌표 (X,Y)에 맞게 오른쪽 plot 처럼 찍혔다.

-마우스 3;1;2 가 좌표상으로 봤을 때 두 유전자의 비슷한 발현패턴을 보였다 (5;6;4도 역시 지들끼리 비슷한 발현패턴).



4. 이제 3개의 Variable ! (3차원)

-'Gene3'가 추가되어 Z축 까지 생겼다면 우리는 오른쪽 plot과 같이 3차원 형태로 놓인 샘플들을 볼 수 있다.

-예를 들어, 1번마우스가 (X, Y, Z) = (10, 6, 12) 좌표를 가지므로 저 멀리 오른쪽 구석즈음에 표시될 것이다.



5. 4차원을 그려보자..

-4차원은.. 인터스텔라로

-Array같은 마우스 실험에서 유전자 한개, 두개만 보는 일은 없다. 수천개 혹 2만개 유전자의 발현을 확인해야할텐데...

-모든 값을 표현하여 온전히 그릴수도 없거니와 샘플의 유사성도 보기 어렵다. 따라서,

-우리는 필연적으로 모든 유전자들의 발현값 분포를 설명할 수 있는 두개의 대표축을 뽑아 시각화하고 싶어한다.

-그 두개의 축이 PC1 (Principal Component 1, 첫번째주성분)과 PC2 (Principal Component 2, 두번째주성분) 이다.

-PC1 이 전체 발현데이터 분포의 91%를 설명할 수 있고, PC2 가 4% 를 설명할 수 있다 (계산법은 뒤에서..)

-글 초반부에 정의한대로, PCA는 고차원 데이터를 차원축소하여 높은 설명력으로 샘플들의 유사성을 확인하는 기법이 되겠다.



6. 좌표 (0,0) 으로 센터맞추기

-'Gene1'의 발현값 평균을 X축에 찍어보자 (빨간 X 마크).

-같은 방법으로 'Gene2'의 발현값 평균을 Y축에 찍어보자 (빨간 X 마크).

-이제 우리는 위 그림에서 두 평균의 좌표 (Xmean, Ymean) 을 확인할 수 있다 (파란색 X 마크).

-우리는 파란색 X 마크 (평균의 좌표)를 Origin (0, 0)으로 아래 그림처럼 옮길 수 있다.

-주목할 사실은 좌표를 (0,0)으로 옮겼어도 샘플들 사이의 상대적 거리는 변하지 않았다는 것이다.

-'Gene1'에서 가장 발현이 높은 샘플은 여전히 제일 오른쪽에, 'Gene2'에서 가장 발현이 높은 샘플은 여전히 제일 위에 존재한다.



7. 샘플 좌표에 가장 적합한 라인 그리기

-샘플 좌표에 잘 맞는 선을 그렸다. 손으로 찍 그리기는 쉽겠지만,,

-우리는 이렇게 Fitness가 높은 선을 정량적인 접근으로 찾아낼 것이다.



마무리하며..

내용이 길어져 다음 포스트에 이어서 작성하겠다.




[PCA] 주성분분석 1 End.

BioinformaticsAndMe

'Algorithm' 카테고리의 다른 글

[GATK] HaplotypeCaller 알고리즘  (0) 2018.08.13
[PCA] 주성분분석 3  (0) 2018.08.02
[PCA] 주성분분석 2  (0) 2018.08.01
[GWAS] Imputation  (2) 2018.07.09
[NGS Alignment] BWT 알고리즘  (0) 2018.07.06

+ Recent posts