본문 바로가기
ADP

주성분분석(PCA)

by forestlim 2020. 12. 31.
728x90
반응형

주성분분석(PCA)은 수치형 변수가 어떤 식으로 공변하는 지 알아내는 기법

용어정리
- 주성분 : 예측변수들의 선형결합
- 부하(loading) : 예측변수들을 성분으로 변형할 때 사용되는 가중치
- 스크리그래프 : 성분들의 변동을 표시한 그림. 성분들의 상대적인 중요도를 보여준다. 

즉, 전체 변수들의 변동성을 거의 대부분 설명할 수 있느 적은 수의 변수들의 집합을 주성분이라고 한다. 

PCA는 선형판별분석의 비지도 학습 버전이라고도 할 수 있다. 

 

가중치 (w1, w2)를 주성분의 부하 라고 한다. 

주성분 분석을 할 때, 첫 번째 주성분으로 전체 변동을 가장 많이 설명할 수 있도록 하고, 두 번째 주성분으로는 첫 번째 주성분이 설명하지 못하는 나머지 변동을 정보의 손실 없이 가장 많이 설명할 수 있도록 변수들의 선형조합을 만든다. 

 

*** 주성분은 값 자체에 대해서보다는 예측변수들의 평균으로부터의 편차에 대해 계산하는 것이 일반적

 

주성분 분석을 통해 변수 차원을 축소한 후 군집분석을 수행하면 군집화 결과와 연산속도를 개선할 수 있다. 

 

간단한 예제를 통해 더 자세히 알아보도록 하자!

1. 데이터 확인 및 산점도를 통한 변수 간 상관관계 파악

> library(datasets)
> data(USArrests)
> pairs(USArrests, panel=panel.smooth, main='USArrests data')

** Murder 와 UrbanPop비율간의 관련성이 작아보인다. 

 

2. 주성분 분석 수행

> US.prin<-princomp(USArrests, cor=TRUE)
> summary(US.prin)
Importance of components:
                          Comp.1    Comp.2    Comp.3     Comp.4
Standard deviation     1.5748783 0.9948694 0.5971291 0.41644938
Proportion of Variance 0.6200604 0.2474413 0.0891408 0.04335752
Cumulative Proportion  0.6200604 0.8675017 0.9566425 1.00000000
> plot(US.prin.type='l')

 

 

주성분 분석 결과에 summary함수를 적용하면 결과에 대한 요약 설명이 나온다. summary결과로 나오는 Standard deviation은 주성분의 표준편차, Proportion of Variance 는 주성분의 기여율, Cumulative Proportion은 누적기여율 의미

 

제 1주성분과 제 2주성분까지의 누적 기여율은 대략 86.8%로 2개의 주성분 변수를 활용하여 전체 데이터의 약 86.8%를 설명할 수 있다. 

 

Screeplot을 통해 시각적으로도 확인 가능하다. 

3. Loading

> US.prin$loadings

Loadings:
         Comp.1 Comp.2 Comp.3 Comp.4
Murder    0.536  0.418  0.341  0.649
Assault   0.583  0.188  0.268 -0.743
UrbanPop  0.278 -0.873  0.378  0.134
Rape      0.543 -0.167 -0.818       

               Comp.1 Comp.2 Comp.3 Comp.4
SS loadings      1.00   1.00   1.00   1.00
Proportion Var   0.25   0.25   0.25   0.25
Cumulative Var   0.25   0.50   0.75   1.00

주성분 분석 결과의 loading을 통해 주성분계수 즉, 네 개의 변수가 각 주성분에 기여하는 가중치가 제시된다. 제 1주성분은 0.536 x Murder + 0.583 x Assault + 0.278 x UrbanPop + 0.543 x Rape의 선형결합식으로 이루어져 있음을 파악할 수 있다. 

 

4. Scores

주성분 분석 결과, 차원축소로 얻어지는 주성분점수는 scores 인자를 통해 확인할 수 있다. 

> US.prin$scores
                    Comp.1      Comp.2      Comp.3       Comp.4
Alabama         0.98556588  1.13339238  0.44426879  0.156267145
Alaska          1.95013775  1.07321326 -2.04000333 -0.438583440
Arizona         1.76316354 -0.74595678 -0.05478082 -0.834652924
Arkansas       -0.14142029  1.11979678 -0.11457369 -0.182810896
California      2.52398013 -1.54293399 -0.59855680 -0.341996478
Colorado        1.51456286 -0.98755509 -1.09500699  0.001464887
Connecticut    -1.35864746 -1.08892789  0.64325757 -0.118469414
Delaware        0.04770931 -0.32535892  0.71863294 -0.881977637
Florida         3.01304227  0.03922851  0.57682949 -0.096284752
Georgia         1.63928304  1.27894240  0.34246008  1.076796812
Hawaii         -0.91265715 -1.57046001 -0.05078189  0.902806864
Idaho          -1.63979985  0.21097292 -0.25980134 -0.499104101
Illinois        1.37891072 -0.68184119  0.67749564 -0.122021292
Indiana        -0.50546136 -0.15156254 -0.22805484  0.424665700
Iowa           -2.25364607 -0.10405407 -0.16456432  0.017555916
Kansas         -0.79688112 -0.27016470 -0.02555331  0.206496428
Kentucky       -0.75085907  0.95844029  0.02836942  0.670556671
Louisiana       1.56481798  0.87105466  0.78348036  0.454728038
Maine          -2.39682949  0.37639158  0.06568239 -0.330459817
Maryland        1.76336939  0.42765519  0.15725013 -0.559069521
Massachusetts  -0.48616629 -1.47449650  0.60949748 -0.179598963
(생략)

 

5. 제 1-2 주성분에 의한 행렬도

> biplot(US.prin, sclae=0)

biplot 함수는 제1주성분과 제2주성분으로 이루어진 좌표평면상에 원 데이터 행들의 주성분점수를 산점도의 형태로 나타내고, 각 변수에 대한 주성분계수를 화살표로 시각화하여 그래프로 표현

 

제1주성분의 모든 주성분계수는 양수이므로 가로축(PC1)을 기준으로 모든 변수가 0이상의 값. PC1을 이루는 선형 결합식에서 상대적 부하량(loadings)의 절대값이 가장 큰 Assault변수는 가장 수평의 형태를 나타내고 있으며, 상대적 부하량의 절대값이 가장 작은 UrbanPop변수는 가장 수직에 가까운 형태

 

마지막으로 주요 개념을 정리하도록 하자

- 주성분은 예측변수(수치형)들의 선형결합이다.

- 주성분들은 서로 간의 상관관계가 최소화되며 중복성이 줄어들도록 한다. 

- 제한된 개수의 주성분들로도 결과변수에서 대부분의 변동성을 설명할 수 있다. 

- 제한된 개수의 주성분들을 원래의 예측변수를 대신하여 차원이 감소된 형태로 사용할 수 있다. 

 

참고

데이터 과학을 위한 통계: 데이터 분석에서 머신러닝까지 50가지 핵심 개념

728x90
반응형

'ADP' 카테고리의 다른 글

데이터 결합 및 요약  (0) 2021.01.02

댓글