REGR_SXX() 함수는 Oracle SQL에서 회귀 분석을 위한 통계 함수로, 독립 변수(x)의 편차 제곱합(Sum of Squares of Deviations)을 계산합니다. 이는 단순 분산 개념을 넘어, 회귀 분석 시 분모 역할을 하며, 기울기(Slope)를 구할 때 필수로 사용됩니다.
1. REGR_SXX 함수란?
REGR_SXX는 x 값의 제곱 편차합
을 구합니다. 이는 ∑(x - 평균_x)^2
으로, 회귀선의 기울기를 구하는 데 필요한 통계량입니다. REGR_SLOPE는 REGR_SXY / REGR_SXX로 계산됩니다.
2. 기본 문법
REGR_SXX(y_expr, x_expr)
y_expr: 종속 변수, x_expr: 독립 변수. 두 인자 모두 수치형이어야 하며, 둘 다 NULL이 아닌 행만 포함됩니다.
3. REGR_SXX의 수학적 의미
REGR_SXX는 다음과 같은 수식으로 정의됩니다:
REGR_SXX(y, x) = ∑(x_i - 평균_x)^2
이는 회귀식에서 분산을 나타내며, 회귀 기울기 계산의 분모가 됩니다.
4. 실전 예제 1: 학생 성적 분석
CREATE TABLE student_scores (
student_id NUMBER,
study_hours NUMBER, -- 독립 변수 x
score NUMBER -- 종속 변수 y
);
INSERT INTO student_scores VALUES (1, 1, 55);
INSERT INTO student_scores VALUES (2, 2, 65);
INSERT INTO student_scores VALUES (3, 3, 70);
INSERT INTO student_scores VALUES (4, 4, 80);
INSERT INTO student_scores VALUES (5, 5, 90);
COMMIT;
위 데이터를 바탕으로 학습 시간에 따른 성적의 회귀분석을 수행할 수 있습니다.
5. 실전 예제 2: REGR_SXX 결과 확인
SELECT REGR_SXX(score, study_hours) AS sum_sq_deviation_x
FROM student_scores;
결과는 study_hours
의 편차 제곱합으로, 예: 평균이 3이면
(1−3) ² + (2−3) ² + (3−3) ² + (4−3) ² + (5−3) ² = 10
6. 실전 예제 3: 그룹별 분석
CREATE TABLE dept_performance (
dept_id NUMBER,
hours NUMBER,
output NUMBER
);
-- 그룹별 REGR_SXX 분석
SELECT dept_id,
REGR_SXX(output, hours) AS dept_sxx
FROM dept_performance
GROUP BY dept_id;
부서별 시간 대비 산출량의 분산을 구해 효율성 차이를 분석할 수 있습니다.
7. REGR_SXX와 VAR_POP의 차이
항목 | REGR_SXX | VAR_POP |
---|---|---|
계산 대상 | x와 y가 모두 NULL이 아닌 경우 | x가 NULL이 아닌 경우 |
용도 | 회귀 분석용 | 단순 분산 계산 |
출력값 | 편차 제곱합 | 분산 |
8. 자주 묻는 질문 (FAQ)
Q1. 결과가 NULL이 나오는 이유는?
두열 중 하나라도 NULL이면 해당 행은 계산 제외되며, 유효한 쌍이 없으면 NULL 반환
Q2. REGR_SLOPE와 함께 어떻게 쓰이나요?
REGR_SLOPE(y, x)는 내부적으로 REGR_SXY(y, x) / REGR_SXX(y, x)로 계산됩니다.
9. 참고 자료
- Oracle 공식 문서: https://docs.oracle.com/en/database/
- REGR_SXX SQL Reference: Oracle 19c SQL Reference
- SQL for Data Analysis: mode.com SQL Tutorial
'Oracle' 카테고리의 다른 글
[ Oracle] 오라클 REGR_SXY() 함수로 두 변수 간 선형 회귀 분석하기 (0) | 2025.06.03 |
---|---|
[Oracle] 오라클 REGR_SYY() 함수란? 분산 분석 및 상관 계수 해석 방법 (0) | 2025.06.02 |
[ Oracle] 오라클 REGR_AVGY() 함수로 회귀분석 평균 Y값 활용법 (0) | 2025.06.02 |
[ Oracle] 오라클 REGR_R2() 함수로 회귀 분석의 신뢰도 측정하는 법 (0) | 2025.06.02 |
[ Oracle] 오라클 REGR_AVGX() 함수로 데이터 회귀 분석 시작하기 (0) | 2025.06.02 |