'피어슨'에 해당되는 글 1건

  1. 2019.11.21 :: [파이썬] 상관분석 (Correlation Analysis)
Python 파이썬 2019. 11. 21. 17:36

상관분석(Correlation Analysis)

 

상관분석은 두 변수간에 어떤 선형적 또는 비선형적 관계를 갖고 있는지를 분석하는 방법입니다.

두 변수간의 관계의 강도를 상관관계라고 하며, 그 정도를 파악하는 것을 상관 계수라고 합니다.

상관계수는 두 변수간의 연관된 정도를 나타낼 뿐 인과관계를 설명하는 것은 아닙니다.

 

 

이제 파이썬에서 상관분석을 하는 법을 알아보겠습니다.

 

우선 판다스를 불러옵니다.

import pandas as pd

 

그 후 데이터 프레임을 불러오거나 제작합니다.

저는 일단, 가상의 데이터를 만들겠습니다.

df = pd.DataFrame({"v1":[100,200,300,400], "v2":[400,200,100,250], "v3":[40,60,60,100]})

 

이제 상관분석을 하겠습니다. 저는 피어슨 상관 계수를 사용하겠습니다.

corr = df.corr(method = 'pearson')
corr

 

피어슨의 상관계수는 일반적으로,

  값이 -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 이면, 강한 양적 상관관계

로 해석됩니다.

 

이제 상관분석을 시각화 하겠습니다.

matplotlib은 파이썬에서 기본적인 차트를 쉽게 그릴 수 있도록 도와주는 데이터 시각화 라이브러리입니다.

seaborn은 matplotlib을 기반으로 만들어져 통계 데이터 시각화에 최적화된 라이브러리입니다.

 

이 두 개를 불러옵니다.

import matplotlib.pyplot as plt
import seaborn as sns

 

그 후, 상관분석에 대한 히트맵을 그립니다.

df_heatmap = sns.heatmap(corr, cbar = True, annot = True, annot_kws={'size' : 20}, 
                         fmt = '.2f', square = True, cmap = 'Blues')

cbar는 오른쪽에 있는 막대(범주)를 표시하는 것입니다.

annot는 상관계수를 표시합니다.

annot_kws는 상관계수의 글자 크기를 지정합니다.

fmt 는 상관계수의 소수점 자리수를 지정합니다.

square는 정사각형으로 지정하는 것이며, False로 설정 시 직사각형이 됩니다.

cmap은 색상을 지정합니다.

 

posted by 스노(Snow)
: