Skip to main content

상관 분석

상관 계수 정의

  • 두 변수선형적 연관성 정도를 -1 ~ +1 범위 수치로 나타낸 값.
  • 두 변수 연관성 파악 위해 사용.
    • 예: 어휘력-독해력, 주가-금 가격, 엔진 성능-고객 만족도 관계.

상관계수 해석

  • 부호 (Direction):
    • +: 양의 상관. 두 변수 같은 방향 변화 (하나 증가 시 다른 하나도 증가).
    • -: 음의 상관. 두 변수 반대 방향 변화 (하나 증가 시 다른 하나는 감소).
  • 크기 (Strength): 절대값 기준.
    • 0: 선형 관계 없음. 한 변수 변화로 다른 변수 변화 예측 불가 (독립일 수 있음).
    • 1 (또는 -1): 완벽한 선형 관계. 한 변수 변화로 다른 변수 변화 정확히 예측 가능.

기울기 vs. 상관계수

  • 기울기 (Slope): 직선 방정식 y = ax + b 에서 a.
    • x가 1만큼 변할 때 y변화량.
    • 기울기 클수록 x 변화에 따른 y 변화 크기 큼.
  • 상관계수: 두 변수 간 선형 관계의 밀접성(데이터가 직선 주위에 얼마나 모여 있는지).
  • 둘은 다른 개념. 기울기 크기와 상관계수 크기는 직접 관련 없음.
    • 기울기 커도 데이터 흩어져 있으면 상관계수 낮을 수 있음.
    • 기울기 작아도 데이터 직선에 가깝게 모여 있으면 상관계수 높을 수 있음.

공분산 (Covariance)

  • X의 편차(X - X̄)와 Y의 편차(Y - Ȳ)를 곱한 것의 평균 (표본 공분산은 N-1로 나눔). cov(X,Y) = Σ[(Xi - X̄)(Yi - Ȳ)] / (N - 1)
  • 해석:
    • + 값: 두 변수 같은 방향 변화 경향 (우상향).
    • - 값: 두 변수 반대 방향 변화 경향 (우하향).
  • 단점: 단위에 따라 값 크기 달라져 해석 어려움. (예: 키(cm)와 몸무게(kg) 공분산 vs 키(m)와 몸무게(kg) 공분산)

피어슨 적률 상관계수 (Pearson Correlation Coefficient, r)

  • 가장 대표적인 상관계수. 보통 '상관계수'라고 하면 피어슨 상관계수 의미.
  • 계산: 공분산을 각 변수의 표준편차 곱으로 나눈 값. r = cov(X, Y) / (σₓ * σ<0xE1><0xB5><0xA3>)
  • 결과: 단위 영향 제거. 항상 -1 ~ +1 범위 값 가짐.
  • 측정 대상: 두 변수 간의 선형적 관계 강도.

상관계수와 비선형 관계

  • (피어슨) 상관계수는 선형적 관계(우상향 또는 우하향 직선 관계)만 잘 표현함.
  • 복잡한 비선형(곡선) 관계는 잘 나타내지 못함.
  • 주의: 상관계수 낮다(0에 가깝다)고 해서 두 변수 간 아무 관계도 없는 것은 아님. 비선형 관계 있을 수 있음.

상관분석 가설검정

  • 귀무가설 (H₀): 모집단에서 상관계수 = 0 (두 변수 간 선형 관계 없음).
  • 대립가설 (H₁): 모집단에서 상관계수 ≠ 0 (두 변수 간 선형 관계 있음).
  • 판단: p-value < 유의수준 (α) 이면 귀무가설 기각. 통계적으로 유의한 상관관계 있다고 판단.

상관계수의 신뢰구간

  • 모집단 상관계수가 존재할 것으로 추정되는 범위.
  • 해석:
    • + ~ +: 모집단에서 양(+)의 상관관계 추정.
    • - ~ +: 신뢰구간에 0 포함. 모집단 관계가 양, 음, 0 모두 가능성 있음 (통계적으로 유의하지 않음).
    • - ~ -: 모집단에서 음(-)의 상관관계 추정.

상관계수 크기 해석 기준 (주의 필요)

  • Cohen(1988) 등의 권장 기준 (엄밀한 근거 기반 아님, 참고용):
    • 낮음: ~ 0.1
    • 중간: 0.1 ~ 0.5
    • 높음: 0.5 ~
  • 실제 활용: 절대 기준보다 상대적 비교가 더 바람직.
    • 예: 고객 만족도와 상관 0.2인 요소 A, 0.3인 요소 B 중 하나 선택해야 한다면, 상관 더 높은 B 고려.

Python 상관 분석

import pingouin as pg

# price와 mileage 간 상관분석 수행
pg.corr(df.price, df.mileage)
  • 결과 해석:
    • r: 표본 상관계수.
    • CI95%: 95% 신뢰구간.
    • p-val: p-value.

Python 상관 행렬

# 데이터프레임 df에서 연속형 변수들 간 상관계수 행렬 구하기
df.corr(numeric_only=True) # numeric_only=True: 숫자형 열만 선택
  • 결과: 각 변수 쌍 간 상관계수를 표(행렬) 형태로 보여줌.

산점도 (Scatter Plot)

  • 두 연속형 변수 간 관계 시각화하는 가장 기본적인 그래프.
  • 점으로 데이터 분포, 관계 형태(선형/비선형), 방향, 강도 파악 도움.
import seaborn as sns

# mileage(x축)와 price(y축) 간 산점도 그리기
sns.scatterplot(x='mileage', y='price', data=df)

현대 포트폴리오 이론 (Modern Portfolio Theory, MPT)

  • (해리 마코위츠, 1952) 금융 자산 투자 이론. 상관계수 개념 중요하게 활용.
  • 핵심: 개별 자산 수익률뿐 아니라 자산 간 상관관계 가 포트폴리오 전체 위험에 영향 줌.
  • 원리: 상관관계 낮은 자산들로 포트폴리오 구성하면, 개별 자산 위험 합보다 전체 포트폴리오 위험 낮출 수 있음 (분산 투자 효과). 동일 기대 수익률에서 더 낮은 위험 달성 가능.

퀴즈