주성분분석(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가지 핵심 개념
'ADP' 카테고리의 다른 글
데이터 결합 및 요약 (0) | 2021.01.02 |
---|
댓글