본문 바로가기

데이터마이닝

피어슨 상관계수 검정 구현 - python

728x90

아래 코드는 Python에서 SciPy 라이브러리를 사용하여 두 변수 간의 피어슨 상관계수와 이 상관계수의 유의성을 검정하는 방법을 보여줍니다.

 

import numpy as np
from scipy.stats import pearsonr

# 임의의 데이터 생성
# 예를 들어, x와 y는 연구에서 수집한 두 변수의 값일 수 있습니다.
x = np.array([10, 20, 30, 40, 50])
y = np.array([15, 25, 35, 45, 55])

# 피어슨 상관계수 및 p-value 계산
correlation, p_value = pearsonr(x, y)

# 결과 출력
print(f'피어슨 상관계수: {correlation:.3f}')
print(f'p-value: {p_value:.3f}')

# 상관계수의 유의성 검정 결과 해석
if p_value < 0.05:
    print('두 변수 간의 상관관계는 통계적으로 유의미합니다.')
else:
    print('두 변수 간의 상관관계는 통계적으로 유의미하지 않습니다.')

코드 설명

  • pearsonr() 함수는 두 배열을 인자로 받아, 피어슨 상관계수와 해당 상관계수의 유의성을 검정하기 위한 p-value를 반환합니다.
  • correlation은 두 변수 사이의 상관계수를 나타냅니다. 이 값이 1에 가까울수록 완벽한 양의 선형 관계를, -1에 가까울수록 완벽한 음의 선형 관계를, 0은 선형 관계가 없음을 의미합니다.
  • p_value는 상관계수가 0이 아닌지 검정하는 데 사용됩니다. p-value가 0.05 미만이면 두 변수 사이의 상관관계가 통계적으로 유의미하다고 해석합니다.