본문 바로가기
Database/Oracle

[ORACLE] REGR_AVGY() 함수로 회귀 분석 평균 Y값 활용 법

by Papa Martino V 2025. 6. 2.
728x90

오라클 REGR_AVGY() 함수로 회귀분석 평균 Y값 활용법
[Oracle] REGR_AVGY

 

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. 참고 자료

728x90