공분산 vs 상관계수
공분산은 두 변수가 함께 변화(“변동”)하는지를 나타내는 척도예요. 앞선 연습 문제에서 본 편차의 점별 곱 dx[n]*dy[n]을 구한 뒤, 그 곱들의 평균을 계산해 얻습니다.
상관계수는 본질적으로 정규화된 공분산이에요. 이 연습 문제에서는 서로 강한 상관이 있는 두 개의 데이터 배열이 주어지며, covariance와 correlation 둘 다를 시각화하고 계산해 볼 거예요.

이 연습은 강의의 일부입니다
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)