ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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/이스케이프_문자

     

    이스케이프 문자 - 위키백과, 우리 모두의 백과사전

    이스케이프 문자는 이스케이프 시퀀스를 따르는 문자들로서 다음 문자가 특수 문자임을 알리는 백슬래시(\)를 사용한다. 일부 제어 시퀀스인 이스케이프 문자들은 미리 예약되어있다. 예약문자

    ko.wikipedia.org

     

     요 문서를 참고하면 돼!

     

    -

     

    피어슨 상관 계수, 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가 서로 얼마나 상관이 있는지 까지도 알 수 있게 되었지! 대단하지 않아?

     

     다음 시간에는 상관 계수의 성질에 대해 좀 더 살펴 보도록 할게! 안녕!

Designed by Tistory.