본문 바로가기
Part1. 딥러닝 시작 전/Chapter 1. 통계

6. 공분산과 상관계수

by 썸mer 2023. 7. 5.

 

 

확률 변수가 하나 일 때는 분산을 쉽게 계산할 수 있다. (이전 포스팅 참조)

그럼 다변수 확률분포의 분산은 어떻게 계산할까?

 

 

 

공분산: 다변수 확률분포의 분산.

  • N개의 데이터가 2개의 확률변수 X, Y에 연관되어 있다고 할 때 공분산은 아래와 같다. 
    • µxx의 평균, µyy의 평균.

공분산 공식

  • 크기: 분산과 같이, 데이터가 평균으로부터 얼마나 떨어져 있는지를 나타냄.
  • 기하학적 해석: 공분산은 평균값의 위치와 표본 위치 사이의 사각형 면적의 합.

공분산의 기하학적 해석

  • 분산과 공분산의 차이점: 공분산의 경우 데이터의 위치에 따라 부호가 음수가 될 수 있음. 
    • 부호: 양수/음수에 따라 데이터가 어느 방향을 가지는지 알 수 있음.

 

 

 

 


 

 

상관계수: 공분산에서 '크기'보다 '상관성'(방향성, 부호)만 집중해서 볼 때 이용.

  • 정규화(크기 특징을 없앰)를 통해 피어슨 상관계수를 구할 수 있음.
  • Sx^2는 x의 분산, Sy^2는 y의 분산, Sxy는 x와 y의 공분산.

피어슨 상관계수

  • 피어슨 상관계수의 범위는 항상 -1~1 사이.
    • 절댓값이 클수록 연관성이 크다

 

 

 


 

정리

 

두 확률 변수 X와 Y의 공분산은 Cov[X, Y]로 정의된다.

  • µ(평균)은 E[X](기댓값)와 같다. 
  • Cov[X, Y] = E[(X - E[X])(Y - E[Y])]

두 확률변수 X와 Y의 상관계수는 ρ[X, Y]로 정의된다. 

  • ρ는 -1과 1 사이의 값이다. 

X와 Y의 피어슨 상관계수

 

 


 

 

공분산 행렬(Covariance Matrix)

  • 기계학습에서는 다변수 확률변수를 가정하는 경우가 많음. 
  • : 얼굴 데이터를 3차원의 벡터로 표현 가능. x = [얼굴 길이, 코 길이, 입술 두께]. N개의 데이터를 행렬로 표현하면 전체 데이터 X는 다음과 같다. 

N x 3 데이터 행렬

  • 데이터 X에서 공분산 행렬은 각 데이터 변수 간의 상관관계를 나타냄.
    • 예를 들어 얼굴의 길이과 코 길이의 상관관계를 알 수 있다. 

데이터 X의 공분산 행렬

  • 공분산 행렬은 대칭행렬이다. 
  • N개의 데이터가 있고, 각 데이터는 d개의 특징이 있을 때 공분산 행렬은 아래와 같다.
    • 대각 성분(diagonal): 각 확률변수의 분산.
    • 비대각 성분(off-diagonal): 두 확률변수의 공분산.

N x d 데이터 행렬의 공분산 행렬

  • 파이썬에서 np.cov()를 이용하면 공분산을 쉽게 구할 수 있음. 즉, 변수간 상관관계를 쉽게 알 수 있다.

 


 

 

독립 사건과 공분산

독립사건: 두 사건 A와 B가 동시에 일어날 때, 한 사건의 결과가 다른 사건에 영향을 주지 않는 경우. (3번 포스팅 참조)

  1. (두 확률 변수 X, Y가 독립) → (공분산 Cov[X, Y] = 0)
  2. 하지만 공분산이 0이라고 해서 두 확률 변수가 항상 독립인 것은 아니다.