[업무 지식]/Statistics
[피어슨 상관계수] 상관관계
에디터 윤슬
2024. 11. 12. 15:54
피어슨 상관계수란?
- 두 연속형 변수 간의 선형관계를 측정하는 지표
- -1에서 1사이의 값을 가진다
- 1은 완전한 양의 선형 관계
- -1은 완전한 음의 선형 관계
- 0은 선형 관계가 없음을 의미
- 비선형 관계에선 사용할 수 없음
파이썬 실습
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import pearsonr
# 예시 데이터 생성
np.random.seed(0)
study_hours = np.random.rand(100) * 10
exam_scores = 3 * study_hours + np.random.randn(100) * 5
# 데이터프레임 생성
df = pd.DataFrame({'Study Hours': study_hours, 'Exam Scores': exam_scores})
df
# 피어슨 상관계수 계산
pearson_corr, _ = pearsonr(df['Study Hours'], df['Exam Scores'])
print(f"피어슨 상관계수: {pearson_corr}")
피어슨 상관계수: 0.8642702080660164
pearsonr: 두 연속형 변수 간의 피어슨 상관계수를 계산하는 함수입니다.
출력된 피어슨 상관계수는 약 0.86으로, 이는 공부 시간과 시험 점수 간에 강한 양의 상관 관계가 있음을 의미합니다.
# 상관관계 히트맵 시각화
sns.heatmap(df.corr(), annot=True, cmap='coolwarm', vmin=-1, vmax=1)
plt.title('pearson coefficient heatmap')
plt.show()
df.corr(): 데이터프레임 내 각 열 간의 상관 계수를 계산합니다.
sns.heatmap(): 히트맵을 그려주는 함수로, annot=True는 각 셀에 숫자를 표시하고, cmap='coolwarm'은 색상 팔레트를 설정하며, vmin=-1, vmax=1은 색상의 범위를 설정합니다.
결과적으로, 공부 시간과 시험 점수 간의 양의 상관 관계를 시각적으로 확인할 수 있습니다.