본문 바로가기

ADsP(데이터 분석 준전문가)/개념정리

[3-4. 통계분석] 6.주성분 분석

728x90

6절 주성분 분석
1) 주성분분석 (Principal Component Analysis, PCA)
- 여러 변수들의 변량을 '주성분(Principal Component)'이라는 서로 상관성이 높은 변수들의 선형 결합으로 만들어 기존의 상관성이 높은 변수들을 요약, 축소하는 기법
- 첫번째 주성분으로 전체 변동을 가장 많이 설명할 수 있도록 하고, 
- 두번째 주성분으로는 첫 번째 주성분과는 상관성이 없어서(낮아서) 첫번째 주성분이 설명하지 못하는 나머지 변동을 정보의 손실 없이 가장 많이 설명할 수 있도록 변수들의 선형조합을 만든다
- 다차원 데이터에서 주요한 정보를 추출하고 차원을 축소하는 통계적 기법
- 변수 간의 상관성을 고려하여 데이터를 효과적으로 축소하고, 주성분을 통해 데이터의 구조를 파악하는 데 사용
- 여러 변수 간의 상관성을 고려하여 새로운 변수인 주성분을 찾아내어 데이터를 요약
- 주성분은 상관성이 높은 원본 변수들의 선형 결합으로 구성되며, 첫 번째 주성분은 전체 변동 중에서 가장 많은 정보를 가지고 있습니다.

상관성이 높은 변수들의 선형 결합:
-PCA는 기존 변수들 간의 상관성을 고려하여 새로운 변수, 즉 주성분을 찾아냅니다.
-주성분은 상관성이 높은 원본 변수들의 선형 결합으로 구성되므로, 데이터를 더 적은 수의 변수로 표현할 수 있습니다.
전체 변동을 설명하는 주성분:
-첫 번째 주성분은 전체 데이터의 변동을 가장 크게 설명합니다.
-각 주성분은 서로 독립적이며, 주성분의 순서에 따라 전체 데이터의 변동을 설명하는 데 기여하는 정도가 감소합니다.
정보 손실 없이 차원 축소:
-PCA는 변수의 수를 줄이면서도 원본 데이터의 정보 손실을 최소화합니다.
-두 번째 주성분은 첫 번째 주성분과 상관성이 낮아 데이터의 나머지 변동을 설명하는 역할을 합니다.

2) 주성분분석의 목적
- 여러 변수들 간에 내재하는 상관관계, 연관성을 이용해 소수의 주성분으로 차원을 축소함으로써 데이터를 이해하기 쉽고 관리하기 쉽게 해줌
- 다중공선성이 존재하는 경우, 상관성이 없는(적은) 주성분으로 변수들을 축소하여 모형개발에 활용
- 회귀분석 등의 모형개발 시 입력변수들간의 상관관계가 높은 다중공선성이 존재할 경우 모형이 잘못 만들어져 문제가 생김
- 연관성이 높은 변수를 주성분분석을 통해 차원을 촉소한 후에 군집분석을 수행하면 군집화 결과와 연산속도를 개선할 수 있음
- 기계에서 나오는 다수의 센서데이터를 주성분분석으로 차원을 축소한 후에 시계열로 분포나 추세의 변화를 분석하면 기계의 고장징후를 사전에 파악하는데 활용

3) 주성분분석 VS 요인분석
1. 요인분석(Factor Analysis)
- 등간척도(혹은 비율척도)로 측정한 두개 이상의 변수들에 잠재되어 있는 공통인자를 찾아내는 기법

2. 공통점
- 모두 데이터를 축소하는데 활용
- 원래 데이터를 활용해서 몇 개의 새로운 변수들을 만들 수 있다

3. 차이점
(1) 생성된 변수의 수
- 요인분석은 몇 개라고 지정 없이(2 or3,4,5...)민들 수 있다
- 주성분분석은 제1주성분, 제2주성분, 제3주성분 정도로 활용한다(대개 4개 이상은 넘지않음)

(2) 생성된 변수의 이름
- 요인분석은 분석자가 요인의 이름을 명명한다
- 주성분분석은 주로 제1주성분, 제2주성분, 제3주성분 등으로 표현

(3) 생성된 변수들 간의 관계
- 요인분석은 새 변수들은 기본적으로 대등한 관계를 갖고 '어떤 것이 더 중요하다'라는 의미는 요인분석에서는 없다
- 단, 분류/예측에 그다음 단계로 사용된다면 그때 중요성의 의미가 부여 
- 주성분분석은 제1주성분이 가장 중요하고, 그다음 제2주성분이 중요하게 취급

(4) 분석 방법의 의미
- 요인분석은 목표변수를 고려하지 않고 그냥 데이터가 주어지면 변수들을 비슷한 성격들로 묶어서 새로운 잠재변수들을 만든다
- 주성분분석은 목표 변수를 고려하여 목표변수를 잘 예측/분류하기 위하여 원래 변수들의 선형 결합으로 이루어진 몇 개의 주성분(변수)들을 찾아내게 된다

4) 주성분의 선택법
- 주성분분석의 결과에서 누적기여율(Cumulative Proportion)이 85%이상이면 주성분의 수로 결정할 수 있다
- Scree Plot을 활용하여 고윳값(Eigenvalue)이 수평을 유지하기 전단계로 주성분의 수 선택
- 교제 사진 확인

5) 주성분 분석사례 (교제 그래프 참고)
USArrests 자료
- 1973년 미국 50개주의 100,000명의 인구 당 체포된 세 가지 강력범죄수(Assault, Murder, Rape)와 각 주마다 도시에 거주하는 인구의 비율(%)로 구성
- 변수들 간의 척도의 차이가 상당히 크기 때문에 상관행렬을 사용하여 분석
- 특이치 분해(특이값 분해) : 행렬을 특정한 구조로 분해를 사용하는 경우 자료 행렬의 각 변수의 평균과 제곱의 합이 1로 표준화되었다고 가정
(1) 4개의 변수들 간의 산점도
> library(datasets)
> data(USArrests)
> pairs(USArrests,panel=panel.smooth, main="USArrests data") # 산점도 행렬
- Murder과 UrbanPop 비율간의 관련성이 작아보임

(2) summary
> US.prin<-princomp(USArrests,cor=TRUE)     #princomp : 주성분분석을 하는 함수. cor=TRUE면 상관행렬, F이면 공분산행렬
> summary(US.prin)
> screeplot(US.prin,npcs=4,type="lines")    #주성분을 x축, 주성분의 고유값(주성분의 분산)을 y축에 둔 그래프
- 제1주성분과 제2주성분까지의 누적 분산비율은 대략 86.8%로 2개의 주성분 변수를 활용하여 전체 데이터의 86.8%를 설명가능
- 주성분들에 의해 설명되는 변동의 비율은 ScreePlot으로 확인

(3) Loadings
- 네 개의 변수가 각 주성분 Comp.1-Comp.4까지 기여하는 가중치가 제시
- 제1주성분에는 네 개의 변수가 평균적으로 기여
- 제2주성분에는 (Murder,Assault)와 (UrbanPop, Rape)의 계수의 부호가 서로 다름

(4) Scores
- 각 주성분 Comp.1-Comp.4의 선형식을 통해 각 지역(record)별로 얻은 결과 계산

(5) 제 1-2주성분에 의한 행렬도
#자료행렬을 특이값 분해해 주성분분석을 실행하는 함수
#center=T : 데이터 중심이 0
#scale.=T : 데이터 표준화
> arrests.pca<-prcomp(USArrests, center=TRUE,scale.=TRUE)
> biplot(arrests.pca,scale=0)       #제 1,2 주성분에 의한 행렬도
- 조지아, 메릴랜드, 뉴 멕시코 등은 폭행과 살인의 비율이 상대적으로 높은 지역
- 미시간, 텍사스 등은 강간의 비율이 높은 지역
- 콜로라드, 캘리포니아, 뉴저지 등은 도시에 거주하는 인구의 비율이 높은 지역
- 아이다호, 뉴 햄프셔, 아이오와 등의 도시들은 도시에 거주하는 인구의 비율이 상대적으로 낮으면서 3대 강력범죄도 낮다




728x90