전통적인 베이즈 기반의 가설검정은 귀무가설 $H_{0}$과 대립가설 $H_{1}$을 세우고 베이즈 요소(Bayes Factor) $\frac{p(\mathcal{D} \mid H_{0})}{p(\mathcal{D} \mid H_{1})}$을 계산해 모델을 비교하게 됩니다. 하지만, 이 방식은 주변우도 계산이 복잡하고 사전 확률분포 선택에 민감하다는 문제점이 있습니다.
또한, 실질적으로는 효과가 0인지 아닌지 보다는 효과 크기(effect size) 자체를 추정하는 데 더 큰 관심이 있습니다. 예를 들어, 두 모델의 성능 차이가 0.1%라도 통계적으로 유의할 수는 있지만 그게 실질적으로 의미 있는 차이일까요? 이런 경우에는 단순히 $p(\Delta > 0 \mid \mathcal{D})$ 대신 의미 있는 최소 차이 $\epsilon$을 기준으로 $p(\Delta > \epsilon \mid \mathcal{D})$ 또는 $p(|\Delta| > \epsilon \mid \mathcal{D})$을 계산하는 것이 더 현실적입니다.
일반적으로 ROPE(Region of Practical Equivalence)를 "실질적으로 차이가 없다"라고 보는 구간 $[-\epsilon, \epsilon]$을 말합니다. 이를 가설검정에 대입해보면 이런식으로 생각해볼 수 있죠.
- $H_{0}: \Delta \in [-\epsilon, \epsilon]$: 두 방법이 사실상 별 차이가 없음
- $H_{A}: \Delta > \epsilon$: $m_{1}$이 $m_{2}$보다 좋음
- $H_{B}: \Delta < -\epsilon$: $m_{2}$이 $m_{1}$보다 좋음
이렇게 정의하면 복잡한 베이즈 요소를 계산하지 않고 사후 확률분포 $p(\Delta \mid \mathcal{D})$만 구하면 됩니다. 이제 가설을 세웠으니 검정을 해볼 차례입니다. 오늘은 이 검정 방법에 대해서 소개하도록 하겠습니다.
1. 베이지안 $t$-검정(Bayesian $t$-test)
두 분류기 $m_{1}$과 $m_{2}$를 같은 테스트 셋에 적용했다고 가정하겠습니다. 각 샘플 $i$에서 $m_{1}$과 $m_{2}$의 오차를 각각 $e^{1}_{i}$와 $e^{2}_{i}$라고 하면 그 차이는 $d_{i} = e^{1}_{i} - e^{2}_{i}$가 됩니다. 이제 이 차이값 $d_{i}$가 가우시안 분포 $\mathcal{N}(\Delta, \sigma^{2})$를 따른다고 가정하겠습니다. 이제 저희가 구하고자 하는 것은 사후 확률분포 $p(\Delta \mid d)$입니다. 여기서, $d = \{ d_{1}, \dots, d_{N} \}$입니다.
비정보적 사전 확률분포를 사용한다고 가정했을 때 평균 $\mu = \frac{1}{N} \sum_{i = 1}^{N} d_{i}$와 분산 $s^{2} = \frac{1}{N - 1} \sum_{i = 1}^{N} (d_{i} - \mu)^{2}$을 추정해 $\Delta$의 사후 확률분포가 자유도 $N - 1$의 Student $t$ 분포가 됩니다.
$$p(\Delta \mid d) = t_{N - 1} \left( \Delta \mid \mu, \frac{s^{2}}{N} \right)$$
비정보적 사전 확률분포를 사용한다고 가정했을 때 표본 $d = (d_{1}, \dots, d_{N})$에 대해 표본평균 $\mu = \frac{1}{N} \sum_{i = 1}^{N} d_{i}$와 분산 $s^{2} = \frac{1}{N - 1} \sum_{i = 1}^{N} (d_{i} - \mu)^{2}$을 계산할 수 있다. 가우시안 분포의 표준 분해식을 다음과 같이 구할 수 있다.
$$\begin{align} \sum_{i = 1}^{N} (d_{i} - \Delta)^{2} &= \sum_{i = 1}^{N} \left[ (d_{i} - \mu) + (\mu - \Delta) \right]^{2} \\ &= \sum_{i = 1}^{N} (d_{i} - \mu)^{2} + 2(\mu - \Delta) \sum_{i = 1}^{N} (d_{i} - \mu) + \sum_{i = 1}^{N} (\mu - \Delta) \\ &= (N - 1)s^{2} + N(\Delta - \mu)^{2} \end{align}$$
여기서 각 차이가 가우시안 분포를 따른다고 가정하였기 때문에 우도는 다음과 같다.
$$p(d \mid \Delta, \sigma^{2}) = (2\pi\sigma^{2})^{\frac{N}{2}} \text{exp} \left( -\frac{1}{2\sigma^{2}} \sum_{i = 1}^{N} (d_{i} - \Delta)^{2} \right)$$
또한, 비정보 사전인 $p(\Delta, \sigma^{2}) \propto \frac{1}{\sigma^{2}}$을 쓴다고 가정하였기 때문에 정규화 상수를 무시하면 사후 확률분포는 다음과 같이 쓸 수 있다.
$$p(\Delta, \sigma^{2} \mid d) \propto (\sigma^{2})^{\left(-\frac{N}{2} + 1\right)} \text{exp} \left( -\frac{(N - 1)s^{2} + N(\Delta - \mu)^{2}}{2\sigma^{2}} \right) $$
위 식에서 $\Delta$에 관한 식만 고려해본다면 $\text{exp}\left( -\frac{N(\Delta - \mu)^{2}}{2\sigma^{2}} \right)$이 된다. 따라서, 이를 $\Delta \mid \sigma^{2}, d \sim \mathcal{N}\left( \mu, \frac{\sigma^{2}}{N} \right)$이라고 할 수 있다. 이제 $\Delta$에 대해서 적분하면 다음과 같다.
$$\int_{-\infty}^{\infty} \text{exp} \left( -\frac{N(\Delta - \mu)^{2}}{2\sigma^{2}} \right) \; d\Delta = \sqrt{\frac{2\pi\sigma^{2}}{N}}$$
여기서 $\Delta$를 제외한 남은 항은 $p(\sigma^{2} \mid d) \propto (\sigma^{2})^{-(\frac{N}{2} + 1)} (\sigma^{2})^{\frac{1}{2}} \text{exp} \left( -\frac{(N - 1)s^{2}}{2\sigma^{2}} \right)$이다. 여기서 $(\sigma^{2})^{\frac{1}{2}}$는 $\Delta$에 대한 적분을 수행했을 때 나온 항이다. 이제 지수부의 지수 합 부분을 정리하면 다음과 같다.
$$(\sigma^{2})^{-\frac{N - 1}{2} - 1} \text{exp} \left( -\frac{(N - 1)s^{2}}{2\sigma^{2}} \right)$$
이때, Inverse Gamma 분포의 PDF가 $\text{InvGamma}(\alpha, \beta): p(x) \propto x^{-(\alpha + 1)}\text{exp}\left( -\frac{\beta}{x} \right)$이기 때문에 $\alpha = \frac{N - 1}{2}$ 그리고 $\beta = \frac{(N - 1)s^{2}}{2}$이므로 다음과 같이 표현할 수 잇다.
$$\sigma^{2} \mid d \sim \text{InvGamma}\left( \frac{N - 1}{2}, \frac{(N - 1)s^{2}}{2} \right)$$
여기서 Inverse $\chi^{2}$ 분포는 Inverse Gamma 분포의 특수한 형태로 $\text{Inv}-\chi^{2}(\nu, \tau^{2}) = \text{InvGamma}\left( \frac{\nu}{2}, \frac{\nu\tau^{2}}{2} \right)$ 때문에 $\nu = N- 1$ 그리고 $\tau^{2} = s^{2}$이라고 두면 다음과 같이 Inverse $\chi^{2}$ 분포 형태로 작성할 수 있다.
$$\sigma^{2} \mid d \sim \text{Inv-}\chi^{2}(N - 1, s^{2})$$
마지막 단계로 $\sigma^{2}$을 적분하여 $\Delta$에 대한 주변 사후를 얻어야한다. 그 전에 결과를 정리하면 다음과 같다.
$$\begin{cases} &\Delta \mid \sigma^{2}, d \sim \mathcal{N}\left(\mu, \frac{\sigma^{2}}{N}\right) \\ &\sigma^{2} \mid d \sim \text{Inv-}\chi^{2} (N - 1, s^{2}) \end{cases}$$
즉, $\Delta$는 $\sigma^{2}$이 주어졌을 때 가우시안 분포를 따르고 $\sigma^{2}$ 자체는 Inverse $\chi^{2}$ 분포를 따루는 가우시안-역감마(또는 가우시안-역카이제곱) 결합 구조를 가지게 된다. 여기서 $\Delta$의 주변 사후 분포 $p(\Delta \mid d)$를 얻으려면 $\sigma^{2}$을 제거해야하므로 다음 식을 풀어야한다.
$$p(\Delta \mid d) = \int p(\Delta, \sigma^{2} \mid d ) \; d\sigma^{2} = \int p(\Delta \mid \sigma^{2}, d) p(\sigma^{2} \mid d) \; d\sigma^{2}$$
여기서 첫번째 항은 가우시안 분포의 PDF 이고 두번째 항은 Inverse $\chi^{2}$ 분포의 PDF이다. 이때, 가우시안 분포와 Inverse $\chi^{2}$ 분포는 서로 공액 조건을 만족하기 때문에 $\sigma^{2}$에 대해서 적분하면 결과가 스튜던트 $t$ 분포가 된다는 것을 알 수 있다.
$$\frac{\Delta - \mu}{\frac{s}{\sqrt{N}}} \mid \sim t_{N - 1} \Rightarrow \Delta \mid d \sim t_{N - 1} (\mu, \frac{s}{\sqrt{N}})$$
이제 이 사후 확률분포를 이용해 $p(|\Delta| > \epsilon \mid d)$를 계산하면 $\epsilon$을 기준으로 ROPE 내외에서 두 모델이 실질적으로 차이가 있는 지를 평가할 수 있습니다.
2. 베이지안 $\chi^{2}$-검정(Bayesian $\chi^{2}$-test)
이번에는 두 분류기를 서로 다른 테스트 데이터셋에서 평가했다고 가정하겠습니다. $m_{1}$은 $N_{1}$번 시도 중 $y_{1}$ 번 성공했고 $m_{2}$은 $N_{2}$번 시도 중 $y_{2}$ 번 성공했다고 가정하겠습니다. 그러면 각 모델의 성공률은 $\theta_{1} = \frac{y_{1}}{N_{1}}$ 그리고 $\theta_{2} = \frac{y_{2}}{N_{2}}$라고 쓸 수 있습니다. 그러면 두 모델 사이의 성능 차이는 $\Delta = \theta_{1} - \theta_{2}$가 되죠.
두 확률 $\theta_{1}$과 $\theta_{2}$에 대해서 $\text{Beta}(1, 1)$, 즉 $[0, 1]$ 구간에서 균일한 사전 확률분포를 만들어보겠습니다. 이때, 데이터셋 $\mathcal{D} = \{ y_{1}, N_{1}, y_{2}, N_{2} \}$가 주어졌을 때 사후 확률분포는 다음과 같습니다.
$$p(\theta_{1}, \theta_{2} \mid \mathcal{D}) = \text{Beta}(y_{1} + 1, N_{1} - y_{1} + 1) \times \text{Beta}(y_{2} + 1, N_{2} - y_{2} + 1)$$
즉, 각 비율은 베타 분포의 형태로 업데이트 됩니다. 최종적으로 저희가 관심있는 대상은 $p(\Delta \mid \mathcal{D})$입니다. 이를 얻기 위해서는 $\theta_{1}$과 $\theta_{2}$의 사후 분포로부터 $\Delta$에 해당하는 값을 적분해서 계산하면 됩니다. 그 결과 의미있는 최소 차이 $\epsilon$을 기준으로 다음과 같이 확률을 구할 수 있습니다.
$$p(\Delta > \epsilon \mid \mathcal{D}) = \int_{\epsilon}^{\infty} p(\Delta \mid \mathcal{D}) \; d\Delta$$