☑️ 펭귄 날개와 몸무게의 상관 계수
[문제]
- 펭귄 날개와 몸무게의 피어슨 상관 계수 계산하기
- 소수점 3째 까지
[문제 풀이]
내 코드
WITH avgg as (
SELECT species
,flipper_length_mm - AVG(flipper_length_mm) OVER (PARTITION BY species) AS dev_flipper
,body_mass_g - AVG(body_mass_g) OVER (PARTITION BY species) AS dev_body
FROM penguins
)
SELECT species
,ROUND(SUM(dev_flipper * dev_body)
/ (SQRT(SUM(dev_flipper*dev_flipper)) * SQRT(SUM(dev_body*dev_body))),3) AS corr
FROM avgg
GROUP BY species
해결 과정
- 피어슨 상관계수 : 두변수의 공분산을 각각의 표준편차의 곱으로 나눈 값
- 문제에서 선형 상관관계가 있다고 언급했으므로 따로 선형성 검증은 생략
- 아이디어 : 변수의 편차를 계산한 컬럼을 저장한 후 공분산/표준편차 집계 하기
- 특이사항 : MYSQL 에는 파이썬과 기타 프로그래밍 언어와 다르게 상관계수 구하는 함수가 없음 (EX. corr) 직접 구해줘야함
- 제곱함수 : pow(컬럼, n) → pow 함수 사용하여 제곱 계산 가능
-- corr
-- pow 함수로 제곱계산
ROUND(SUM(dev_flipper * dev_body) / (SQRT(SUM(POW(dev_flipper,2))) *SQRT(SUM(POW(dev_body,2)))),3) AS corr
한줄 포인트
- 피어슨 상관계수 : 두 변수의 공분산 / (각각의 표준편차)^
피어슨 상관 계수 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전.
ko.wikipedia.org
'SQL' 카테고리의 다른 글
코테준비 | MYSQL 행정구역별 주소 데이터 분리하기 (문자열 SPLIT 하기- SUBSTRING_INDEX) (0) | 2025.03.05 |
---|---|
QCC | 5회차 코드 리뷰 & 피드백 (0) | 2025.02.28 |
코테 준비 | 폐쇄할 따릉이 정류소 찾기 2 (union all) (0) | 2025.02.27 |
코테준비 | Top earners/Weather Observation Station 13~18(+해커랭크 SQL 모든 문제 해결 완료) (0) | 2025.02.18 |
코테준비 | 15 Days of Learning SQL (+해커랭크 고 난이도, where 절 연관 서브쿼리 활용) (0) | 2025.02.13 |