728x90

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. 참고 자료
- Oracle 공식 문서: https://docs.oracle.com/en/database/
- REGR_R2 SQL Reference: Oracle 19c Documentation
- W3Schools SQL Tutorial: https://www.w3schools.com/sql/
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] REGR_SXX() 함수로 데이터 분산 분석 자동화하기 (0) | 2025.06.02 |
|---|---|
| [ORACLE] REGR_AVGY() 함수로 회귀 분석 평균 Y값 활용 법 (0) | 2025.06.02 |
| [ORACLE] REGR_AVGX() 함수로 데이터 회귀 분석 시작하기 (0) | 2025.06.02 |
| [ORACLE] REGR_COUNT() 함수 사용법과 실무 예제로 배우는 회귀 분석 (0) | 2025.06.02 |
| [ORACLE] REGR_INTERCEPT() 실전 예제로 회귀 분석 절편 구하기 (0) | 2025.06.02 |