STATS_T_TEST_*
t-test 함수는 다음과 같습니다:
STATS_T_TEST_ONE: 단일 샘플 t-test (one-sample t-test)
STATS_T_TEST_PAIRED: 두 개 샘플 t-test 또는 한 쌍의 t-test (two-sample, paired t-test)
STATS_T_TEST_INDEP: 분산이 동일한 두 독립 그룹의 t-test (pooled variances)
STATS_T_TEST_INDEPU: 분산이 다른 두 독립 그룹의 t-test (unpooled variances)
구문
{
STATS_T_TEST_ONE ( expr1 [, expr2 ]
|
{ { STATS_T_TEST_PAIRED
| STATS_T_TEST_INDEP
| STATS_T_TEST_INDEPU
} ( expr1, expr2
}
}
[, { { STATISTIC | ONE_SIDED_SIG } , expr3 | TWO_SIDED_SIG | DF } ] )
목적
t-test은 평균 차이의 유의성을 측정합니다. 이를 사용하여 두 그룹의 평균 또는 한 그룹의 평균을 상수와 비교할 수 있습니다. 각 t-test 함수는 두 개의 표현식 인수를 취하며, 단일 샘플 함수 (STATS_T_TEST_ONE)의 경우 두 번째 표현식은 선택적입니다. 각 t-test 함수는 선택적으로 세 번째 인수를 사용하며, 이를 통해 함수가 반환하는 NUMBER 값의 의미를 지정할 수 있습니다. 이것은 표 7-9에 표시된 대로 의미를 지정합니다. 이 인수에는 텍스트 리터럴을 지정하거나 상수 문자 값으로 평가되는 바인드 변수 또는 표현식을 사용할 수 있습니다. 세 번째 인수를 생략하면 기본값은 'TWO_SIDED_SIG'입니다.
참고:
Oracle Database Globalization Support Guide의 부록 C는 STATS_T_TEST_* 함수의 정렬 결정 규칙(collation determination rules)에 대한 정보를 제공합니다.
표 7-9 STATS_T_TEST_* 반환 값
인수 | 반환 값 의미 |
'STATISTIC' | t의 관측값 |
'DF' | 자유도(Degree of freedom) |
'ONE_SIDED_SIG' | t의 단측 유의성(significance) |
'TWO_SIDED_SIG' | t의 양측 유의성(significance) |
두 독립 STATS_T_TEST_* 함수는 세 번째 인수로 'STATISTIC' 또는 'ONE_SIDED_SIG'가 지정된 경우 네 번째 인수 (expr3)를 사용할 수 있습니다. 이 경우 expr3은 expr1의 어떤 값이 높은 값 또는 상단 꼬리의 거부 영역에 해당하는 값을 나타냅니다.
t의 관측값의 유의성은 t의 값이 우연히 얻어진 확률로, 0과 1 사이의 수입니다. 값이 작을수록 평균 간의 차이가 유의미합니다. 일측 유의성은 항상 상단 꼬리와 관련이 있습니다. 단일 샘플 및 쌍체 t-검정의 경우 높은 값은 첫 번째 표현식입니다. 독립 t-검정의 경우 높은 값은 expr3에 의해 지정된 값입니다.
자유도는 t-test의 유형에 따라 관측된 t 값에 따라 다릅니다. 예를 들어, 단일 샘플 t-test (STATS_T_TEST_ONE)의 경우 자유도는 샘플 내 관측값 수에서 1을 뺀 값입니다.
STATS_T_TEST_ONE
STATS_T_TEST_ONE 함수에서 expr1은 샘플이며 expr2는 샘플 평균이 비교되는 상수 평균입니다. 이 t-test에서만 expr2는 선택적으로 사용할 수 있으며, 상수 평균은 기본적으로 0으로 설정됩니다. 이 함수는 t 값을 얻기 위해 샘플 평균과 알려진 평균의 차이를 평균의 표준 오차로 나누어 계산합니다 (STATS_T_TEST_PAIRED의 경우 평균의 차이의 표준 오차가 아님).
STATS_T_TEST_ONE 예제
다음 예제는 평균 목록 가격과 상수 값 60 사이의 차이의 유의성을 결정합니다:
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;
GROUP_MEAN T_OBSERVED TWO_SIDED_P_VALUE
---------- ---------- -----------------
139.545556 2.32107746 .023158537
STATS_T_TEST_PAIRED
STATS_T_TEST_PAIRED 함수에서 expr1 및 expr2는 평균을 비교하는 두 샘플입니다. 이 함수는 t 값을 얻기 위해 샘플 평균의 차이를 평균 차이의 표준 오차로 나누어 계산합니다 (STATS_T_TEST_ONE의 경우 평균의 표준 오차가 아님).
STATS_T_TEST_INDEP와 STATS_T_TEST_INDEPU
STATS_T_TEST_INDEP 및 STATS_T_TEST_INDEPU 함수에서 expr1은 그룹화 열이며 expr2는 값의 샘플입니다. 풀드 분산 버전인 STATS_T_TEST_INDEP는 유사한 분산을 가진 두 분포의 평균이 동일한지 다른지를 테스트합니다. 비풀드 분산 버전인 STATS_T_TEST_INDEPU는 두 분포의 분산이 크게 다른 것으로 알려져 있더라도 평균이 동일한지 다른지를 테스트합니다.
이러한 함수를 사용하기 전에 샘플의 분산이 유의하게 다른지 여부를 판단하는 것이 좋습니다. 그렇다면 데이터는 서로 다른 형태의 분포에서 나올 수 있으며 평균의 차이는 그다지 유용하지 않을 수 있습니다. 분산의 차이를 결정하기 위해 f-테스트를 수행할 수 있습니다. 만약 분산이 유의하게 다르지 않다면 STATS_T_TEST_INDEP를 사용하십시오. 그렇지 않으면 STATS_T_TEST_INDEPU를 사용하십시오. f-test 수행에 대한 정보는 STATS_F_TEST를 참조하십시오.
STATS_T_TEST_INDEP 예제
다음 예제는 분포가 유사한(pooled) 분산을 가질 것으로 가정한 상황에서 남성과 여성 간의 평균 판매량 차이의 유의성을 결정합니다:
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', 'F') 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)
ORDER BY income_level, sold_to_men, sold_to_women, t_observed;
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 예제
다음 예제는 분포가 크게 다른 (unpooled) 분산을 가질 것으로 알려진 상황에서 남성과 여성 간의 평균 판매량 차이의 유의성을 결정합니다:
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', 'F') 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)
ORDER BY income_level, sold_to_men, sold_to_women, t_observed;
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.
출처: 오라클 레퍼런스
원문 링크: Oracle STATS_T_TEST_* 함수 문서
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] STDDEV - 샘플 데이터의 표준 편차 반환 (데이터가 1건인 경우 0 반환) (0) | 2023.08.21 |
---|---|
[오라클 레퍼런스 함수] STATS_WSR_TEST - 짝지은 샘플의 중앙값 차이 유의성 검정(test) (0) | 2023.08.21 |
[오라클 레퍼런스 함수] STATS_ONE_WAY_ANOVA - 두 그룹의 분산 추정치 비교 (0) | 2023.08.20 |
[오라클 레퍼런스 함수] STATS_MW_TEST - 두 모집단 비교 통계 검정(test) (0) | 2023.08.20 |
[오라클 레퍼런스 함수] STATS_MODE - 최빈값(가장 높은 빈도수) 값 반환 (0) | 2023.08.20 |
댓글