728x90

REGR_AVGY() 함수는 Oracle SQL에서 회귀 분석 시 사용되는 종속 변수(y)의 평균값을 계산하는 통계 함수입니다. 이 함수는 x, y 모두 NULL이 아닌 데이터를 기준으로 y의 평균값을 반환합니다.
1. REGR_AVGY 함수란?
REGR_AVGY 함수는 회귀 분석에서 유효한 데이터(x와 y 모두 NULL이 아닌 행)를 기반으로 종속 변수 y의 평균값을 계산합니다. 이는 AVG() 함수와는 다른 통계적 맥락에서 쓰입니다.
2. 기본 문법
REGR_AVGY(y_expr, x_expr)
y_expr: 종속 변수 (Y축), x_expr: 독립 변수 (X축). 두 인자는 수치형 데이터여야 하며, 둘 중 하나라도 NULL이면 해당 행은 계산에서 제외됩니다.
3. REGR_AVGY와 AVG의 차이점
| 항목 | REGR_AVGY(y, x) | AVG(y) |
|---|---|---|
| NULL 처리 방식 | y와 x가 모두 NULL이 아닐 경우에만 포함 | y가 NULL이 아닌 경우만 포함 |
| 용도 | 회귀 분석 전처리 용도 | 단순 평균 산출 |
| 통계적 의미 | 회귀식 중심점 도출 | 일반적인 평균 |
4. 실전 예제 1: 판매량과 광고비 데이터
CREATE TABLE sales_data (
week VARCHAR2(10),
ad_cost NUMBER, -- 독립 변수 (x)
sales_qty NUMBER -- 종속 변수 (y)
);
INSERT INTO sales_data VALUES ('W1', 100, 300);
INSERT INTO sales_data VALUES ('W2', 200, 500);
INSERT INTO sales_data VALUES ('W3', NULL, 600);
INSERT INTO sales_data VALUES ('W4', 400, NULL);
INSERT INTO sales_data VALUES ('W5', 300, 700);
COMMIT;
5. 실전 예제 2: REGR_AVGY 사용
SELECT REGR_AVGY(sales_qty, ad_cost) AS avg_y_sales
FROM sales_data;
NULL이 아닌 쌍은 (W1, W2, W5)로, sales_qty는 (300, 500, 700). 평균은 (300+500+700)/3 = 500이 됩니다.
6. 실전 예제 3: 부서별 y 평균 계산
CREATE TABLE dept_performance (
dept_id NUMBER,
training_time NUMBER, -- 독립 변수 x
improvement_score NUMBER -- 종속 변수 y
);
SELECT dept_id,
REGR_AVGY(improvement_score, training_time) AS avg_improvement
FROM dept_performance
GROUP BY dept_id;
부서별로 유효 데이터 기준으로 개선 점수 평균을 계산할 수 있습니다.
7. 실무 활용 팁
- 회귀 직선 중심점 계산에 필수
- REGR_AVGX, REGR_SLOPE, REGR_INTERCEPT와 조합 시 더욱 유의미한 통계 분석 가능
- 정확한 통계를 위해서는 NULL 처리 방식에 유의해야 함
8. 자주 묻는 질문 (FAQ)
Q1. REGR_AVGY 결과가 NULL이면?
두열 모두 NULL이 아닌 유효한 레코드가 없을 경우 결과는 NULL입니다.
Q2. 단순 평균과 결과가 다릅니다. 왜 그런가요?
단순 평균은 y 값만 고려하지만, REGR_AVGY는 x도 NULL이 아니어야 하므로 대상 레코드 수가 다를 수 있습니다.
9. 참고 자료
- Oracle 공식 문서: https://docs.oracle.com/en/database/
- REGR_AVGY SQL Reference: Oracle 19c SQL Reference
- W3Schools SQL Tutorial: https://www.w3schools.com/sql/
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] REGR_SYY() 함수란? 분산 분석 및 상관 계수 해석 방법 (0) | 2025.06.02 |
|---|---|
| [ORACLE] REGR_SXX() 함수로 데이터 분산 분석 자동화하기 (0) | 2025.06.02 |
| [ORACLE] REGR_R2() 함수로 회귀 분석의 신뢰도 측정하는 법 (0) | 2025.06.02 |
| [ORACLE] REGR_AVGX() 함수로 데이터 회귀 분석 시작하기 (0) | 2025.06.02 |
| [ORACLE] REGR_COUNT() 함수 사용법과 실무 예제로 배우는 회귀 분석 (0) | 2025.06.02 |