사이트맵  |  Contact Us
 
홈 > SAS Tech & Tip > SAS Programming
[SAS 프로그래밍] 상관계수(correlation coefficient)의 크기에 따라 변수 정렬하기 2017.12.29
김효범 1232 0
http://www.mysas.co.kr/SAS_tiptech/a_question.asp?B_NO=7581&gotopage=1&cmd=content

 

 

  안녕하세요. 이번 시간에는 상관계수의 크기 순서대로 변수들을 정렬하는 방법에 대해 알아보겠습니다.

 

 

Introduction


상관분석은 두 변수 간의 상관관계를 계산하여 두 변수가 어떤 선형적 관계를 가지고 있는지를 알아내는 통계적 분석방법입니다. 상관계수의 범위는 (-1,+1)이며  1에 가까울수록 강항 양의 상관관계를 가지고 0에 가까울수록 상관관계가 약해지며 -1에 가까울수록 강한 음의 상관관계를 나타냅니다.  상관계수의 종류에는 연속형 변수에 사용되는 피어슨 상관계수와 순위변수에 쓰이는 스피어만 상관계수가 있습니다.

 

 

 

Ordering by size


변수들 간의 상관계수는 일반적으로 행렬에 표시가 됩니다. 행렬의 특성상 변수마다 상관계수의 크기를 비교하는 것은 한눈에 알아보기 어렵습니다. 색상의 종류나 진하기로 행렬을 시각화 하는 주된 이유이기도 합니다. 하지만 크기에 따라 순서대로 정렬을 한다면 보다 쉽게 비교를 할 수 있을 것입니다.  PROC CORR문에서 RANK 옵션을 사용한다면 변수마다 상관관계의 크기에 따라 해당되는 변수들을 정렬할 수 있습니다. 하지만 RANK옵션은 연속형변수의 상관계수를 계산할 때만 쓸 수 있습니다. 순위변수의 상관계수를 계산하고 싶다면 Spearman옵션을 사용하지만 이번시간엔 다루지 않겠습니다.

사용된 데이터는 Sashelp라이브러리에 있는 Heart데이터입니다.

 


 

PROC CORR 문 다음 사용될 연속형 변수를 Var 뒤에 나열하여 PROC문을 실행하면 위에서 보는 것 같이 나열된 순서대로 각 행을 차지하고 그 옆으로 나열된 나머지 변수들의 상관관계의 크기가 큰 변수 순서대로 정렬됩니다. 예를 들어, Weight 변수의 경우 과체중의 측도로 사용되는 MRW변수와 가장 상관관계가 크고 그 다음으로는 Height 변수와 상관관계가 큰 것을 알 수 있습니다.

 

 

 

Ordering correlations for groups of variables


만약, 기준이 되는 변수와 그 변수와 상관관계를 알고 싶은 변수를 구분하고 싶다면 With문을 활용하면 됩니다.

 


Heart데이터셋의 경우 임상실험을 통해 측정된 데이터와 유전적 특성에 의한 데이터로 구성되어 있습니다. 만약 분석자가 서로 다른 특성으로 구분된 변수들의 상관관계를 알고 상관관계의 크기에 따라 나열하고 싶을 때는 행에 나열되는 기준이 되는 변수들을 With이라는 명령어 뒤에 나열하고 기준변수들에 대해 상관관계를 알고 싶은 변수들을 Var 뒤에 나열하면 됩니다.

 



마치며

오늘은 PROC CORR문에서 RANK 옵션을 사용하여 변수들의 상관관계의 크기에 따라 순서대로 나열하는 방법에 대해 알아보았습니다. 또한 기준이 되는 변수를 따로 지정하여 분석자의 의도대로 변수들을 행과 열에 넣는 방법도 추가적으로 알아보았습니다.


 


 

Reference

https://blogs.sas.com/content/iml/2017/10/09/order-correlations-magnitude.html

https://en.wikipedia.org/wiki/Correlation_coefficient

 

 

 
 
 
휴대폰 번호
휴대폰 인증번호
 
 [SAS 프로그래밍] COALESCE 함수로 누락되지 않은 첫번째 값 찾아내기
 [SAS 프로그래밍] 데이터의 개체 수(Number of observations) 계산하기