본문 바로가기
Database/Oracle

[ORACLE] REGR_INTERCEPT() 실전 예제로 회귀 분석 절편 구하기

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

오라클 REGR_INTERCEPT() 실전 예제로 회귀분석 절편 구하기
[Oracle] REGR_INTERCEPT

 

REGR_INTERCEPT() 함수는 Oracle SQL에서 선형 회귀 직선의 절편(intercept)을 계산하는 데 사용하는 통계 함수입니다. 

1. REGR_INTERCEPT 함수란?

REGR_INTERCEPT(y, x)는 선형 회귀 모델 y = a + bx에서 상수항 a를 반환합니다. 즉, x가 0일 때의 y 값을 의미합니다.

2. 기본 문법

REGR_INTERCEPT(y_expr, x_expr)

두 인자는 모두 수치형 칼럼이어야 하며, NULL은 분석 대상에서 제외됩니다.

3. 실전 예제 1: 광고비와 매출 분석

CREATE TABLE sales_data (
  month VARCHAR2(10),
  ad_cost NUMBER,   -- 독립 변수 (x)
  revenue NUMBER    -- 종속 변수 (y)
);

INSERT INTO sales_data VALUES ('Jan', 100, 1200);
INSERT INTO sales_data VALUES ('Feb', 200, 2000);
INSERT INTO sales_data VALUES ('Mar', 300, 2800);
INSERT INTO sales_data VALUES ('Apr', 400, 3600);
INSERT INTO sales_data VALUES ('May', 500, 4500);
COMMIT;

4. 실전 예제 2: 절편 계산 쿼리

SELECT REGR_INTERCEPT(revenue, ad_cost) AS intercept
FROM sales_data;

이 결과는 광고비가 0일 때의 예상 매출을 나타냅니다. 이는 분석에서 매우 유용한 기준점 역할을 합니다.

5. 실전 예제 3: 부서별 분석

CREATE TABLE dept_stats (
  dept_id NUMBER,
  work_hours NUMBER,
  output NUMBER
);

-- 데이터 삽입 후 실행
SELECT dept_id,
       REGR_INTERCEPT(output, work_hours) AS baseline_output
FROM dept_stats
GROUP BY dept_id;

부서별 업무 시간이 0일 경우에도 발생할 수 있는 기본 생산량(절편)을 파악할 수 있습니다.

6. 해석 및 활용

  • REGR_INTERCEPT는 비용, 시간, 노출량 등이 0일 때의 결과를 예측할 수 있게 합니다.
  • REGR_SLOPE()와 함께 사용하면 전체 회귀 모델을 완성할 수 있습니다.
  • 비즈니스 가정에서 기저 수준을 정의할 때 활용됩니다.

7. 함께 쓰면 좋은 함수들

  • REGR_SLOPE(y, x): 기울기 계산
  • REGR_R2(y, x): 설명력(R 제곱값)
  • REGR_COUNT(y, x): 유효한 데이터 쌍 수
  • REGR_AVGX(x), REGR_AVGY(y): 평균값

8. 자주 묻는 질문 (FAQ)

Q1. REGR_INTERCEPT이 NULL을 반환하는 이유는?

x 또는 y가 모두 NULL이거나, 유효한 데이터 쌍이 없으면 NULL을 반환합니다.

Q2. 절편이 음수인 경우 어떻게 해석하나요?

x = 0일 때 y가 음수라는 의미이지만, 현실적으로 타당한지 비즈니스 맥락에서 해석해야 합니다.

9. 참고 자료

728x90