상관관계

Python으로 시작하는 통계학

Maggie Matsui

Content Developer, DataCamp

두 변수 간의 관계

포유류의 수면 습관을 나타낸 하루 총 수면 시간 대 하루 REM 수면 시간 산점도

  • x = 설명 변수/독립 변수
  • y = 반응 변수/종속 변수
Python으로 시작하는 통계학

상관계수

  • 두 변수 간의 선형 관계를 정량화함
  • -1과 1 사이의 값
  • 크기는 관계의 강도를 나타냄
  • 부호(+ 또는 -)는 관계의 방향을 나타냄
Python으로 시작하는 통계학

크기 = 관계의 강도

0.99 (매우 강한 관계)

점들이 가상의 선에 매우 가깝게 모여 있는 산점도

Python으로 시작하는 통계학

크기 = 관계의 강도

0.99 (매우 강한 관계)

점들이 가상의 선에 매우 가깝게 모여 있는 산점도

0.75 (강한 관계)

점들이 가상의 선에서 더 멀리 떨어져 있는 산점도

Python으로 시작하는 통계학

크기 = 관계의 강도

0.56 (중간 정도의 관계)

점들이 보이지 않는 선에서 훨씬 더 멀리 떨어져 있는 산점도

Python으로 시작하는 통계학

크기 = 관계의 강도

0.56 (중간 정도의 관계)

점들이 보이지 않는 선에서 훨씬 더 멀리 떨어져 있는 산점도

0.21 (약한 관계)

점들이 거의 완전히 무작위로 흩어져 있는 산점도

Python으로 시작하는 통계학

크기 = 관계의 강도

0.04 (관계 없음)

점들이 완전히 무작위로 흩어져 있는 것처럼 보이는 산점도

  • x의 값을 안다고 해서 y를 알 수 있는 것은 아님
Python으로 시작하는 통계학

부호 = 방향

0.75: x가 증가하면 y도 증가

x가 증가할수록 y도 증가하는 산점도

-0.75: x가 증가하면 y는 감소

x가 증가할수록 y는 감소하는 산점도

Python으로 시작하는 통계학

관계 시각화하기

import seaborn as sns

sns.scatterplot(x="sleep_total", y="sleep_rem", data=msleep)
plt.show()

sleep_rem 대 sleep_total 산점도

Python으로 시작하는 통계학

추세선 추가하기

import seaborn as sns
sns.lmplot(x="sleep_total", y="sleep_rem", data=msleep, ci=None)

plt.show()

선형 추세선이 포함된 sleep_rem 대 sleep_total 산점도

Python으로 시작하는 통계학

상관관계 계산하기

msleep['sleep_total'].corr(msleep['sleep_rem'])
0.751755
msleep['sleep_rem'].corr(msleep['sleep_total'])
0.751755
Python으로 시작하는 통계학

다양한 상관관계 계산법

  • 본 강좌에서 사용: 피어슨 적률 상관계수 ($r$)
    • 가장 일반적임
    • $\bar{x} =$ $x$의 평균
    • $\sigma_x =$ x의 표준편차

$$ r = \frac{1}{n - 1} \sum_{i=1}^{n} \frac{(x_i - \bar{x})(y_i - \bar{y})}{\sigma_x \cdot \sigma_y}$$

  • 다른 방법:
    • 켄달의 타우
    • 스피어만의 로
Python으로 시작하는 통계학

연습해 봅시다!

Python으로 시작하는 통계학

Preparing Video For Download...