기타/통계, 머신러닝

분산 -> 공분산 -> 상관관계 : 개념 빌드업해서 이해하기

baektree 2025. 12. 3. 16:33

피어슨 상관계수란?

  • 두 변수의 강도와 방향을 하나의 숫자로 나타낸 것이다.
  • 칼 피어슨(Karl Pearson)이 개발하여 피어슨 상관계수라고 한다.
  • 값은 -1에서 +1 사이의 숫자로 표현할 수 있다.

 

상관계수 값의 의미

  • +1에 가까울수록: 강한 양의 상관관계
    • 주행거리 증가 → 주유비 증가
    • 공부시간이 증가 → 성적이 증가
  • 0에 가까울수록: 상관관계가 없음
    • 신발 사이즈와 수학점수
    • 어제 내린 비의 양과 오늘 점심 메뉴
  • -1에 가까울수록: 강한 음의 상관관계
    • 운동 횟수 증가 → 체지방 감소
    • 상품 가격 증가 → 판매량 감소
현업에선
0.7이상이면, 꽤 강력한 관계가 있다고 해석
0.3~0.7사이면, 어느 정도 경향이 있다고 해석 

 

실무활용사례

  • 마케팅
    • 웹사이트 체류시간과 결제 금액
      • 웹사이트에 오래 머물수록 고객이 실제로 더 많은 돈을 쓰는지 분석
      • 상관관계가 확인되면, 체류시간을 늘리는 이벤트를 기획
    • 할인율과 판매량
      • 할인율 10% 인상 시 판매량이 얼마나 늘어나는지 파악
      • 적정 할인율 모색
  • 금융/핀테크
    • 신용 점수와 연체율
      • 신용점수가 낮을수록 연쳬율이 높은지 분석
      • 이를 활용해 대출 심사 기준을 제작

 

분석할 시 주의점

  1. 상관관계는 인과관계가 아니다.
    • 여름에 아이스크림 판매량이 늘면 익명 사고도 늘어난다. (양의 상관관계)
    • 그러나 아이스크림을 먹으면 물에 빠져 죽는다고 해석하면 안된다.
    • 실제 원인은 ‘날씨가 더워서’ 발생한 일이기 때문이다.
  2. 이상치에 아주 민감하다.
    • 대부분의 데이터가 패턴을 잘 따르다가도, 엄청나게 특이한 값 하나가 있으면 상관계수가 확 왜곡될 수 있다.
    • 따라서 분석전에 산점도를 꼭 그려봐야 한다.
  3. 직선관계만 보여준다.
    • 데이터가 U자 모양(처음엔 떨어지다가 나중에 올라가는 형태)이라면, 분명 관계가 있음에도 상관계수는 0에 가깝게 나올 수 있다.
    • 상관관계는 오직 선형관계만 설명해주기 때문이다.

 

상관계수 공식 도출 과정

  1. 분산 (Variance) : 데이터의 흩어짐 정도

 

  • 분산은 편차 제곱의 합을 데이터의 개수로 나눈 값
  • 단위가 제곱되어 있음

2. 공분산 (Covariance) : 두 변수의 관계 (방향만)

  • X의 편차와 Y의 편차를 곱한 것들의 평균
  • 하나가 평균이상(+)이면 다른애(+)도 평균이상이다 → (+)
  • 하나가 평균이상(+)인데 다른애(-)는 평균이하이다. → (-)
  • 키와 몸무게의 공분산을 볼 때, 평균보다 10cm 크고 평균보다 5kg 많다고 가정,
    두개를 곱하면 양수이므로 키와 몸무게는 같은 방향으로 움직인다고 해석
  • 이 모든 변량 값 ( +, -, +, +, - ) 모두 더하는 방식임
  • 단위의 영향을 크게 받으므로 이를 제거하기 위해 공분산에 각 표준편차로 나누어줌으로써 표준화(정규화)한 것이 상관계수임.

3. 상관계수 (Correlation Coefficient) : 두 변수의 관계 (방향과 강도)

  • 공분산에 표준편차 곱으로 나눈 값
  • 공분산을 구한 뒤 X와 Y 각각의 표준편차 곱으로 나누어, 값을 -1에서 +1로 가둔 것
예시

**'공부 시간(X)'**과 '시험 점수(Y)' 딱 3명만 데리고 계산. 이는 정비례 관계임**

[데이터]
• 학생 A: 1시간 공부 → 10점
• 학생 B: 2시간 공부 → 20점
• 학생 C: 3시간 공부 → 30점

[1단계] 평균 구하기
• 공부 시간 평균(X): (1+2+3) ÷ 3 = 2시간
• 시험 점수 평균(Y): (10+20+30) ÷ 3 = 20점

[2단계] 분자 구하기(공분산의 핵심: 같이 움직인 정도)
각 학생별로 (공부 편차) × (점수 편차)를 구해서 다 더해.
• A: (1 - 2) × (10 - 20) = (-1) × (-10) = 10
• B: (2 - 2) × (20 - 20) = (0) × (0) = 0
• C: (3 - 2) × (30 - 20) = (+1) × (+10) = 10
• 분자 합계: 10 + 0 + 10 = 20

[3단계] 분모 구하기 (각자의 덩치: 표준편차 부분)
각 변수가 혼자서 얼마나 움직였는지(제곱) 구해서 루트를 씌워.
• 공부 시간(X) 움직임: $(-1)^2 + 0^2 + 1^2 = 1 + 0 + 1 = 2$
•시험 점수(Y) 움직임: $(-10)^2 + 0^2 + 10^2 = 100 + 0 + 100 = 200$
• 분모 계산: $\sqrt{2} \times \sqrt{200} = \sqrt{400} = \mathbf{20}$

[4단계] 최종 상관계수(r) 계산 자, 이제 분자를 분모로 나누면 끝
• 식: $20 \text{ (분자)} \div 20 \text{ (분모)}$ = 1

이는 공부와 시험성적 사이에 강력한 양의 상관관계를 의미