brunch

You can make anything
by writing

C.S.Lewis

by 해이 May 09. 2023

상관계수 R값 구하기

회사원을 위한 수학 [상관분석, 회귀분석 #3]

피어슨 상관계수 r 구하기 실습

*Cover: Karl Pearson(1911), The Grammar of Science(3rd edition), Adam&CharlesBlack


목차

[1] 자동 계산(엑셀)
[2] 수기 계산
[3] 계산식의 의미 이해


요즘 사회적 이슈인 금리와 주가의 관계로 생각해 보겠습니다. 

보통 금리가 오르면 주가는 내리는데, X값을 금리, Y값을 주가라 생각하고, 어떤 상관성을 갖는지 알아보겠습니다. 아 물론, 수기 계산의 편의를 위해 임의로 만든 가짜 숫자들입니다. 


어떤 연도에 조사해 보니 아래와 같았다 치겠습니다. 

임의의 숫자이므로 단위는 생각하지 않겠습니다.


1분기에 금리가 -1, 주가도 -1 

2분기에 금리가 2, 주가는 1

3분기에 금리가 -3, 주가는 2

4분기에 금리가 2, 주가는 -2 




[1] 자동 계산(엑셀 이용)으로 구하기


엑셀을 이용할 때는, 데이터 분석 패키지를 써도 되고, 직접 함수를 써서 구해도 됩니다.

데이터 분석 패키지는 최초에 설치가 안 되어 있을 수 있습니다. 파일 > 옵션 > 추가기능 > 분석도구 팩을 설치하면 됩니다. 함수는 CORREL이라는 함수가 있습니다. 

"=CORREL(X범위 지정, Y범위 지정)" 이런 식으로 쓰시면 됩니다. 



엑셀의 기능을 이용하여 r을 구해봤습니다. 

제가 임의로 가짜 숫자를 넣은 금리와 주가들의 상관계수 r은 -0.52175였네요.

r은 -1과 +1 사이의 값을 가집니다. 사회현상인데도 -0.5 수준이면 꽤 높은 상관성을 보인다고 할 수 있습니다. 마이너스 값이므로 음의 상관관계이고, 금리가 높아질 때 반대로 주가가 낮아지는 음의 의존성이 꽤 강한 수준이라고 볼 수 있겠네요.


이번에는 수기 계산으로 r값을 구해보고, 자동 계산으로 구한 값과 일치하는지 확인해 보겠습니다.



[2] 수기 계산


상관계수 r을 구하는 공식에 대입해서 그대로 계산해보려 합니다.

r을 구하는 공식은 다음과 같습니다. 이 공식이 어떤 의미를 갖는지는 [3]에서 다루기로 하고, 일단 기계적으로 공식에 숫자를 대입해 계산부터 해봅시다.



복잡해 보이지만, 하나씩 뜯어보면 어렵지 않습니다.



고등학교까지 정규 교육과정을 마치신 직장인이라면 루트, 제곱, 시그마 기호들은 다 아시리라 생각합니다.

몰라보실 수 있는 문자는 아마도, 

x와 y 위에 작대기(bar ‘-’)가 쓰여 있는 문자들일 텐데요, 그건 평균값을 뜻합니다. 즉, 각각 x값들의 평균, y값들의 평균을 표현한 겁니다.

편차라는 것은, 어떤 값에서 그 값들의 평균을 뺀 겁니다. 즉, 그 값이 평균으로부터 얼마나 떨어져 있냐... 가 편차입니다. 예를 들어 어떤 30대 남자 홍길동 씨의 키가 180cm인데 대한민국 30대 남성의 평균키가 173cm라면, 홍길동 씨 키의 편차는 표본값 180 - 평균값 173 = +7cm인 셈입니다. 즉, 위의 공식에서 소괄호( )로 묶인 애들이 바로 편차를 뜻합니다.

참고로, 계산식에서 i와 n이라는 기호는 편의상 뺐습니다. 이건, x, y 순서쌍이 n개 있다고 할 때, 계산의 순서를 순서쌍에 있는 애들끼리 맞춰서 하라는 기호인데요, 계산 과정에서 자연스럽게 보이게 되어 생략했습니다.


먼저 X와 Y의 평균값부터 구해보면

x의 평균 = {(-1) + 2 + (-3) + (2)} / 4 = 0

y의 평균 = {(-1) + 1 + 2 + (-2)} / 4 = 0

 

둘 다 평균은 0입니다. 계산 편의를 위해 일부러 평균이 0이 되도록 만들어낸 숫자들이거든요.

그럼 이제 위의 그림에서 [분자] [분모] 계산법이라고 쓴 ① ~ ⑨의 절차를 밟아 계산한 결과를 그대로 보여드리겠습니다. 



r을 구하는 공식에 직접 숫자를 대입해 풀어내보니 

r = -0.52175… 가 나오네요. 아까 [1] 자동계산에서 엑셀의 함수 기능을 이용해 푼 값과 일치합니다. 

당연합니다. 자동계산, 즉 엑셀 함수라는 건 이 공식을 자동화시킨 거니까요.


직장인으로서는 여기까지만 아셔도 됩니다. 

아니, [1]만 하실 줄 알아도 됩니다. 

실사구시의 정신으로 엑셀을 이용해 상관계수를 구하거나 그 내부에 어떤 식이 숨어 있다는 정도만 이해해도 됩니다. 지적 탐구보다는 보고서 작성이 더 급하니까요.


하지만 

이 복잡한 수식이 도대체 무엇을 뜻하며, 

이게 왜 '상관성'을 보여주는 것일까... 

의문을 품게 되셨다면 

다음 챕터 [3]을 읽어 보시면 좋습니다.



[3] 계산식의 의미 이해


결론부터 얘기하면, 상관계수 r을 구하는 공식은 '공분산'을 '표준화' 한 것입니다. 

표준화란 간단히 말해서, 표준편차로 나누는 겁니다. 즉, r을 구하는 공식은 'x와 y의 공분산'을 'x의 표준편차'와 'y의 표준편차'의 곱으로 나눈 겁니다. 변수가 2개니까 각각의 표준편차를 곱한 것으로 나눈 것이구요.



[3-1] 공분산


일단 분자에 있는 녀석, 공분산. 

공분산은 뭘까요? 이 녀석이 뭐기에, 표준화한 것이 상관계수일까요? x의 분산과 y의 분산을 따로 계산하는 게 아니라, 동시에 계산하는 것(그래서 공분산)... 정도로만 일단 설명해 보겠습니다. 

x라는 변수 하나만의 분산을 구할 때는 

'x의 편차' 곱하기 'x의 편차' 제곱해서 평균 내지만, 

x와 y의 공분산에서는 

'x의 편차' 곱하기 'y의 편차'를 해준 후 평균 냅니다. 

물론 r을 구하는 이 공식에서 평균내기 위한 'n 나누기'는 약분되어 사라져 있습니다. 


공분산에 대한 이해는 공간적으로 보시는 게 가장 빠릅니다. 이 글에서 예제로 든 금리와 주가 순서쌍을 좌표평면에 점으로 찍겠습니다.


(계산 및 이해 편의를 위해 x, y 각각의 평균이 0이 되도록 만든 예제입니다. 즉, 두 변수의 평균선을 따로 그리면 그림이 지저분해져서, 아예 축과 일치하게 만든 것입니다. x축 y축이 기준이 아니라, 각각의 평균선이 기준임을 잊지 마세요.) 


이 평면에서 'x의 편차' 곱하기 'y의 편차'는 무엇을 뜻할까요? 

두 평균선과 점이 이루는 직사각형의 가로 세로 길이입니다. 그러니까 'x의 편차' 곱하기 'y의 편차'는 이 사각형의 가로 곱하기 세로, 즉 면적을 뜻합니다. 시그마 기호가 앞에 있으므로, 이 면적들을 다 더한 것이 공분산입니다.(n 나누기는 생략)



상관분석은 x의 변화량과 y의 변화량을 함께 보려는 의지에서 출발합니다. 그래서 공분산이 쓰입니다. x의 단독 분산만 생각하면, 그건 x가 평균으로부터 얼마나 변화(산개, 분산)했는가를 보려는 것입니다. 하지만 x, y 공분산을 본다는 것은, x가 x의 평균값에서 +로 멀찍이 떨어져 있을 때, 그 y값 역시 y의 평균에서 +로 일정 비율로 떨어져 있는 것인지, 아니면 반대인지, 그 x와 y의 변화량의 복합성을 알아내고자 함입니다. 2개 변수의 다채로운 변화량을 어떻게 한방에 표현할 수 있을까?... 칼 피어슨은 이런 고민에서 출발했던 게 아닐까요. 


여하튼, 위의 그림을 통해, 공분산은 좌표평면상에서 점들이 이루는 직사각형들의 면적을 합친 값임을 알 수 있습니다. 면적을 다 합치니 -7이 나오네요. 


유레카! 상관계수는 -7이로구나!...라고 하면 틀립니다. 

방금 우리가 구한 공분산 -7을 통해 알 수 있는 것은 '방향성'입니다. x가 증가/감소할 때 y가 증가/감소하는 복합적 변화량의 크기(면적)를 다 합쳐보니 '마이너스'더라, 즉 x와 y의 변화의 방향은 결론적으로 반대방향이구나, 즉 음의 상관관계를 가졌구나,라는 것만 알 수 있습니다. 


그럼 알맹이 값 7은 대체 뭘까요.

분명히 상관성의 '강도'를 내포하고는 있는 듯한데 왜 그대로 쓰면 안 될까요? 


[3-2] 표준화


답은 의외로 간단합니다. x와 y의 단위가 다르기 때문입니다. 금리의 단위와 주가의 단위는 다릅니다. 이렇게 제가 다루는 이 글의 예제 안에서도 단위가 다른데, 이 예제가 아닌 다른 경우들과는 비교를 할 수가 없습니다. 그런 상황에 그저 숫자끼리만 곱하고 더해서 나온 값을 갖고서 일반적으로 통용되는 지표라고 들이밀 수는 없습니다. 그래서 표준화해주는 겁니다. 


우리 왜 예전에 수능 보면 원점수와 표준점수라는 것 있었잖습니까. 난이도가 영역별로도 다르고, 연도 마다도 다르고 해서 등등, 원점수라는 절대적 점수로 비교하기보다, 상대적 점수인 표준점수로 비교했었습니다. 집단 내 평균과 표준편차를 구해서, 이 학생의 원점수가 집단의 평균으로부터 얼마큼 떨어져 있는지 상대적인 수치를 구하면 상호 간, 연도 간 비교가 가능하겠지요. 


즉, 100점 만점 시험이라 할 때, 원점수 91점을 맞았다 해서 "우와 잘했다"가 아닌 겁니다. 만약 그 시험을 본 학생들 평균이 95점이면 91점 맞은 학생은 "상대적으로 못했다"가 되는 겁니다. 만약 학생들 평균이 95점이고 표준편차가 2.5점이었다면, 이 원점수 91점 맞은 학생의 수준은,


(원점수 91 - 평균 95) / 표준편차 2.5 

= -4 / 2.5 

= -1.6


이라고 할 수 있습니다. 이 학생의 편차를 표준편차로 나누는 거죠. 표준편차 2.5를 하나의 단위(1σ)로 삼았을 때, 이 학생의 점수는 평균보다 1.6σ 모자란 점수인 겁니다.

즉, 91점이라는 원점수만 말하면 때마다 기준이 다르기 때문에 오히려 통용이 안되고, 이를 표준화 한 점수, "평균보다 표준편차 1.6개만큼 모자란 점수"라고 말해야 일반적으로 통용해서 쓸 수 있게 됩니다. 


다시 본론으로 돌아와서.

 

네, 그래서 표준화합니다.

공분산 값을 그대로 쓰면 케이스마다 단위가 달라서 비교가 안되니까 표준화하기 위해, x와 y의 표준편차로 나눠주는 겁니다. x와 y의 복합적 변화량(공분산)을 구한 후, 이를 x와 y의 표준적 변화량(표준편차의 곱)으로 나눠주면, 단위는 사라지고, 비율만 남습니다. 그 비율이 상관계수 r입니다. 






이상, 

[상관분석, 회귀분석 #3]이었습니다. 

이번 글은 상관계수 R(상관분석)에 대한 내용이었고, 다음 글 #4는 결정계수 R2(회귀분석)에 대해 써보려 합니다.




[상관분석, 회귀분석 #1]

https://brunch.co.kr/@haey/18


[상관분석, 회귀분석 #2]

https://brunch.co.kr/@haey/19


매거진의 이전글 R은 뭐고 R2는 뭐였더라
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari