본문 바로가기

공부/데이터

상관도 분석에 사용되는 방법: 피어슨/스피어만 순위/켄달 순위 상관계수

상관도 분석의 중요성

상관도 분석은 데이터 과학, 통계학, 사회과학 등 다양한 분야에서 중요한 도구이다. 이 분석을 통해 우리는 두 변수 간의 관계를 이해하고, 이를 바탕으로 더 복잡한 분석이나 예측 모델을 구축할 수 있다. 상관 분석은 변수들 사이의 연관성을 파악하고, 이를 통해 데이터에 숨겨진 패턴과 인사이트를 발견하는 데 중요한 역할을 한다.
 

상관 분석의 정의 및 방법

상관 분석은 두 변수 간의 관계의 강도와 방향을 측정하는 통계적 방법이다. 이는 변수들 사이의 선형적 또는 비선형적 관계를 파악하는 데 사용된다. 이러한 분석을 수행하기 위해 주로 사용되는 세 가지 기법이 있다: 피어슨 상관 계수, 스피어만 순위 상관 계수, 그리고 켄달 순위 상관 계수. 각각의 방법은 데이터의 특성과 분석 목적에 따라 선택되며, 서로 다른 관점에서 변수 간의 관계를 해석한다. 이 글에서는 이 세 가지 상관도 분석 방법에 대해 살펴보고, 각각의 특징과 적용 방법에 대해 알아본다.

1. 피어슨 상관 계수 (Pearson Correlation Coefficient)

  • 정의: 피어슨 상관 계수는 두 변수 간의 선형 관계의 강도를 측정한다. 이는 -1에서 +1 사이의 값을 가지며, +1은 완벽한 양의 선형 관계, -1은 완벽한 음의 선형 관계를 나타낸다.
  • 적용 조건: 주로 연속적이고 정규 분포를 따르는 데이터에 적용된다.
  • 수식:

$$r = \frac{\sum (X_i - \bar{X})(Y_i - \bar{Y})}{\sqrt{\sum (X_i - \bar{X})^2 \sum (Y_i - \bar{Y})^2}}$$

  • 파이썬 코드: corr가 기본적으로 지원하는 방법은 pearson이다.
import pandas as pd
df = pd.read_csv('data.csv')
pearson_corr = df.corr(method='pearson')

2. 스피어만 순위 상관 계수 (Spearman's Rank Correlation Coefficient)

  • 정의: 스피어만 순위 상관 계수는 두 변수 간의 단조 관계의 강도를 측정한다. 이는 변수들이 서로 연관되어 있지만 반드시 선형적이지는 않을 때 유용하다.
  • 적용 조건: 비선형 관계나 순위 데이터에 적합하다.
  • 수식:

$$r_s = 1 - \frac{6 \sum d_i^2}{n(n^2 - 1)}$$

  • 파이썬 코드:
spearman_corr = df.corr(method='spearman')

3. 켄달 순위 상관 계수 (Kendall Rank Correlation Coefficient)

  • 정의: 켄달 순위 상관 계수는 두 변수 간의 순위 관계의 강도를 측정한다. 이는 데이터 셋이 작을 때 유용하며, 순위가 비슷한 쌍의 비율을 고려한다.
  • 적용 조건: 작은 데이터셋이나 순위 데이터에 적합하다.
  • 수식:

$$\tau = \frac{2}{n(n-1)} \sum \sum \text{sign}(x_i - x_j) \cdot \text{sign}(y_i - y_j)$$

  • 파이썬 코드: 
kendall_corr = df.corr(method='kendall')

 

각 방법의 적용 상황 및 선택 기준

  • 피어슨 상관 계수는 선형 관계를 가정하는 경우에 적합
  • 스피어만 순위 상관 계수는 비선형 관계나 순위 데이터에 적합
  • 켄달 순위 상관 계수는 작은 데이터셋이나 순위 데이터에 적합