기본 콘텐츠로 건너뛰기

파이썬(Python)을 이용한 피어슨 상관계수 구하기

피어슨 상관계수(Pearson correlation coefficient)는 두 변수 간의 상관관계를 확인하기 위한 가장 기본적인 방법이다.
피어슨 상관계수를 사용할 때 주의해야할 사항은 아래와 같다.

- 상관관계가 인과관계를 의미하는 것은 아니다. 단순히 두 변수의 연관성을 확인하는 것이다.
- 두 변수가 정규분포일 때 잘 작동한다. 
- 이상치(outlier)에 민감하므로, 이상치는 제거하는 것이 좋다.
- 두 변수가 완전히 동일하면 피어슨 상관계수는 1.0이다. 완전히 반대방향으로 동일하면 -1.0, 전혀 상관 없으면 0이다.

세부적인 해석은 아래와 같이 한다.
- -1.0과 -0.7 사이이면, 강한 음적 선형관계
- -0.7과 -0.3 사이이면, 뚜렷한 음적 선형관계
- -0.3과 -0.1 사이이면, 약한 음적 선형관계
- -0.1과 +0.1 사이이면, 거의 무시될 수 있는 선형관계
- +0.1과 +0.3 사이이면, 약한 양적 선형관계
- +0.3과 +0.7 사이이면, 뚜렷한 양적 선형관계
- +0.7과 +1.0 사이이면, 강한 양적 선형관계

파이썬을 통해 피어슨 상관계수를 쉽게 구할 수 있다. 예시를 통해 알아보자.
height, weight의 두 변수를 가지는 body라는 DataFrame을 만들었다. DataFrame을 만드는 과정은 아래의 포스트에서 확인할 수 있다. 

body 데이터프레임으로 피어슨 상관계수를 구하는 코드는 아래와 같다. 

1
2
corr = body.corr(method = 'pearson')
corr

Jupyter Notebook으로 구하면 아래와 같은 결과를 얻는다.

표의 행과 열을 살펴보면 "height - height", "weight - weight"는 1이다. "height - weight"는 약 0.79이다.
- "height - height", "weight - weight"는 똑같은 변수이기 때문에 피어슨 상관계수는 1.0이다.
- "height - weight"는 0.79이므로, 강한 양적 선형의 상관관계를 가진다.

끝.

댓글

이 블로그의 인기 게시물

웨딩 드레스 스케치 도안

웨딩 드레스샵 투어를 다니면서 샘플로 드레스를 입는 경우에는 드레스 사진을 찍지 못하게 하는 샵이 많다. ​ 그래서 투어를 돌고 나면 어떤 샵의 어떤 스타일이 신부에게 잘 어울렸는지 헷갈릴 수가 있다. ​ 하지만 투어를 다닐 때 드레스샵에서 입은 드레스의 특징과 느낌을 잘 기록하면 샵을 선택하는 데 도움이 될 수 있다. ​ 드레스 투어를 다닐 때 드레스를 기록할 스케치 도안은 아래 링크에서 확인/다운로드 할 수 있다. 웨딩 드레스 스케치 도안 확인/다운로드 하기 투어를 마친 후 드레스샵과 계약을 하고, 드디어 본식 드레스를 고를 때에는 사진을 찍을 수 있는 경우가 많다. ​ 이 땐 사진을 잘 찍어서 어떤 드레스를 입을지 잘 선택하도록 하자. ​ ​

파이썬(Python)을 이용한 선형 회귀분석(linear regression)

파이썬의 statsmodels 라이브러리를 이용해 간단하게 선형 회귀분석을 해볼 수 있다. 예시를 통해 살펴보자. 먼저 아래와 같이 예시 데이터프레임을 만든다. 1 2 3 4 5 6 7 8 9 10 11 12 import pandas as pd height = [ 170 , 168 , 177 , 181 , 172 , 171 , 169 , 175 , 174 , 178 , 170 , 167 , 177 , 182 , 173 , 171 , 170 , 179 , 175 , 177 , 186 , 166 , 183 , 168 ] weight = [ 70 , 66 , 73 , 77 , 74 , 73 , 69 , 79 , 77 , 80 , 74 , 68 , 71 , 76 , 78 , 72 , 68 , 79 , 77 , 81 , 84 , 73 , 78 , 69 ] body = pd . DataFrame( { 'height' : height, 'weight' : weight } ) body . tail() 위 코드에 대한 설명은 "파이썬(Python) Pandas를 이용한 데이터프레임(DataFrame) 만들기" 포스팅을 통해 확인할 수 있다. 위 코드를 Jupyter Notebook을 통해 실행해보면 아래와 같이 데이터 프레임이 만들어진 것을 확인할 수 있다. 선형 회귀분석은 아래와 같은 가정을 만족해야 한다. 선형 회귀분석을 할 때에는 데이터가 아래의 가정을 따르는지 먼저 생각해보는 습관을 기르자. - 변수의 선형 상관관계 : 선형 회귀분석은 종속변수(Y)와 독립변수(X)가 선형의 상관 관계를 가지는 것을 가정한다. 선형의 상관관계가 아닐 경우, 다른 회귀분석 방법을 사용하거나, 새로운 변수를 추가하거나, 기존의 변수를 로그, 지수등의 방법으...