시작하기무료로 시작하기

공분산 vs 상관계수

공분산은 두 변수가 함께 변화(“변동”)하는지를 나타내는 척도예요. 앞선 연습 문제에서 본 편차의 점별 곱 dx[n]*dy[n]을 구한 뒤, 그 곱들의 평균을 계산해 얻습니다.

상관계수는 본질적으로 정규화된 공분산이에요. 이 연습 문제에서는 서로 강한 상관이 있는 두 개의 데이터 배열이 주어지며, covariancecorrelation 둘 다를 시각화하고 계산해 볼 거예요.

이 연습은 강의의 일부입니다

Python으로 배우는 선형 모델 입문

강의 보기

연습 안내

  • np.mean()으로 평균을 구해 빼서 편차 dx, dy를 계산하고, 그들의 곱 dx*dy의 평균을 covariance로 계산하세요.
  • np.std()로 표준편차를 구해 나누어 정규화된 편차 zx, zy를 계산하고, 그들의 곱 zx*zy의 평균을 correlation으로 계산하세요.
  • plot_normalized_deviations(zx, zy)로 정규화된 편차의 곱을 그려 보고, 시각적으로 상관계수 값과 비교해 보세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Compute the covariance from the deviations.
dx = x - np.____(x)
dy = y - np.____(y)
covariance = np.____(____ * ____)
print("Covariance: ", covariance)

# Compute the correlation from the normalized deviations.
zx = dx / np.____(x)
zy = dy / np.____(y)
correlation = np.____(____ * ____)
print("Correlation: ", correlation)

# Plot the normalized deviations for visual inspection. 
fig = plot_normalized_deviations(zx, zy)
코드 편집 및 실행