본문 바로가기

[오라클 레퍼런스 함수] CORR_* - Pearson 상관 계수 계산

by ㅇㅍㅍ 2023. 8. 2.
[오라클 레퍼런스 함수] CORR_* - Pearson 상관 계수 계산
728x90

CORR_*

 

CORR_* 함수들은 다음과 같습니다:

  • CORR_S
  • CORR_K

 

구문

{ CORR_K | CORR_S }
   (expr1, expr2
     [, { COEFFICIENT
        | ONE_SIDED_SIG
        | ONE_SIDED_SIG_POS
        | ONE_SIDED_SIG_NEG
        | TWO_SIDED_SIG
        }
     ]
   )

 

목적

CORR 함수는 Pearson 상관 계수(Pearson's correlation coefficient)를 계산하며, 숫자 표현식이 입력으로 필요합니다. CORR_* 함수들은 비모수적이거나 순위 상관을 지원합니다. 이 함수들은 값들의 순위를 지정할 수 있는 서열 척도(ordinal scaled)의 표현식 간의 상관 관계를 찾을 수 있습니다. 상관 계수는 -1에서 1 사이의 값을 가지며, 1은 완벽한 관계를 나타내고, -1은 완벽한 역 관계(한 변수가 증가하면 다른 변수가 감소하는 경우)를 나타내며, 0에 가까운 값은 상관 관계가 없음을 의미합니다.

이 함수들은 숫자 데이터 유형이나 숫자 데이터 유형으로 암묵적으로 변환될 수 있는 비숫자 데이터 유형을 인수로 받습니다. Oracle 데이터베이스는 가장 높은 숫자 우선 순위를 가진 인수를 결정하고, 나머지 인수를 해당 데이터 유형으로 암묵적으로 변환하여 계산을 수행하며, NUMBER를 반환합니다.

 

참고:

  • 더 자세한 내용은 암묵적 변환에 대한 표 2-8을 참조하고, 숫자 우선 순위에 대한 정보는 Numeric Precedence를 확인하세요.
  • Oracle Database Globalization Support Guide의 부록 C에서는 CORR_KCORR_S 함수가 expr1의 문자와 expr2의 문자를 비교하는 데 사용하는 정렬을 정의하는 정렬 결정 규칙에 대한 정보를 제공합니다.

 

expr1expr2는 분석되는 두 변수입니다. 세 번째 인수는 VARCHAR2 유형의 반환 값을 나타냅니다. 세 번째 인수를 생략하면 기본값은 COEFFICIENT입니다. 반환 값의 의미는 다음 표에 표시되어 있습니다:

 

표 7-2 CORR_* 반환 값:

Return Value Meaning
COEFFICIENT 상관 계수(Coefficient of correlation)
ONE_SIDED_SIG 양의 단측 상관의 유의성
(Positive one-tailed significance of the correlation)
ONE_SIDED_SIG_POS Same as ONE_SIDED_SIG
ONE_SIDED_SIG_NEG 음의 단측 상관의 유의성
(Negative one-tailed significance of the correlation)
TWO_SIDED_SIG 양측 상관의 유의성
(Two-tailed significance of the correlation)

 

CORR_S

CORR_S 함수는 Spearman's rho 상관 계수(Spearman's rho correlation coefficient)를 계산합니다. 입력 표현식은 (xi, yi) 쌍으로 된 관측치의 집합이어야 합니다. 이 함수는 먼저 각 값들을 순위로 대체합니다. xi의 각 값은 샘플에서 다른 모든 xi 값들 중에서의 순위로 대체되고, yi의 각 값은 샘플에서 다른 모든 yi 값들 중에서의 순위로 대체됩니다. 따라서 각 xi와 yi는 1부터 n까지의 값이며, 여기서 n은 값 쌍의 총 개수입니다. 동점이 있는 경우, 값들이 약간 다르다면 순위의 평균으로 동점을 할당합니다. 그런 다음 함수는 순위들의 선형 상관 계수를 계산합니다.

 

CORR_S 예시

Spearman's rho 상관 계수(CORR_S)를 사용하여, 다음 예제에서는 두 가지 다른 비교에 대해 상관 계수를 구합니다. 먼저 급여(salary)와 커미션 비율(commission_pct) 간의 상관 계수를 구하고, 다음으로 급여(salary)와 직원 ID(employee_id) 간의 상관 계수를 구합니다:

SELECT COUNT(*) count,
       CORR_S(salary, commission_pct) commission,
       CORR_S(salary, employee_id) empid
  FROM employees;
 
     COUNT COMMISSION      EMPID
---------- ---------- ----------
       107 .735837022 -.04473016

 

CORR_K

CORR_K 함수는 Kendall's tau-b 상관 계수(Kendall's tau-b correlation coefficient)를 계산합니다. CORR_S와 마찬가지로, 입력 표현식은 (xi, yi) 관측치의 집합입니다. 계수를 계산하기 위해 함수는 일치하는(concordant) 쌍과 불일치하는(discordant) 쌍의 수를 세어줍니다. 하나의 관측치가 다른 관측치보다 큰 x 값을 갖는 경우, 이 쌍은 일치하는 쌍입니다. 하나의 관측치가 다른 관측치보다 큰 x 값을 갖는데 작은 y 값을 갖는 경우, 이 쌍은 불일치하는 쌍입니다.

tau-b의 유의성은 tau-b에 의해 표시되는 상관 관계가 우연히 발생한 것일 확률로, 0부터 1까지의 값으로 표현됩니다. 작은 값은 tau-b의 양의 값에 대해 유의한 상관 관계(음의 tau-b 값에 대해 반대 상관 관계)를 나타냅니다.

 

CORR_K 예제

Kendall's tau-b 상관 계수(CORR_K)를 사용하여, 다음 예제에서는 직원의 급여와 커미션 비율 사이에 상관 관계가 있는지 여부를 확인합니다:

SELECT CORR_K(salary, commission_pct, 'COEFFICIENT') coefficient,
       CORR_K(salary, commission_pct, 'TWO_SIDED_SIG') two_sided_p_value
  FROM employees;

COEFFICIENT TWO_SIDED_P_VALUE
----------- -----------------
 .603079768        3.4702E-07

 


출처: 오라클 레퍼런스

원문 링크: Oracle CORR_* 함수 문서

 

반응형

댓글