[SAS] 피어슨 상관 계수 (Pearson's correlation coefficient) - PROC CORR
세상의 많은 지표들은 서로 상관되어 있는 경우가 많다. 비흡연자에 비해 흡연자가 폐암에 잘 걸리고, 부모의 키가 클수록 아이의 키도 크다. 소득 수준이 높은 나라일수록 평균 수명도 길고, 수학 점수가 높은 학생은 물리 점수가 높으며, 식당에서 음식을 많이 시킬수록 계산해야 하는 금액도 커진다.
그런데, 세상만사 칼같이 딱딱 떨어지는 게 아니다. 폐암에 걸리지 않는 꼴초도 있는가 하면, 부모의 키는 크지만 아이의 키는 작을 수 있다. 수학만 잘하고 물리는 못 할 수도 있다. 이렇게 예외가 있는 관계가 있는가 하면, 예외가 있을 수 없는 관계도 있다. $10,000$원짜리 삼겹살을 $x$인분 시키면 계산해야 하는 금액은 반드시 $10,000x$가 되는 게 일례가 될 수 있다.
예외가 많은 부모와 자녀의 키 문제로 돌아가 보자. 부모의 키로 자녀의 키를 유추하면 틀리는 경우가 많이 생기게 된다. 다시 말해, 불확실성이 높아진다. 반대로 삼겹살 주문량으로 예측한 계산 금액은 틀릴 수가 없다. 우리는 얼마나 정확하게 예측할 수 있는지를 계량하고자 한다. 그 방법 중 하나가 피어슨 상관 계수 (Pearson's correlation coefficient)다.
피어슨 상관 계수 (Pearson's correlation coefficient)는 두 변수 사이의 상관관계의 정도를 나타내는 지표다. 이는 -1과 1 사이의 값을 갖는데 -1 혹은 1에 가까워질수록, 달리 표현하면 상관 계수의 절댓값이 커질수록, 즉 0에서 멀어질수록 "예측할 수 있는 정도"가 높아진다. 1에 가까워지는 것은 양의 상관관계인데 "예측도"가 증가하는 것을 의미하고, -1에 가까워지는 것은 음의 상관관계인데 "예측도"가 증가하는 것을 의미한다. 여기에서 예측하는 방법은 선형 방법이다. 즉, 한 변수의 값 $x$를 알 때, 적절한 실수 $a, b$에 대해 $y$값이 $y=ax+b$ 일 것이라고 예측할 수 있다는 것이다. 여기에서 피어슨 상관 계수에 대해 대표적으로 오해하는 점 두 가지를 들 수 있다.
1) 피어슨 상관 계수가 크면 기울기($a$값)이 크다. 기울기는 위 삼겹살 예시에서 1인분당 가격을 의미하는 것인데, 1인분 추가 주문 시 증가되는 전체 주문 금액으로 이해할 수 있다. 그런데 피어슨 상관 계수에는 이에 대한 정보가 전혀 없다. 피어슨 상관 계수는 (1) 양의 상관관계인지 음의 상관관계인지, (2) 얼마나 "예측도"가 큰지, 즉 데이터들이 얼마나 직선상에 모여있는지 에 대한 정보만 제공한다.
2) 피어슨 상관 계수가 0이면, 두 변수 사이에는 어떠한 상관 관계도 없다. 위에서 설명했듯이, 피어슨 상관 계수는 선형 방법으로 예측할 수 있는 정도를 표현한다. 따라서 선형 관계가 아닌 2차 함수 관계, 사인 함수 관계, 원형 함수 관계 등이 존재한다면, 두 변수 사이의 어떤 관련성은 분명히 존재하는 것이지만, 피어슨 상관 계수는 0일 수 있다.
본격적으로 피어슨 상관 계수를 구해보자.
*실습용 데이터는 아래 링크를 클릭하면 다운로드할 수 있습니다.
2022.08.04 - [공지사항 및 소개] - 분석용 데이터 (update 22.12.18)
시작하기 위해 라이브러리를 만들고, 파일을 불러온다.
라이브러리 만드는 방법: 2022.08.05 - [통계 프로그램 사용 방법/SAS] - [SAS] 라이브러리 만들기 - LIBNAME
파일 불러오는 방법: 2022.08.05 - [통계 프로그램 사용 방법/SAS] - [SAS] 데이터 불러오기 및 저장하기 - PROC IMPORT, PROC EXPORT
*라이브러리 지정하기;
LIBNAME hong "C:/Users/User/Documents/Tistory_blog";
*파일 불러오기;
PROC IMPORT
DATAFILE="C:\Users\user\Documents\Tistory_blog\Data.xlsx"
DBMS=EXCEL
OUT=hong.df
REPLACE;
RUN;
목표: 혈중 ALT와 AST에는 선형 상관관계가 존재하는가?
피어슨 상관 계수 (Pearson's correlation coefficient)를 구하는 코드는 다음과 같다.
코드
PROC CORR DATA=hong.df;
VAR AST ALT;
RUN;
PROC CORR DATA=hong.df; : 상관 분석 (CORRelation)을 시행하되 데이터는 hong 라이브러리의 df를 이용하라.
VAR AST ALT; : 변수는 AST와 ALT다. 둘 사이의 상관계수를 구하라.
결과
- 상관계수는 0.78869이다. 1에 가까울수록 양의 상관관계가 존재함을 나타내는데, 0.79 정도면 꽤 높은 "선형" 상관관계가 있다고 할 수 있다.
- 유의확률은 "<0.0001"으로 상당히 작으므로 매우 유의함을 알 수 있다. 따라서 귀무가설을 기각하고 대립 가설을 택해야 하는데, 이 검정의 귀무가설은 "상관 계수는 0"이라는 것이다. 따라서 상관 계수가 0은 아니라고 결론 내릴 수 있다.
얼마나 높아야 높다고 할 수 있는가?
위에서 0.79 정도면 꽤 높은 상관관계가 있다고 할 수 있다고 했는데, "얼마나 높은 것이 높은 것인가?"라는 의문이 들 수 있다. 즉, "how high is high?"라는 질문에 대한 답은 사실 정해져 있진 않다. 연구자마다 기준은 다른데, 그중 한 가지는 다음과 같다.
피어슨 상관 계수의 절댓값 $ ( \vert \rho \vert )$ | 해석 |
$0.0<\vert \rho \vert\le0.2$ | Very weak |
$0.2<\vert \rho \vert\le0.4$ | Weak |
$0.4<\vert \rho \vert\le0.6$ | Moderate |
$0.6<\vert \rho \vert\le0.8$ | Strong |
$0.8<\vert \rho \vert\le1.0$ | Very strong |
피어슨 상관 계수 산출의 가정
피어슨 상관 계수를 산출할 때, 기본적으로 가정은 존재하지 않는다. 수학적으로 표현하면 공분산을 각각의 표준 편차로 나눠준 것이니, 어떠한 가정도 필요하지 않다. 다만 해석에 유의해야 한다. 피어슨 상관 계수가 1 또는 -1에 가까운 값이 나왔을 때의 해석은 어디까지나 "선형 상관관계가 있다."는 것이다. 심지어 1에 가까운 값이더라도, 선형 상관관계보다 두 변수 사이의 관계를 더 잘 표현하는 관계가 있을 수 있다. 예를 들어, 어떤 변수 x와 y의 피어슨 상관 계수는 0.89로 매우 높은데, 둘 사이의 그래프는 아래와 같이 그려진다고 하자.
둘 사이의 상관 계수가 1(완벽한 선형 예측이 가능)은 아니지만, x와 y사이에는 이차 함수의 관계가 있는 것으로 보인다. "예측도"측면에서 상관 계수가 1은 아니므로 선형 예측은 완벽하지 않지만, 이차 함수의 관계로 보면 완벽하게 예측할 수 있는 관계다.
또한, 피어슨 상관 계수가 0에 가까운 값이 나왔을 때의 해석은 어디까지나 "선형 상관관계가 없다."는 것이다. 예를 들어 상관계수가 0인 다음 두 변수 x와 y의 그래프는 다음과 같이 그려진다고 한다.
"예측도"측면에서 상관 계수가 0이므로 선형 예측이 불가능해야 하지만, 이차 함수의 관계로 보면 완벽하게 예측할 수 있는 관계다. 따라서 피어슨 상관 계수를 "예측도", "관련성"이라는 의미로 사용하려 한다면, 두 변수 사이의 산점도를 꼭 그려보는 것이 좋다.
두 변수 사이의 산점도 (플롯) 그리기.
산점도를 그리기위해서는 상관 계수를 구하는 코드에 한 마디만 추가하면 된다.
PROC CORR DATA=hong.df PLOTS=SCATTER;
VAR AST ALT;
RUN;
"PLOTS=SCATTER"라는 문구 하나를 추가하면 다음과 같은 산점도를 그려준다.
둘 사이에는 어떤 선형 관계가 있어 보인다. 그렇다면 우리가 산출한 피어슨 상관 계수는 AST와 ALT의 관련성을 잘 나타낸다고 할 수 있다. 즉, 이차 함수 관계 등 다른 비선형적 관계가 있는데도 불구하고 우리가 선형 상관 계수를 구해서 1보다 낮은 값이 나온 것이 아니라, 원래 선형 관계인데 어느 정도의 불확실성 때문에 1보다는 낮은 값이 나온 것이라고 결론지을 수 있다. 따라서 산점도를 꼭 그려보고 어떠한 관계 속에 있는지 확인하고 상관 계수를 해석하는 것은 매우 중요하다.
가정이 정말 없는가?
가정이 필요하다는 글, 책들이 정말 많을 것이다. 그럼에도 불구하고 나는 가정이 필요 없다는 말을 계속해왔다. 정말 가정이 없는 것일까? 답은 "그렇다"이다. 정말 없다. 하지만, Pearson's correlation coefficient가 적절할 때, 적절하지 않을 때는 분명히 존재한다. 피어슨 상관 계수는 두 변수가 연속형 변수일 때 좋다. 그리고 이상치(outlier)가 없을 때 정말 좋다. 이상치(outlier)는 피어슨 상관 계수의 값을 크게 변화시킬 수 있으며, 특히 표본의 수가 많지 않을 때 이런 일은 더 빈번하게 나타날 수 있다. 이럴 때에는 스피어만 상관 계수 (Spearman correlation coefficient)나 켄달의 타우 (Kendall's tau)가 더 적절할 수 있다. 이 두 가지 방식은 특히 순서형 변수일 때 더 큰 효용성을 갖는다.
아마도 위와 같은 이유로 피어슨 상관 계수 (Pearson's correlation coefficient)의 전제조건으로 정규성을 많이 이야기하는지도 모른다. 정규성을 따른다면 적어도 이상치로부터 어느 정도 자유로울 수 있고, 왜곡된 상관 계수가 산출되지 않을 수 있다.
[SAS] 피어슨 상관 계수 (Pearson's correlation coefficient) 정복 완료!
작성일: 2023.04.10.
최종 수정일: 2023.10.17.
이용 프로그램: SAS v9.4
운영체제: Windows 11
'상관분석 > SAS' 카테고리의 다른 글
[SAS] 편상관 계수, 부분 상관 계수 (Partial correlation coefficient) - PROC CORR (0) | 2023.04.20 |
---|---|
[SAS] 스피어만 상관 계수, 켄달의 타우 (Spearman's rank correlation coefficient, Kendall's tau) - PROC CORR (0) | 2023.04.10 |