일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- robux
- 주상복합용지 분양
- 가장 인기있는 파이썬 라이브러리
- 나는 어디로?
- 공개서적
- Google vs OpenAI
- 종합소득세
- 데이터 리터러시
- Python
- 2룸 오피스텔 투자
- 소형주택 세액감면
- 다주택임대
- 오피스텔투자
- 전세보증보험
- chatgpt 100% 신뢰금지
- 주택임대사업자
- 종합과세
- 오라클 데이터베이스 내장함수
- 임대소득외 추가소득이 있을 경우
- 라이브러리 vs 패키지
- Google vs MicorSoft
- 파이썬 TypeError
- 가장 인기있는 파이썬 패키지
- 상업시설용지 분양
- chatgpt vs bard
- 가장 많이 사용되는 파이썬 라이브러리
- bard 100% 신뢰금지
- PostgreSQL
- 갤럭시탭 with Pen
- 가장 많이 사용되는 파이썬 패키지
All thing of the world!
Oracle REGR_*(선형회귀함수) 설명 : 오라클 함수 본문
* 선형회귀분석에 사용하는 함수 세트로 아래 9개 함수에 대한 내용을 담고 있다. (통계에 관련된 내용이므로, 용어나 내용을 이해하기 위해서 선형회귀분석에 대한 이해를 먼저 해야함)
■ REGR_SLOPE
■ REGR_INTERCEPT
■ REGR_COUNT
■ REGR_R2
■ REGR_AVGX
■ REGR_AVGY
■ REGR_SXX
■ REGR_SYY
■ REGR_SXY
1. 함수의 목적
선형회귀함수로 각각의 함수마다 다음과 같은 각각의 기능을 가지고 있다.
■ REGR_SLOPE : 회귀 직선의 기울기를 구한다. COVAR_POP(expr1, expr2) / VAR_POP(expr2)의 계산이 수행된다.
■ REGR_INTERCEPT : 회귀 직선의 y절편을 구한다. AVG(expr1) - REGR_SLOPE(expr1, expr2) * AVG(expr2)의 계산이 수행된다.
■ REGR_COUNT : 회귀선을 맞추기 위해 사용된 널 (NULL)이 아닌 숫자 쌍의 갯수를 정수로 리턴한다.
■ REGR_R2 : 회귀분석에 대한 결정 계수(R-squared org fitness fit)를 반환한다. expr1 및 expr2의 NULL 쌍을 제거한 후에 평가하며 반환값은 다음과 같다.
■ REGR_AVGX : 회귀직선의 독립변수(expr2)의 평균을 계산한다. expr1/expr2의 NULL 쌍을 제거한 후 AVG(expr2)을 계산한다.
■ REGR_AVGY : 회귀직선의 종속변수(expr1)의 평균을 계산한다. expr1/expr2의 NULL 쌍을 제거한 후 AVG(expr1)을 계산한다.
■ REGR_SXX : 회귀분석 검증에 사용되는 함수로, expr1/expr2의 NULL쌍을 제거한 후REGR_COUNT(expr1, expr2) * VAR_POP(expr2)를 계산한다.
■ REGR_SYY : 회귀분석 검증에 사용되는 함수로, expr1/expr2의 NULL쌍을 제거한 후 REGR_COUNT(expr1, expr2) * VAR_POP(expr1)를 계산한다.
■ REGR_SXY : 회귀분석 검증에 사용되는 함수로, expr1/expr2의 NULL쌍을 제거한 후 REGR_COUNT(expr1, expr2) * COVAR_POP(expr1, expr2)를 계산한다.
2. 샘플을 통한 개념 퀵뷰
SYSDATE에서 employees테이블의 hire_date컬럼을 뺀 값을 독립변수(x)로, salary를 종속변수(y)로 보고 REGR_SLOPE/REGR_INTERCEPT/REGR_R2/REGR_COUNT/REGR_AVGX/REGR_AVGY값을 구한 예제다.
SELECT job_id, employee_id ID, salary,
REGR_SLOPE(SYSDATE-hire_date, salary)
OVER (PARTITION BY job_id) slope,
REGR_INTERCEPT(SYSDATE-hire_date, salary)
OVER (PARTITION BY job_id) intcpt,
REGR_R2(SYSDATE-hire_date, salary)
OVER (PARTITION BY job_id) rsqr,
REGR_COUNT(SYSDATE-hire_date, salary)
OVER (PARTITION BY job_id) count,
REGR_AVGX(SYSDATE-hire_date, salary)
OVER (PARTITION BY job_id) avgx,
REGR_AVGY(SYSDATE-hire_date, salary)
OVER (PARTITION BY job_id) avgy
FROM employees
WHERE department_id in (50, 80)
ORDER BY job_id, employee_id;
3. 사용방법
4. 함수 PARAMETER 설명
[expr1]
선형회귀분석의 독립변수(independent)를 뜻한다. x에 해당한다.
[expr2]
선형회귀분석의 종속변수(dependent)를 뜻한다. y에 해당한다.
[over]
일반적 분석함수로 쓰일 때의 over와 같다.
5. 다양한 샘플표현
example1) employees테이블에서 채용된 기간과 급여 사이의 회귀직선의 기울기와 y절편을 구한다. 결과는 job_id로 그룹핑한다.
SELECT job_id,
REGR_SLOPE(SYSDATE-hire_date, salary) slope,
REGR_INTERCEPT(SYSDATE-hire_date, salary) intercept
FROM employees
WHERE department_id in (50,80)
GROUP BY job_id
ORDER BY job_id;
example2) employees테이블에서 department_id가 '30'과 '50'인 부서의 직원 중에, 회귀분석에 사용된 직원의 숫자를 카운팅하여 job_id 별로 보여준다.
SELECT job_id,
REGR_COUNT(SYSDATE-hire_date, salary) count
FROM employees
WHERE department_id in (30, 50)
GROUP BY job_id
ORDER BY job_id, count;
example3) employees테이블에서 department_id가 '80'과 '50'인 부서의 직원을 사용한 회귀분석 결정계수를 job_id별로 반환한다.
SELECT job_id,
REGR_R2(SYSDATE-hire_date, salary) Regr_R2
FROM employees
WHERE department_id in (80, 50)
GROUP by job_id
ORDER BY job_id, Regr_R2;
example4) employees테이블에서 department_id가 '30'과 '50'인 부서의 직원을 대상으로 독립평수의 평균(avgx)과 종속변수(avgy)의 평균을 job_id별로 구한다.
SELECT job_id,
REGR_AVGY(SYSDATE-hire_date, salary) avgy,
REGR_AVGX(SYSDATE-hire_date, salary) avgx
FROM employees
WHERE department_id in (30,50)
GROUP BY job_id
ORDER BY job_id, avgy, avgx;
example5) employees테이블에서 department_id가 '80'과 '50'인 부서의 직원을 대상으로, REGR_SXY/REGR_SXX/REGR_SYY함수를 적용하여 JOB_ID별로 구한다.
SELECT job_id,
REGR_SXY(SYSDATE-hire_date, salary) regr_sxy,
REGR_SXX(SYSDATE-hire_date, salary) regr_sxx,
REGR_SYY(SYSDATE-hire_date, salary) regr_syy
FROM employees
WHERE department_id in (80, 50)
GROUP BY job_id
ORDER BY job_id;
'IT > Oracle DBMS' 카테고리의 다른 글
Oracle STANDARD_HASH 설명 : 오라클 함수 (0) | 2021.03.30 |
---|---|
Oracle PERCENTILE_CONT 설명 : 오라클 함수 (0) | 2021.03.30 |
Oracle REGEXP_COUNT 설명 : 오라클 함수 (0) | 2021.03.30 |
Oracle ORA_HASH 설명 : 오라클 함수 (0) | 2021.03.30 |
Oracle JSON_VALUE 설명 : 오라클 함수 (0) | 2021.03.30 |