REGR_AVGX() 함수는 Oracle SQL에서 선형 회귀 분석 중 독립 변수(x)의 평균값을 계산하는 데 사용되는 통계 함수입니다.
1. REGR_AVGX 함수란?
REGR_AVGX(y, x)
함수는 x와 y가 모두 NULL이 아닌 레코드만을 대상으로 x의 평균값을 반환합니다. 일반적인 AVG()
함수와 달리 회귀 분석에 필요한 유효 데이터 기준으로 동작합니다.
2. 기본 문법
REGR_AVGX(y_expr, x_expr)
y_expr: 종속 변수, x_expr: 독립 변수. 두열 모두 수치형이어야 하며, NULL은 계산에서 제외됩니다.
3. REGR_AVGX와 AVG의 차이
항목 | REGR_AVGX(y, x) | AVG(x) |
---|---|---|
NULL 필터링 | x와 y 모두 NULL이 아닌 행만 포함 | x가 NULL이 아닌 행만 포함 |
회귀 연산 기준 | 회귀 분석을 위한 평균 | 단순 평균 |
용도 | REGR 시리즈와 함께 사용 | 일반 통계 용도 |
4. 실전 예제 1: 광고비와 매출 데이터
CREATE TABLE marketing_data (
campaign VARCHAR2(10),
ad_cost NUMBER, -- 독립 변수 x
revenue NUMBER -- 종속 변수 y
);
INSERT INTO marketing_data VALUES ('A', 100, 1200);
INSERT INTO marketing_data VALUES ('B', 200, 1900);
INSERT INTO marketing_data VALUES ('C', NULL, 2100);
INSERT INTO marketing_data VALUES ('D', 400, 3300);
INSERT INTO marketing_data VALUES ('E', 500, NULL);
COMMIT;
5. 실전 예제 2: REGR_AVGX 사용
SELECT REGR_AVGX(revenue, ad_cost) AS avg_x_for_regression
FROM marketing_data;
위 결과는 ad_cost와 revenue가 모두 NULL이 아닌 레코드 (A, B, D)에 대해 ad_cost
의 평균을 계산합니다. 예: (100 + 200 + 400) / 3 = 233.33
6. 실전 예제 3: 그룹별 평균 x값 계산
CREATE TABLE dept_sales (
dept_id NUMBER,
budget NUMBER, -- x
profit NUMBER -- y
);
-- 예시 쿼리
SELECT dept_id,
REGR_AVGX(profit, budget) AS avg_budget_x
FROM dept_sales
GROUP BY dept_id;
부서별 예산 대비 이익 관계에서 유효 데이터 기준으로 평균 예산을 파악할 수 있습니다.
7. 실무 활용 팁
- 회귀 분석에서 중심점 계산으로 활용
- REGR_SLOPE, REGR_INTERCEPT와 함께 사용하면 회귀 직선 공식 도출 가능
- 데이터셋에 NULL이 많을수록 일반 평균과 큰 차이를 보일 수 있음
8. 자주 묻는 질문 (FAQ)
Q1. REGR_AVGX가 NULL을 반환하는 이유는?
x 또는 y가 모두 NULL이거나 유효한 쌍이 없는 경우 결과는 NULL입니다.
Q2. AVG와 함께 써도 되나요?
가능하지만, 회귀 분석 문맥에서는 REGR_AVGX를 사용하는 것이 정확한 해석을 보장합니다.
9. 참고 자료
- Oracle 공식 문서: https://docs.oracle.com/en/database/
- REGR_AVGX SQL Reference: Oracle 19c Documentation
- W3Schools SQL Tutorial: https://www.w3schools.com/sql/
'Database' 카테고리의 다른 글
[ Oracle] 오라클 REGR_AVGY() 함수로 회귀분석 평균 Y값 활용법 (0) | 2025.06.02 |
---|---|
[ Oracle] 오라클 REGR_R2() 함수로 회귀 분석의 신뢰도 측정하는 법 (0) | 2025.06.02 |
[ Oracle] 오라클 REGR_COUNT() 함수 사용법과 실무 예제로 배우는 회귀분석 (0) | 2025.06.02 |
[ Oracle] 오라클 REGR_INTERCEPT() 실전 예제로 회귀분석 절편 구하기 (0) | 2025.06.02 |
[ Oracle] 오라클 REGR_SLOPE() 함수로 선형 회귀 기울기 계산하는 방법 (0) | 2025.06.02 |