상관관계의 주의사항

Python으로 시작하는 통계학

Maggie Matsui

Content Developer, DataCamp

비선형 관계

이차 관계를 갖는 변수의 산점도

$$r = 0.18$$

Python으로 시작하는 통계학

비선형 관계

우리가 보는 것:

이차 추세선이 있는 이차 관계 변수의 산점도

상관계수가 보는 것:

선형 추세선이 있는 이차 관계 변수의 산점도

Python으로 시작하는 통계학

상관관계는 선형관계만 반영

상관관계 맹신하지 않기

df['x'].corr(df['y'])
0.081094

항상 데이터 시각화하기

이차 관계를 갖는 변수의 산점도

Python으로 시작하는 통계학

포유류 수면 데이터

print(msleep)
                 name       genus   vore         order  ... sleep_cycle  awake  brainwt   bodywt
1             Cheetah    Acinonyx  carni     Carnivora  ...         NaN   11.9      NaN   50.000
2          Owl monkey       Aotus   omni      Primates  ...         NaN    7.0  0.01550    0.480
3     Mountain beaver  Aplodontia  herbi      Rodentia  ...         NaN    9.6      NaN    1.350
4 Greater short-ta...     Blarina   omni  Soricomorpha  ...    0.133333    9.1  0.00029    0.019
5                 Cow         Bos  herbi  Artiodactyla  ...    0.666667   20.0  0.42300  600.000
..                ...         ...    ...           ...  ...         ...    ...      ...      ...
79         Tree shrew      Tupaia   omni    Scandentia  ...    0.233333   15.1  0.00250    0.104
80 Bottle-nosed do...    Tursiops  carni       Cetacea  ...         NaN   18.8      NaN  173.330
81              Genet     Genetta  carni     Carnivora  ...         NaN   17.7  0.01750    2.000
82         Arctic fox      Vulpes  carni     Carnivora  ...         NaN   11.5  0.04450    3.380
83            Red fox      Vulpes  carni     Carnivora  ...    0.350000   14.2  0.05040    4.230
Python으로 시작하는 통계학

체중 vs. 깨어 있는 시간

체중 vs. 깨어 있는 시간의 산점도

msleep['bodywt'].corr(msleep['awake'])
0.3119801
Python으로 시작하는 통계학

체중의 분포

bodywt 변수의 히스토그램

Python으로 시작하는 통계학

로그 변환

msleep['log_bodywt'] = np.log(msleep['bodywt'])

sns.lmplot(x='log_bodywt', y='awake', data=msleep, ci=None) plt.show() ```
0.5687943

log bodywt vs awake의 산점도

Python으로 시작하는 통계학

기타 변환

  • 로그 변환 (log(x))
  • 제곱근 변환 (sqrt(x))
  • 역수 변환 (1 / x)

  • 이러한 변환의 조합 예:

Python으로 시작하는 통계학

왜 변환을 사용할까?

  • 일부 통계 기법은 변수 간 선형 관계를 가정함
    • 상관계수
    • 선형 회귀

Python으로 시작하는 선형 모델링

Python으로 시작하는 통계학

상관은 인과를 의미하지 않음

            *`x`가 `y`와 상관관계가 있다고 해서* `x`가 `y`의 원인은 **아님**

미국의 1인당 마가린 소비량 vs 메인주 이혼율의 산점도. 두 변수는 상관계수 0.99로 매우 높은 상관관계를 보임

Python으로 시작하는 통계학

교란(confounding)

커피 섭취(x)가 폐암(y)을 가리킴

Python으로 시작하는 통계학

교란(confounding)

상단에 흡연(교란 변수)이 있고 커피 섭취(x)가 폐암(y)을 가리킴.

Python으로 시작하는 통계학

교란(confounding)

흡연(교란 변수)과 함께 커피 섭취(x)가 폐암(y)을 가리킴. "연관성"이라고 표시된 흡연과 커피 섭취 사이의 양방향 화살표.

Python으로 시작하는 통계학

교란(confounding)

흡연(교란 변수)과 함께 커피 섭취(x)가 폐암(y)을 가리킴. "연관성"이라고 표시된 흡연과 커피 섭취 사이의 양방향 화살표. "인과관계"라고 표시된 흡연에서 폐암으로 향하는 화살표.

Python으로 시작하는 통계학

교란(confounding)

"연관성"이라고 표시된 커피 섭취(x)와 폐암(y) 사이의 양방향 화살표. "연관성"이라고 표시된 흡연과 커피 섭취 사이의 양방향 화살표. "인과관계"라고 표시된, 흡연에서 폐암으로 향하는 화살표.

공휴일(x)이 소매 매출(y)을 가리킴. 특별 할인(교란 변수)은 휴일과 양방향 화살표, 소매 매출과는 단방향 화살표로 연결됨.

Python으로 시작하는 통계학

연습해 봅시다!

Python으로 시작하는 통계학

Preparing Video For Download...