← 문제 목록/피어슨 상관계수
문제 해설

피어슨 상관계수

NumPy 기초 · easy

preview

피어슨 상관계수 (Pearson r)

35번 상관 행렬 은 특성 D개 전체에 대한 행렬이라 한 번에 계산. 실전에선 두 변수 사이의 상관 만 필요한 경우가 자주 있습니다 — 이 때 피어슨 상관계수 (스칼라) 를 구합니다:

r(x,y)=i(xixˉ)(yiyˉ)i(xixˉ)2i(yiyˉ)2r(x, y) = \frac{\sum_i (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_i (x_i - \bar{x})^2} \, \sqrt{\sum_i (y_i - \bar{y})^2}}

해석

  • +1 — 완벽한 양의 선형 관계
  • 0 — 선형 상관 없음 (비선형 관계는 있을 수 있음)
  • -1 — 완벽한 음의 선형 관계
  • 스케일 불변 (둘 다 10배 해도 동일)
  • 평행이동 불변 (상수 더해도 동일)

선형 관계만 포착. 곡선 관계는 r ≈ 0 로 나올 수 있어요 — anscombe 사중주 검색해보세요.

과제

함수 pearson_correlation(x, y) 를 완성하세요.

  • 두 1D 배열 (같은 길이).
  • 반환: Python float, [-1, 1].
  • 한쪽이 상수(표준편차 0) 이면 0.0 반환 (방어).

테스트 케이스

#이름xy기대
1완벽 양[1, 2, 3][2, 4, 6]1.0
2완벽 음[1, 2, 3][6, 4, 2]-1.0
3스케일 불변10x 사용 시 동일유지
4이동 불변x + 5 동일유지
5np.corrcoef 일치무작위값 일치
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.