-
06-3 피어슨 상관 계수, r 계산데이터 분석/파이썬으로 배우는 데이터 분석을 위한 통계학 2022. 4. 5. 18:05
이전 시간의 피어슨 상관 계수를 구하기 위해 ESS, 예측 해서 줄인 차이의 제곱 합을 TSS, 전체 차이의 제곱 합으로 나눠주면 된다고 했지?
r² = ∑(Yh-Ym)² / ∑(Yi-Ym)²
r = √{ ∑(Yh-Ym)² / ∑(Yi-Ym)² }
: √( ESS / TSS )
대신 제곱근을 취할 땐 정적 상관 관계에서는 양의 제곱근, 부적 상관 관계에서는 음의 제곱근을 취한다고 했어.
X와 Y가 정적 관계 일 때 : 0 ≤ r ≤ 1
X와 Y가 부적 관계 일 때 : -1 ≤ r ≤ 0
∴ -1 ≤ r ≤ 1
그러나 이 공식은 손으로 계산하기엔 적합하진 않아. 회귀 방정식이 중간에 끼어있잖아. 실제적으로 계산하고자 한다면
r = {N(∑XY)-(∑X)(∑Y)} / √[{N∑X²-(∑X)²}{N∑Y²-(∑Y)²}]
이 공식을 사용하면 편리할거야. 공식이 복잡해 보이지만 그동안 회귀 상수, 추정 표준오차를 구할 때 써먹었던 계산 공식에서 필요한 재료들이 다 들어있거든! 특히 위 공식을 잘 쳐다보면 정적 관계성의 경우 기울기가 양수이고 부적 관계성의 경우 기울기가 음수인데, 이 공식은 기울기를 포함하고 있기 때문에 양의 제곱근을 취할지 음의 제곱근을 취할지 신경 안써도 되니 얼마나~ 좋아~
-
피어슨 상관 계수, r의 계산 전 정리
상관 관계의 게산은 다섯명의 SAT 점수와 GPA를 가지고 해 볼게.
SAT 점수 (X) 1010 1033 1103 1170 1250 GPA (Y) 1.3 0.1 1.5 1.8 3.9 우리는 이 점수치들을 가지고 평균선과 회귀선을 그렸었어. 아래의 코드처럼 말야.
그리고 8번 라인부터 14번 라인을 잘 쳐다보면 회귀 분석을 위해 회귀 상수 b를 구하는 과정이 있는데, 이 과정에서 쓰인 재료들을 가지고 피어슨 상관 계수 계산 공식에 대입하면 정말 편하게 상관 계수를 구할 수 있을거야. 다만 추정 표준오차를 구할 때 처럼 ∑Y²에 대한 계산이 빠져있기 때문에 ∑Y²만 새로 정의해주면 될거 같아.
상관 계수를 구하기 전에 먼저 과정을 분리해 놓고 갈게. 공식이 워낙 길고 복잡하다 보니 그냥 계산하면 자칫 실수가 날 수도 있잖아? 그리고 공식을 쪼개서 쳐다보면 이 공식이 어떻게 유도되었는지 공부가 되니까 일석 이조네! 피어슨 상관 계수 공식
r = {N(∑XY)-(∑X)(∑Y)} / √[{N∑X²-(∑X)²}{N∑Y²-(∑Y)²}]
을 아래 처럼 세 가지 부분으로 쪼갤건데,
r1 : N(∑XY)-(∑X)(∑Y)
r2 : N∑X²-(∑X)²
r3 : N∑Y²-(∑Y)²
이렇게 나누고 나면 피어슨 상관 계수 r은
r = r1 / √( r2 * r3 )
로 표현될 수 있어. 이렇게 나누고 보니 공식이 훨씬 간단해 보이지? r2와 r3를 곱의 제곱근을 r1에서 나눠주기만 하면 돼! 아주 굿~
-
파이썬을 활용한 피어슨 상관 계수, r의 계산
이제 본격적으로 피어슨 상관 계수 r을 구하고 그래프에 출력해 볼게. r을 출력할 땐 회귀선에 대한 상관 계수이기 때문에 회귀선 범례에 같이 출력해 주면 좋을거야.
14번 줄에서 ∑Y²를 추가해 주었고, 21번 부터 24번 줄이 상관 계수를 구하는 과정이었어. 공식을 세 부분으로 쪼개놨더니 복잡하지 않게 상관 계수를 구할 수 있었지? 마지막으로 34번 라인의 label을 잘 쳐다보면
label='{}\nr = {:.2f}'.format(Yh, r)
위와 같은데, 이전에 구했던 Yh(회귀 방정식)과 r(상관 계수)를 출력해 주기 위해 format() 함수를 사용해서 문자열 포매팅을 해 주었어. 그런데 '\n'('대한민국 통화 원 기호' 혹은 슬래시(/)가 뒤집어진 '역슬래시' 모양)이 중간에 끼어있는 것을 볼 수 있어. 여기 사용되는 기호는 여러분 키보드 '백스페이스(←)' 근처에 '\' 기호를 사용해서 입력할 수 있어. '역슬래시 엔' 혹은 '백슬래시 엔'이라고 읽는 이 놈은 '이스케이프 시퀀스'를 따르는 '이스케이프 문자'중 하나인데.. 프로그래밍 용어라서 여러분이 자세히 알 필요는 없구 그냥 '한 줄 띄기.'라는 기능을 수행하는 특수 문자 정도로 이해하면 돼. 이스케이프 문자에 대해 더 알고 싶은 친구들은
https://ko.wikipedia.org/wiki/이스케이프_문자
요 문서를 참고하면 돼!
-
피어슨 상관 계수, r을 통한 상관 분석
암튼 r도 구했고, r을 출력해 보기도 하면서 X와 Y의 상관 계수가 0.88이라는 것을 알 수 있게 되었어! 우와! 이게 무슨 뜻이지? 여러분들이 생각하기에는 어느정도의 수치가 되어야 상관 관계가 있다고 할 수있을거 같아? 0.9 이상? 0.5 이상? 아래의 표를 보기 전에 한 번 생각해 봐~
일반적으로
피어슨 상관 계수, r을 통한 상관 분석 -1 ≤ r < -0.7 강한 부적 선형 관계 -0.7 ≤ r < -0.3 뚜렷한 부적 선형 관계 -0.3 ≤ r < -0.1 약한 부적 선형 관계 -0.1 ≤ r ≤ +0.1 관계가 있겠냐 +0.1 < r ≤ +0.3 약한 정적 선형 관계 +0.3 < r ≤ +0.7 뚜렷한 정적 선형 관계 +0.7 < r ≤ +1 강한 정적 선형 관계 와 같이 해석할 수 있어. 그럼 우리가 계산해 내었던 0.88은 강한 정적 선형 관계를 가지고 있다고 볼 수 있는거야. 강한 상관 관계를 가지고 있다는 것이지!
우와! SAT 점수와 GPA는 0.88이라는 강한 정적 선형 관계를 가지고 있는거야! 우리가 목표로 했던
② SAT 점수와 GPA간의 관계를 조사하기.
를 드디어 달성한거야! 회귀 분석의 마침표가 찍혔네! 신난다!
이로서 우리는 X를 통해 Y를 예측할 수 있게 되었고 추정 표준오차를 통해 사례수가 포함되는 신뢰 구간을 계산할 수 있게 되었으며 X와 Y가 서로 얼마나 상관이 있는지 까지도 알 수 있게 되었지! 대단하지 않아?
다음 시간에는 상관 계수의 성질에 대해 좀 더 살펴 보도록 할게! 안녕!
'데이터 분석 > 파이썬으로 배우는 데이터 분석을 위한 통계학' 카테고리의 다른 글
06-5 상관 계수를 변화시키는 표본 추출 (0) 2022.04.07 06-4 상관 계수의 성질 (0) 2022.04.06 06-2 상관 계수의 유도 : 피어슨 상관 계수, r (feat. 전설의 통계학자들) (0) 2022.04.05 06-1 상관 : RSS와 ESS 혹은 SSE와 SSR 그리고 TSS와 SST 으악! matplotlib을 활용한 데이터 시각화 (0) 2022.04.04 05-6 추정 표준오차와 신뢰구간의 계산 (0) 2022.04.01