우와한 개발자

[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;

 

블로그의 정보

우와한개발자 님의 블로그

우와한개발자

활동하기