BookmarkSubscribeRSS Feed

[SAS 활용 노하우] PCA(주성분분석)

Started ‎05-21-2023 by
Modified ‎05-21-2023 by
Views 1,398

 

PCA는 Principal Component Analysis 는 다변량 분석으로, 많은 변수에 포함되어 있는 정보를 적은 수의 변수로 나타내고 싶을 때 사용하는 방법으로 주로 종합적인 지표를 만들 때 사용하는 방법이다.

다차원 데이터를 저차원으로 압축하거나 데이터 간의 상관 관계를 파악할 때 사용합니다.

주성분은 데이터의 분산이 최대가 되는 방향을 나타내도록 생성된 변수이다.

주성분의 분산은 고유값으로 eigenvalue로 고유값이 클수록 원래의 변수의 특징을 잘 표현한다라고 할 수 있습니다.

 

 

 

1 (1).png

 

 

■ SAS CODE

 

data scores;
  input student_id $ korean math english science social;
  datalines;
1 80 85 90 95 75
2 70 75 80 85 90
3 90 95 80 85 70
4 60 65 70 75 80
5 85 90 95 90 75
6 75 80 85 80 90
7 95 90 85 80 75
8 80 85 70 75 80
9 90 95 80 85 90
10 70 75 90 95 80
;

proc princomp data=scores outstat=pcstats out=pcscores;
  var korean math english science social;
run;


proc print data=pcscores noobs;
  var student_id PC1-PC5; 
run;

 

데이터는 10명의 학생 데이터로 국어, 수학, 영어, 과학, 사회 점수를 입력한 것 입니다.

주성분 분석은 'PROC PRINCOMP' 문을 사용합니다.

VAR option: 주성분 분석에 사용할 변수 지정

PROC PRINT: 주성분 분석 결과를 출력

PCSCORES option: 주성분 변수를 출력합니다.

 

 

 

1.png

 

 

 

PROC PRINCOMP 문은 통해서 Eigenvalues of the Correlration Matrix(상관행렬의 고유값 측정치) 가 출력됩니다.

고유값이 크다라는 것은 변동이 크다라는 것을 의미하므로 Eigenvalue가 높을수록 변수가 데이터를 잘 설명한다라고 할 수 있습니다.

Cumulative 를 보면 4번째 고유값까지 0.9948로 전체 변동의 99%를 설명한라는 것을 알 수 있습니다.

3번째 고유값까지 0.9581로, 이 역시 전체 변동의 95%를 설명한다라는 의미로 상당히 높은 설명력을 가진 것을 알 수 있습니다.

 

 

image (2).png

 

 

이걸 시각화한 그래프를 Scree Plot 으로 Ellobw (꺾인점)이 4에서 그래프가 꺾이는 것을 확인할 수 있습니다.

즉, 주성분 수를 4개로 하는 것이 가장 효율적임을 알 수 있습니다.

(3개 역시 고유값이 95%로 효율적임을 의미할 수 있습니다.)

 

 

 

Version history
Last update:
‎05-21-2023 09:46 AM
Updated by:
Contributors

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

Article Tags