두 표본에 대한 모평균 검정을 할 때는 표본이 대응하는 표본인지, 독립된 표본인지에 따라 표준편차를 구하는 방법이 달라집니다.
또 독립된 표본이라도 모분산을 알고 있을 때와 모분산을 모를 때의 검정 방법에 차이가 있습니다.
1. 대응표본 t검정(Paired-sample t test)
대응표본은 검정하려고 하는 두 표본이 동일한 대상일 때 사용 가능합니다.
A, B, C, D라는 표본이 있고, 어떠한 처리가 주어진 후 결과가 A', B', C', D'이 될 때, 표본은 동일하지만 통계치는 달라지게 됩니다.
처리 전 | 처리 후 | |
A | 13 | 15 |
B | 16 | 18 |
C | 19 | 17 |
D | 11 | 13 |
위와 같이 검정하고자하는 표본이 동일한 경우에 대응표본 t검정을 수행할 수 있습니다.
import numpy as np
from math import sqrt
def paired_sample_t_test(x: np.array, y: np.array, mu: float=0) -> float:
data = x - y
x_bar = np.mean(data)
std = np.std(data, ddof=1)
return (x_bar - mu) * sqrt(len(x)) / std
x = np.array([13, 16, 19, 11])
y = np.array([15, 18, 17, 13])
paired_sample_t_test(x, y, 0) # -1.0
대응표본을 시행했을 때의 t 검정통계량을 구할 수 있습니다.
이 때의 자유도는 n - 1이 됩니다.
2 독립표본 t검정(unpaired-sample t test)
1) 모분산을 아는 경우
이 때 t의 임계치의 자유도는 다음과 같이 구할 수 있습니다.
이 때 자유도가 실수값이 나온다면 내림을 하여 자유도를 계산할 수 있습니다.
2) 모분산을 모르는 경우
① 두 모집단의 분산이 동일하다는 가정이 없는 경우(t-test without pooled variance)
② 두 모집단의 분산이 동일하다는 가정이 있는 경우(t test with pooled variance)
표본의 크기가 충분히 크지 않을 때는 합동분산을 이용해 구한 값을 표준편차로 사용할 수 있습니다.
이 때의 자유도는 n + m - 2가 됩니다.
'DataScience' 카테고리의 다른 글
[ML] 다층 퍼셉트론(multi-layer perceptron) (0) | 2022.10.29 |
---|---|
[ML] 퍼셉트론 (Perceptron) (1) | 2022.10.29 |
[Python] t분포의 신뢰구간(Confidence Interval, CI) (0) | 2022.10.05 |
[Python] 통계량을 이용해 t 검정, z 검정(t-test, z-test) (0) | 2022.10.02 |
[ML] 분류모형의 평가지표(confusion matrix, accuracy, precision, sensitivity(recall), specificity, F1-score) (0) | 2022.09.02 |