728x90

1. COVAR_POP 함수란?
COVAR_POP()은 모집단 공분산(Population Covariance)을 계산하는 Oracle SQL 함수입니다. 두 수치형 열 간의 관계를 측정할 수 있으며, 이는 데이터 간의 선형적 관계를 설명하는 데 활용됩니다.
2. 기본 문법
COVAR_POP(expr1, expr2)
expr1, expr2는 수치형 칼럼이며, NULL은 계산에서 제외됩니다.
3. COVAR_POP의 의미
- 공분산은 두 변수 간의 방향성 관계를 나타냅니다.
- 양수: 한 값이 증가할 때 다른 값도 증가
- 음수: 한 값이 증가할 때 다른 값은 감소
- 0에 가까움: 거의 관계 없음
단, 공분산 값은 단위에 영향을 받기 때문에 절대적 비교보다는 추세나 방향성 판단에 유용합니다.
4. 실전 예제 1: 샘플 데이터 생성
CREATE TABLE employee_performance (
emp_id NUMBER,
productivity NUMBER,
accuracy NUMBER
);
INSERT INTO employee_performance VALUES (1, 80, 85);
INSERT INTO employee_performance VALUES (2, 90, 88);
INSERT INTO employee_performance VALUES (3, 70, 70);
INSERT INTO employee_performance VALUES (4, 60, 65);
INSERT INTO employee_performance VALUES (5, 95, 92);
COMMIT;
5. 실전 예제 2: COVAR_POP 함수 사용
SELECT COVAR_POP(productivity, accuracy) AS covar
FROM employee_performance;
결과는 생산성과 정확도 간의 모집단 공분산 값을 반환합니다.
6. 실전 예제 3: GROUP BY와 함께 사용하기
부서별로 공분산을 계산하고 싶다면 다음과 같이 활용할 수 있습니다.
SELECT department_id,
COVAR_POP(sales, satisfaction) AS dept_cov
FROM customer_feedback
GROUP BY department_id;
7. COVAR_POP vs COVAR_SAMP 차이점
- COVAR_POP(): 모집단 전체의 공분산을 계산
- COVAR_SAMP(): 표본 기반 공분산을 계산 (모집단의 추정을 위해 n-1로 나눔)
모든 데이터를 수집한 경우에는 COVAR_POP이 적절하며, 표본 분석에는 COVAR_SAMP 사용이 권장됩니다.
8. 활용 팁
- 공분산을 CORR 함수와 함께 사용하면 더 명확한 해석 가능
- 상관계수는 단위 영향이 없고, 공분산은 단위에 영향을 받음
- 데이터 전처리 과정에서 이상치나 NULL 값 필터링 중요
9. 자주 묻는 질문 (FAQ)
Q1. 공분산 값이 매우 크거나 작다면 어떻게 해석하나요?
공분산 자체는 방향성을 중심으로 해석해야 하며, 크기의 절댓값보다는 다른 변수와 비교 시 추세를 파악하는 데 유용합니다.
Q2. 공분산이 0이면 관계가 없다는 의미인가요?
선형 관계가 없다는 의미입니다. 하지만 비선형 관계는 존재할 수 있습니다.
10. 참고 자료
- Oracle 공식 문서: https://docs.oracle.com/en/database/
- SQL Functions Reference (Oracle 19c): Oracle COVAR_POP
- W3Schools SQL Reference: https://www.w3schools.com/sql/
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] VAR_SAMP() 함수 완벽 분석 : 표본 분산 계산의 핵심 (0) | 2025.06.02 |
|---|---|
| [ORACLE] COVAR_SAMP() 함수로 샘플 데이터 통계 분석하는 방법 (0) | 2025.06.02 |
| [ORACLE] CORR() 함수로 상관 관계 분석하는 방법과 실전 예제 (0) | 2025.06.02 |
| [ORACLE] NTILE() 함수로 순위 그룹 나누기 완벽 가이드 (0) | 2025.06.01 |
| [ORACLE] CUME_DIST()로 누적 백분위 실무 중심 예제로 배우기 (0) | 2025.06.01 |