About

두 개의 동전이 있다. 우리는 이 두 동전을 던져서 앞면이 나오는지 뒷면이 나오는지를 확인하며 데이터를 모았다고 가정하자. 이 두 동전은 같은 확률을 가진 동전인지 검정하고 싶다면 어떻게 해야할까?

위와 같은 케이스로 이항 분포(Binomial distribution), 각 시도가 성공/실패 혹은 1/0의 결과만을 갖는 N번의 시도를 하는 A, B 두 개의 다른 실험이 같은 확률변수라는 것을 검정하는 것은 필자가 회사에서 해결해야 했던 문제였다. 다행히 링크(Test if two binomial distributions are statistically different from each other)와 같이 같은 고민을 하는 사람이 있어서 해결하였는데, 한글로 설명된 경우는 찾기 어려웠기에 이번 블로그를 통해 그 방법과 더불어 간단하게 많이 사용되는 검정통계량인 Z-test와 Student t-test을 소개하고자 한다.

이 블로그는 대부분 논문(Test of Hypothesis - Concise Formula Summary)을 번역한 내용이며, 데이터 사이언스 스쿨 9.4 검정과 유의확률에서 배운 점도 일부 가져왔음을 미리 밝힌다.

Common Notations

먼저 설명하기에 앞서 간략하게 수학 기호들을 살펴보자. 이 블로그에서 검정이 무엇인지 자세히 설명하는 것은 생략하겠다. 위에서 소개한 데이터 사이언스 스쿨 링크에서 자세히 확인할 수 있으니 참고하도록 하자.

수학 기호 설명
$H_{0}$ 귀무가설
$H_{1}$ or $H_{a}$ 대립가설
$\mu$ 전체 평균 혹은 이론적 평균
$\bar x$ 표본 평균
$\sigma^2$ 전체 분산 혹은 이론적 분산
$s^2$ 표본 분산
$\frac{\sigma}{\sqrt n}$ 전체 표준 편차 혹은 이론적 표준 편차
$\frac{s}{\sqrt n}$ 표본 표준 편차
$\alpha$ Type 1 error(1종 오류)
$\beta$ Type 2 error(2종 오류)
$\nu$ or df 자유도 (Degree of freedom)

Z-test and Student t-test

검정통계량(Test Statistic)은 표본의 크기에 따라 다른 방법으로 구해야 한다. 하지만, 기각역(Rejection Region)은 항상 같다. 검정통계량으로 쓰이는 방법 중에 이 블로그에서는 Z-test, Student t-test를 소개하겠다.

Z-test는 분포의 평균을 검정하는데 쓰이므로 이론적 분산은 이미 알고있어야한다. 그래서 Z-test의 검정을 확인하는 것에는 오직 하나의 값만으로 판단할 수 있지만, Student t-test는 표본의 크기에 따라서 자유도(Degree of freedom)도 변경해야 할 수 있어서 두 가지 값이 검정 판단에 영향을 끼칠 수 있다.

언뜻 듣기에도 Z-test가 더 좋아보이지만 현실적으로는 이론적 분산을 알기가 어렵기 때문에 Student t-test를 써야하는 경우가 많다. 보통 표본의 크기가 30보다 크거나 같은 경우에는 Z-test를 사용하는게 좋지만 그 미만인 경우에는 Student t-test가 더 적합하다고 하니 알아두자.

Let’s look at the question

여기서는 위에서 설명한 두개의 동전이 똑같은 비율로 앞, 뒷면이 나오는 것인지 검정하는 방법만을 소개하겠다. 하지만, 위에 소개한 논문 링크를 통해서는 평균 가설 감정, 분산 가설 검정 및 비율 가설 검정까지 샘플 개수(n>=30 및 n<30) 별로 권장하는 검정통계량들이 소개되어있으니 자세히 공부하고자 하는 분들을 꼭 참고하도록 하자.

회사 일은 외부에 알릴 수 없으므로 위의 링크에서 소개된 상황을 설명하자면 이렇다.

  • 1번째 동전을 던진 횟수 : 2455
  • 2번째 동전을 던진 횟수 : 2730
  • 1번째 동전이 앞면이 나온 경우 : 1556
  • 2번째 동전이 앞면이 나온 경우 : 1671
  • 1번째 동전이 앞면이 나올 비율 : 1556/2455 = 63.4%
  • 2번째 동전이 앞면이 나올 비율 : 1671/2730 = 61.2%

우리가 알고싶은 점은 위의 두 동전이 같은 확률로 앞면이 나오게끔 만들어졌는가? 하는 점이다. 그래서 귀무가설은 $\mu_{1} == \mu_{2}$ 이 된다. 이 경우에 주의할 점이 있다면 베르누이 분포의 분산은 $\mu(1-\mu)$ 이므로 만약 둘의 평균이 다르다면 분산도 다르며 반대의 경우도 참이된다는 것이다.

How to solve

이제 위의 논문에서 소개한 방법들을 살펴보면 이런 문제일때 우리가 사용할 수 있는 방법은 아래와같이 총 3가지로 보인다.

  • 표본 개수가 30개 이상일 경우(2가지)

    1. Z-test를 이용하여 평균 가설을 검정한다.
    $$ H_{0}: \mu_{1} - \mu_{2} = \delta_{0} $$
    $$ TS: Z = \frac{\bar x_{1} - \bar x_{2} - \delta_{0}}{\sqrt{{\frac{s_{1}^{2}}{n_{1}}} + \frac{s_{2}^{2}}{n_{2}}}} $$
    $H_{1}$ $RR$
    $\mu_{1} - \mu_{2} < \delta_{0}$ $Z < -z_{\alpha}$
    $\mu_{1} - \mu_{2} > \delta_{0}$ $Z > z_{\alpha}$
    $\mu_{1} - \mu_{2} \neq \delta_{0}$ $\lvert Z\rvert > -z_{\alpha/2}$

    우리는 평균이 서로 같다는 가설을 검정하는 것이므로 $\delta_{0} = 0$이 된다.

    1. Z-test를 이용하여 비율 가설을 검정한다. 비율과 확률에는 차이가 엄밀하게는 차이가 있지만 이번 블로그에서는 소개하지 않겠다.
    $$ H_{0}: p_{1} = p_{2} $$
    $$ TS: Z = \frac{\hat p_{1}-\hat p_{2}-\delta_{0}}{\sqrt{\hat p(1-\hat p)(\frac{1}{n_{1}} + \frac{1}{n_{2}})}},\ \hat p = \frac{x_{1}+x_{2}}{n_{1}+n_{2}} $$
    $H_{1}$ $RR$
    $p_{1} < p_{2}$ $Z < -z_{\alpha}$
    $p_{1} > p_{2}$ $Z > z_{\alpha}$
    $p_{1} \neq p_{2}$ $\lvert Z\rvert > -z_{\alpha/2}$

    우리는 평균이 서로 같다는 가설을 검정하는 것이므로 $\delta_{0} = 0$이 된다.

  • 표본 개수가 30개 미만인 경우(1가지)

    1. Student t-test를 이용하여 두 표본의 평균 가설을 검정한다.
    $$ H_{0}: \mu_{1} - \mu_{2} = \delta_{0} $$
    $$ TS: Z = \frac{\bar x_{1} - \bar x_{2} - \delta_{0}}{S_{p}\sqrt{{\frac{1}{n_{1}}} + \frac{1}{n_{2}}}} $$ $$ S_{p} = \sqrt{\frac{(n_{1}-1)s_{1}^{2}+(n_{2}-1)s_{2}^{2}}{n_{1}+n_{2}-2}} $$
    $$ df: \nu = n_{1}+n_{2}-2 $$
    $H_{1}$ $RR$
    $\mu_{1} - \mu_{2} < \delta_{0}$ $t < -t_{\alpha,\nu}$
    $\mu_{1} - \mu_{2} > \delta_{0}$ $t > t_{\alpha,\nu}$
    $\mu_{1} - \mu_{2} \neq \delta_{0}$ $\lvert t\rvert > -t_{\alpha/2,\nu}$

    여기서도 평균이 서로 같다는 가설을 검정하는 것이므로 $\delta_{0} = 0$이 된다.

    여기서 $S_{p}^{2}$는 분산의 합동 추정값(pooled estimate of variance)이라 불리는 것인데 만약

    $$ \lvert s_{1} - s_{2}\rvert >= 4 $$

    이면 두 분산이 다르다고 보고 평균을 검정해야하므로 우리 케이스에서는 이미 다르다는 것을 검정하게 되는 것이다.

Conclusion

간단하게 두개의 표본셋이 이항분포의 경우에 같은 확률분포인지 검정하는 법을 알아보았다. 위의 논문에서 간결하게 잘 설명되어있으니 다들 살펴보면 도움이 될 것이라 생각한다. 무엇보다도 상황에 따라 자신이 선택하여 응용해서 사용할 수 있다는 점이 큰 장점이다. 필자의 경우는 유의수준을 5%로 지정하였으므로 기각역을 $z_{\alpha/2} = 1.96$으로 설정하여 진행했으나 상황에 따라 그 값은 변경하면 되겠다.