포스팅 목차
o STATS_T_TEST_*
The t-test functions are:
- STATS_T_TEST_ONE : 일 표본 t검정
- STATS_T_TEST_PAIRED : 이 표본 대응 t검정(crossed t-test로 알려짐.)
- STATS_T_TEST_INDEP : 같은 분산을 가지는 2개 독립 그룹의 t검정(합동 분산(Pooled variance))
- STATS_T_TEST_INDEPU : 다른 분산을 가지는 2개 독립 그룹의 t검정(비 합동 분산)
문법
stats_t_test::=
목적
t검정은 평균의 차이의 유의성을 측정한다.
2개 그룹의 평균과 상수값을 가지는 한 개 그룹의 평균을 비교하는데 이용한다. STATS_T_TEST_*함수는 3개의 인수를 취한다. 2개의 식과 VARCHAR2 타입의 반환값을 취한다. 함수는 세 번째 인수의 값에 의해 정의되는 하나의 수자를 반환한다. 만약 3번째 인수를 생략하면, 기본값은 TWO_SIDED_SIG이다. 반환값의 의미는 Table 7-9 참조.
Table 7-9 STATS_T_TEST_* 반환값
STATISTIC | t의 관측치값 |
DF | 자유도 |
ONE_SIDED_SIG | t의 한쪽 꼬리 유의성 |
TWO_SIDED_SIG | t의 양쪽 꼬리 유의성 |
t의 관측값의 유의성은 t의 값이 우연에 의해 획득되는 확률 값이다.(0과 1 사이의 수자) 이 수치가 작으면, 평균 사이의 유의성은 더 커진다.
자유도는 t의 관측값 결과는 t검정의 타입에 의존한다. 예를 들어, 일표본 t검정(STATS_T_TEST_ONE)은, 자유도는 표본에서 관측된 값에서 1을 뺀 값이다.
관련 함수
함수명 | 함수내용 |
STATS_BINOMIAL_TEST | 두 개의 유효한 값이 존재하는 이분형 변수(이분 변수, 두 개의 배타적인 값을 가지는 변수)에 대해서 동질성 검증을 위한 정확도 검증 작업(Exact probability test)을 수행한다. |
STATS_CROSSTAB | 두 개의 명목 변수를 분석하는 방법이다. |
STATS_F_TEST | 두 개의 분산이 유의한 차가 있는지 테스트(F 검정)한다. |
STATS_KS_TEST | 두 개의 표본이 같은 모집단에 속하고 있는지 또는 동일한 분포를 가지는 모집단에 속하고 있는지 테스트하는 Kolmogorov-Smirnov함수이다. |
STATS_MODE | 값의 집합을 인수로 취하여, 가장 큰 빈도를 가지는 값(최빈값, mode)을 반환한다. |
STATS_MW_TEST | A Mann Whitney test는 2개의 독립 표본(independent samples)을 비교한다. |
STATS_ONE_WAY_ANOVA | 일원분산분석 함수(STATS_ONE_WAY_ANOVA)는 분산의 다른 2개 추정치 비교하여 통계적 유의성에 대한 평균(그룹 또는 변수에 대한)의 유의한 차이를 검증한다. |
STATS_T_TEST_* | t검정은 평균의 차이의 유의성을 측정한다.
|
STATS_WSR_TEST | 대응쌍 표본의 윌콕스 부호 순위 검증(Wilcoxon Signed Ranks test)을 수행하여 표본간의 차이가 유의한 차이가 있는지 여부를 검정한다. |
예제
- STATS_T_TEST_ONE
STATS_T_TEST_ONE함수에서, expr1은 표본이고, expr2는 표본 평균과 비교되는 상수 평균이다. 이 함수는 표본 평균과 알려진 평균과의 차이를, 평균의 표준오차로 나눈 t의 값을 획득한다.(STATS_T_TEST_PAIRED에서는, 오히려 평균의 차이의 표준 오차로 나눈다.) STATS_T_TEST_ONE 예제
다음 예제는 평균 표시 가격과 상수값 60 사이의 차이의 유의성을 정의한다.
Oracle Programming |
SELECT AVG(prod_list_price) group_mean,
STATS_T_TEST_ONE(prod_list_price, 60, 'STATISTIC') t_observed,
STATS_T_TEST_ONE(prod_list_price, 60) two_sided_p_value
FROM sh.products;
Results |
GROUP_MEAN T_OBSERVED TWO_SIDED_P_VALUE
---------- ---------- -----------------
139.545556 2.32107746 .023158537
- STATS_T_TEST_PAIRED
STATS_T_TEST_PAIRED함수에서는, expr1과 expr2는 평균이 비교되는 2개의 표본이다. 이 함수는 표본 평균 사이의 차이를 평균의 차이의 표준오차로 나눈 t의 값을 획득한다.(STATS_T_TEST_ONE에서는 오히려 평균의 표준오차로 나눈다.
- STATS_T_TEST_INDEP and STATS_T_TEST_INDEPU
STATS_T_TEST_INDEP와 STATS_T_TEST_INDEPU함수에서는, expr1은 그룹 열이고, expr2는 값의 표본이다. 합동 분산 버전(STATS_T_TEST_INDEP)은 같은 분산을 가지는 2개의 분포에 대하여 평균이 같은지 또는 다른지를 검증한다. 비합동 분산 버전(STATS_T_TEST_INDEPU)은 만약 2개의 분포가 유의하게 비록 다른 분산을 가졌다고 알려졌지만, 평균이 같은지 다른지를 검증한다.
이 함수를 이용하기 전에, 표본의 분산이 유의한 차이가 있는지 판단하기를 추천한다. 만약 유의한 차가 있다면, 데이터는 다른 모양을 가지는 분포일 가능성이 있어서, 평균의 차이가 유효하지 않은 경유가 있다. 분산의 차이를 판단하기 위해서 f검정을 실행할 수 있다. 만약 유의한 차이가 없다면, STATS_T_TEST_INDEP함수를 이용한다. 만약 유의한 차이가 있다면, STATS_T_TEST_INDEPU함수를 이용한다. STATS_T_TEST_INDEP 예제
다음 예제는 분포가 유사한(합동) 분산을 가진다고 가정되는 남자와 여자에 대한 평균 판매액 사이의 차이의 유의성을 정의한다.
Oracle Programming |
SELECT SUBSTR(cust_income_level, 1, 22) income_level,
AVG(DECODE(cust_gender, 'M', amount_sold, null)) sold_to_men,
AVG(DECODE(cust_gender, 'F', amount_sold, null)) sold_to_women,
STATS_T_TEST_INDEP(cust_gender, amount_sold, 'STATISTIC') t_observed,
STATS_T_TEST_INDEP(cust_gender, amount_sold) two_sided_p_value
FROM sh.customers c, sh.sales s
WHERE c.cust_id = s.cust_id
GROUP BY ROLLUP(cust_income_level);
Results |
INCOME_LEVEL SOLD_TO_MEN SOLD_TO_WOMEN T_OBSERVED TWO_SIDED_P_VALUE
---------------------- ----------- ------------- ---------- -----------------
A: Below 30,000 105.28349 99.4281447 -1.9880629 .046811482
B: 30,000 - 49,999 102.59651 109.829642 3.04330875 .002341053
C: 50,000 - 69,999 105.627588 110.127931 2.36148671 .018204221
D: 70,000 - 89,999 106.630299 110.47287 2.28496443 .022316997
E: 90,000 - 109,999 103.396741 101.610416 -1.2544577 .209677823
F: 110,000 - 129,999 106.76476 105.981312 -.60444998 .545545304
G: 130,000 - 149,999 108.877532 107.31377 -.85298245 .393671218
H: 150,000 - 169,999 110.987258 107.152191 -1.9062363 .056622983
I: 170,000 - 189,999 102.808238 107.43556 2.18477851 .028908566
J: 190,000 - 249,999 108.040564 115.343356 2.58313425 .009794516
K: 250,000 - 299,999 112.377993 108.196097 -1.4107871 .158316973
L: 300,000 and above 120.970235 112.216342 -2.0642868 .039003862
107.121845 113.80441 .686144393 .492670059
106.663769 107.276386 1.08013499 .280082357
14 rows selected.
- STATS_T_TEST_INDEPU 예제
다음 예제는 분포가 유의한 차이의 분산(비합동분산)을 가졌다고 알려진 남자와 여자에 대한 평균 판매액 사이의 유의성을 정의한다.
Oracle Programming |
SELECT SUBSTR(cust_income_level, 1, 22) income_level,
AVG(DECODE(cust_gender, 'M', amount_sold, null)) sold_to_men,
AVG(DECODE(cust_gender, 'F', amount_sold, null)) sold_to_women,
STATS_T_TEST_INDEPU(cust_gender, amount_sold, 'STATISTIC') t_observed,
STATS_T_TEST_INDEPU(cust_gender, amount_sold) two_sided_p_value
FROM sh.customers c, sh.sales s
WHERE c.cust_id = s.cust_id
GROUP BY ROLLUP(cust_income_level);
Results |
INCOME_LEVEL SOLD_TO_MEN SOLD_TO_WOMEN T_OBSERVED TWO_SIDED_P_VALUE
---------------------- ----------- ------------- ---------- -----------------
A: Below 30,000 105.28349 99.4281447 -2.0542592 .039964704
B: 30,000 - 49,999 102.59651 109.829642 2.96922332 .002987742
C: 50,000 - 69,999 105.627588 110.127931 2.3496854 .018792277
D: 70,000 - 89,999 106.630299 110.47287 2.26839281 .023307831
E: 90,000 - 109,999 103.396741 101.610416 -1.2603509 .207545662
F: 110,000 - 129,999 106.76476 105.981312 -.60580011 .544648553
G: 130,000 - 149,999 108.877532 107.31377 -.85219781 .394107755
H: 150,000 - 169,999 110.987258 107.152191 -1.9451486 .051762624
I: 170,000 - 189,999 102.808238 107.43556 2.14966921 .031587875
J: 190,000 - 249,999 108.040564 115.343356 2.54749867 .010854966
K: 250,000 - 299,999 112.377993 108.196097 -1.4115514 .158091676
L: 300,000 and above 120.970235 112.216342 -2.0726194 .038225611
107.121845 113.80441 .689462437 .490595765
106.663769 107.276386 1.07853782 .280794207
14 rows selected.
오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크 |
[SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크 |
'오라클 게시판 > 오라클 함수' 카테고리의 다른 글
【오라클(Oracle) SQL 함수】 STDDEV 함수 (0) | 2021.10.20 |
---|---|
[오라클 SQL 함수] STATS_WSR_TEST 함수 (0) | 2021.10.20 |
【오라클(Oracle) SQL 함수】 STATS_ONE_WAY_ANOVA 함수 (0) | 2021.10.20 |
【오라클(Oracle) SQL 함수】 STATS_MW_TEST 함수 (0) | 2021.10.20 |
【오라클(Oracle) SQL 함수】 STATS_MODE 함수 (0) | 2021.10.20 |
댓글