본문 바로가기
Database/Oracle

[ORACLE] CORR() 함수로 상관 관계 분석하는 방법과 실전 예제

by Papa Martino V 2025. 6. 2.
728x90

 

오라클 CORR() 함수로 상관관계 분석하는 방법과 실전 예제
[Oracle] CORR

 

1. CORR 함수란?

CORR는 Correlation coefficient (상관계수)를 의미하며, -1부터 1까지의 값을 반환합니다. 이는 두 변수 간의 선형 상관관계를 측정합니다.

  • +1: 완벽한 양의 상관관계
  • 0: 상관관계 없음
  • -1: 완벽한 음의 상관관계

2. 기본 문법

CORR(expr1, expr2)

expr1expr2는 수치형 칼럼이어야 하며, NULL은 무시됩니다.

3. 실전 예제 1: 샘플 데이터 생성

CREATE TABLE sales_data (
  month VARCHAR2(10),
  product_a_sales NUMBER,
  product_b_sales NUMBER
);

INSERT INTO sales_data VALUES ('Jan', 100, 90);
INSERT INTO sales_data VALUES ('Feb', 150, 130);
INSERT INTO sales_data VALUES ('Mar', 200, 180);
INSERT INTO sales_data VALUES ('Apr', 250, 240);
INSERT INTO sales_data VALUES ('May', 300, 280);
COMMIT;

4. 실전 예제 2: CORR 함수 사용

SELECT CORR(product_a_sales, product_b_sales) AS correlation
FROM sales_data;

위 쿼리는 product_a_salesproduct_b_sales 간의 상관계수를 계산합니다.

5. 실전 예제 3: 그룹별 상관계수 계산

여러 그룹이 존재할 경우, GROUP BY와 함께 사용할 수 있습니다:

SELECT region, CORR(sales_q1, sales_q2) AS corr_value
FROM regional_sales
GROUP BY region;

6. 활용 팁

  • 상관계수가 높다고 인과관계가 있는 것은 아닙니다.
  • NULL이 포함된 행은 계산에서 제외됩니다.
  • 데이터가 정규 분포를 따르지 않거나 이상치가 많다면 해석에 주의가 필요합니다.

7. 자주 묻는 질문 (FAQ)

Q1. CORR과 COVAR의 차이점은?

COVAR는 공분산을 계산하며, 단위에 영향을 받습니다. CORR은 단위에 관계없이 상관관계를 측정합니다.

Q2. 상관계수 결과가 NULL인 경우는?

두열 모두 NULL이거나 데이터 쌍이 존재하지 않을 경우 NULL을 반환합니다.

8. 참고 자료

728x90