
REGR_SYY() 함수는 Oracle SQL에서 회귀 분석 시 사용되는 통계 함수 중 하나로, 종속 변수(y)의 편차 제곱합(Sum of Squares of Deviations)을 반환합니다. 이는 회귀 분석의 신뢰도와 설명력을 판단할 수 있는 중요한 지표입니다.
1. REGR_SYY 함수란?
REGR_SYY는 주어진 y 값(종속 변수)의 평균과의 편차 제곱합을 계산하는 함수입니다. 수학적으로는 다음과 같이 표현됩니다:
REGR_SYY(y, x) = ∑(y_i - 평균_y)^2
REGR_SYY는 회귀 분석에서 결정계수(R²) 계산 등에 사용됩니다.
2. 기본 문법
REGR_SYY(y_expr, x_expr)
- y_expr: 종속 변수
- x_expr: 독립 변수
두 인자 모두 수치형이어야 하며, NULL이 아닌 쌍만 계산에 포함됩니다.
3. 사용 예제: 판매 예측
다음은 Oracle SQL을 사용하여 REGR_SYY를 활용하는 예제입니다.
CREATE TABLE sales_data (
product_id NUMBER,
ad_budget NUMBER,
sales NUMBER
);
INSERT INTO sales_data VALUES (1, 100, 200);
INSERT INTO sales_data VALUES (2, 200, 400);
INSERT INTO sales_data VALUES (3, 300, 600);
INSERT INTO sales_data VALUES (4, 400, 800);
COMMIT;
이제 REGR_SYY 함수를 사용하여 종속 변수 sales의 편차 제곱합을 구해보겠습니다.
SELECT REGR_SYY(sales, ad_budget) AS syy
FROM sales_data;
이 결과는 sales의 평균 대비 각 값의 제곱된 차이를 합산한 값입니다.
4. 그룹별 REGR_SYY 사용 예제
다음은 부서별로 REGR_SYY를 분석하는 예제입니다.
CREATE TABLE dept_sales (
dept_id NUMBER,
marketing_spend NUMBER,
revenue NUMBER
);
SELECT dept_id,
REGR_SYY(revenue, marketing_spend) AS syy_by_dept
FROM dept_sales
GROUP BY dept_id;
이 쿼리는 각 부서별 마케팅 지출과 매출 사이의 매출 분산을 분석합니다.
5. REGR_SYY vs VAR_POP 차이
| 비교 항목 | REGR_SYY | VAR_POP |
|---|---|---|
| 입력 조건 | x, y 모두 유효한 값 필요 | y만 유효한 값 필요 |
| 용도 | 회귀 분석용 | 일반 분산 계산용 |
| 반환 값 | y 편차 제곱합 | y의 분산 |
6. REGR_SYY와 결정계수(R²) 관계
결정계수(R²)는 회귀 모델의 설명력을 나타내며, 다음 공식으로 계산됩니다:
R² = REGR_R2(y, x) = 1 - (REGR_SSE / REGR_SYY)
여기서 REGR_SYY는 전체 분산을 의미합니다. 즉, REGR_SYY가 클수록 y 값이 다양하게 분포된 것을 의미하며, 모델의 예측력이 낮으면 R²가 작아집니다.
7. 자주 묻는 질문 (FAQ)
Q1. REGR_SYY가 NULL을 반환하는 이유는?
y와 x 중 하나라도 NULL인 경우 해당 행은 제외되며, 유효한 쌍이 없으면 NULL 반환됩니다.
Q2. 데이터가 적을 때 사용할 수 있나요?
통계적으로 유의미한 결과를 얻기 위해서는 최소 2개 이상의 유효한 데이터 쌍이 필요합니다.
8. 참고 자료
- Oracle 공식 문서: https://docs.oracle.com/en/database/
- Oracle 19c SQL Reference - REGR_SYY: 링크 바로가기
- Oracle Regression Functions Overview: Statistical Functions
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] CONCAT() 함수로 텍스트 데이터 처리하는 법 (0) | 2025.06.03 |
|---|---|
| [ORACLE] REGR_SXY() 함수로 두 변수 간 선형 회귀 분석하기 (0) | 2025.06.03 |
| [ORACLE] REGR_SXX() 함수로 데이터 분산 분석 자동화하기 (0) | 2025.06.02 |
| [ORACLE] REGR_AVGY() 함수로 회귀 분석 평균 Y값 활용 법 (0) | 2025.06.02 |
| [ORACLE] REGR_R2() 함수로 회귀 분석의 신뢰도 측정하는 법 (0) | 2025.06.02 |