본문 바로가기
Database/Oracle

[ORACLE] REGR_R2() 함수로 회귀 분석의 신뢰도 측정하는 법

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

오라클 REGR_R2() 함수로 회귀 분석의 신뢰도 측정하는 법
[Oracle] REGR_R2

 

REGR_R2() 함수는 Oracle SQL에서 선형 회귀 분석의 설명력(R²)을 계산하는 데 사용하는 통계 함수입니다. 

1. REGR_R2 함수란?

REGR_R2(y, x)는 선형 회귀식 y = a + bx설명력(R², 결정 계수)을 반환합니다. 이 값은 0에서 1 사이이며, x가 y의 변동을 얼마나 설명하는지를 나타냅니다.

2. 기본 문법

REGR_R2(y_expr, x_expr)

두 인자는 수치형 칼럼이어야 하며, 둘 다 NULL이 아닌 행만 분석에 포함됩니다.

3. REGR_R2 해석 기준

R² 값 설명력
1 완벽한 선형 설명력
0.7~0.9 높은 설명력
0.4~0.7 보통의 설명력
0.1~0.4 약한 설명력
0 전혀 설명하지 못함

4. 실전 예제 1: 매출과 광고비 분석

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

INSERT INTO sales_data VALUES ('Jan', 100, 1000);
INSERT INTO sales_data VALUES ('Feb', 200, 1800);
INSERT INTO sales_data VALUES ('Mar', 300, 2500);
INSERT INTO sales_data VALUES ('Apr', 400, 3300);
INSERT INTO sales_data VALUES ('May', 500, 4000);
COMMIT;

5. 실전 예제 2: REGR_R2 실행

SELECT REGR_R2(revenue, ad_spend) AS r_squared
FROM sales_data;

결괏값이 0.98이라면, 광고비(x)가 매출(y)의 변동을 98% 설명할 수 있다는 의미입니다.

6. 실전 예제 3: 부서별 설명력 분석

CREATE TABLE dept_performance (
  dept_id NUMBER,
  training_hours NUMBER,  -- x
  performance_score NUMBER -- y
);

SELECT dept_id,
       REGR_R2(performance_score, training_hours) AS r2_score
FROM dept_performance
GROUP BY dept_id;

각 부서에서 교육 시간과 성과 간의 설명력을 비교할 수 있습니다.

7. REGR_R2의 활용과 주의사항

  • R²는 선형 관계의 강도를 판단하는 데 유용
  • 비선형 관계나 이상치가 있을 경우 R²가 왜곡될 수 있음
  • REGR_R2는 REGR_SLOPE(), REGR_INTERCEPT()와 함께 사용하면 더 강력한 회귀 분석 가능

8. 자주 묻는 질문 (FAQ)

Q1. R²가 1에 가까울수록 무조건 좋은 모델인가요?

아닙니다. R²는 설명력을 의미하지만, 과적합(overfitting) 여부도 함께 고려해야 합니다.

Q2. R² 값이 NULL이면?

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

9. 참고 자료

728x90