[SQL] Oracle의 선형 회귀 함수 (Regression Functions) -REGR_SLOPE / REGR_INTERCEPT / REGR_R2
by 우와한개발자
[ 선형 회귀 함수 (Regression Functions) ]
- Oracle 전용 함수
SELECT
REGR_SLOPE(salary, career) AS 기울기,
REGR_INTERCEPT(salary, career) AS y절편,
REGR_R2(salary, career) AS 결정계수,
REGR_COUNT(salary, career) AS 데이터수,
REGR_AVGX(salary, career) AS 경력평균,
REGR_AVGY(salary, career) AS 연봉평균
FROM employees;
| 함수 | 설명 |
| REGR_SLOPE(y, x) | 회귀 직선의 기울기 반환 |
| REGR_INTERCEPT(y, x) | 회귀 직선의 y절편 반환 |
| REGR_R2(y, x) | 결정계수 반환 (0~1, 1에 가까울수록 설명력 높음) |
| REGR_COUNT(y, x) | NULL이 아닌 쌍의 개수 반환 |
| REGR_AVGX(y, x) | NULL 제거 후 x(독립변수)의 평균 반환 |
| REGR_AVGY(y, x) | NULL 제거 후 y(종속변수)의 평균 반환 |
| REGR_SXX(y, x) | REGR_COUNT(y, x) * VAR_POP(x) |
| REGR_SYY(y, x) | REGR_COUNT(y, x) * VAR_POP(y) |
| REGR_SXY(y, x) | REGR_COUNT(y, x) * COVAR_POP(y, x) |
1. REGR_SLOPE(y, x) — 기울기
- 회귀 직선의 기울기를 구할 때 사용
- 공분산 / 모분산 = y변화량 / x변화량
SELECT
REGR_SLOPE(salary, career) AS 기울기
FROM employees;
2. REGR_INTERCEPT(y, x) — y절편
- 회귀 직선의 y절편을 구할 때 사용
- 내부 계산: y평균 - 기울기 * x평균 (REGR_ AVGY(y) - REGR_SLOPE(y, x) *REGR_ AVGX(y,x))
SELECT
REGR_INTERCEPT(salary, career) AS y절편
FROM employees;
3. REGR_R2(y, x) — 결정계수
- 회귀 직선이 데이터를 얼마나 잘 설명하는지 나타냄
- 종속변수와 독립변수 사이의 상관관계가 높을수록 1에 가까워짐
| 값 | 의미 |
| 1 | 완벽하게 설명 |
| 0 | 전혀 설명 못함 |
SELECT
REGR_R2(salary, career) AS 결정계수
FROM employees;
'데이터베이스 > SQL' 카테고리의 다른 글
블로그의 정보
우와한개발자 님의 블로그
우와한개발자