Search
Duplicate

수학/ Model Checking, Bayesian p-values

Model Checking

베이지안 추론과 decision making은 모델링 가정이 올바른 경우에만 최적이다. 따라서 관찰한 데이터가 모델이 정확할 경우 예상할 수 있는 데이터와 ‘typical’지 확인하려고 한다. 이것을 model checking이라 한다.

Posterior predictive checks

후보 모델 MM이 좋은지 평가하기 위해 어떤 데이터 D\mathcal{D}를 관찰한 후에 이 모델을 사용하여 posterior 예측 분포를 도출하여 합성(synthetic) 미래 데이터 셋을 생성하는 것을 상상할 수 있다.
D~sp(D~M,D)={y1:Nsp(M,θs),θsp(θD,M)}\tilde{\mathcal{D}}^s \sim p(\tilde{\mathcal{D}}|M,\mathcal{D}) = \{ \bold{y}_{1:N}^s \sim p(\cdot|M,\boldsymbol{\theta}^s),\boldsymbol{\theta}^s \sim p(\boldsymbol{\theta}|\mathcal{D},M)\}
이것은 모델의 ‘plausible hallucinations(그럴듯한 할루시네이션)’을 표현한다. 모델의 품질을 평가하기 위해 관찰된 데이터 D\mathcal{D}가 모델의 할루시네이션과 비교하여 얼마나 ‘typical’한지 계산할 수 있다.
이 비교를 수행하기 위해 하나 이상의 스칼라 검정 통계량(test statistics), test(D~s)\text{test}(\tilde{\mathcal{D}}^s)을 생성하고 실제 데이터의 검정 통계량 test(D)\text{test}(\mathcal{D})과 비교한다. 특정 모델을 사용하여 데이터의 모든 측면을 포착할 수 없으므로 이 통계량은 관심 있는 feature를 측정해야 한다.
서로 다른 ss에 대한sstest(D~s)\text{test}(\tilde{\mathcal{D}}^s)의 분포와 test(D)\text{test}(\mathcal{D})의 값 사이에 사이의 큰 차이가 있으면 해당 모델이 좋은 모델이 아니라는 것을 의미한다. 이 접근을 posterior predictive check라고 한다.

Bayesian p-values

관찰된 데이터의 어떤 검정 통계량 test(D)\text{test}(\mathcal{D})이 예측 분포의 왼쪽이나 오른쪽 꼬리에 나타나면 모델에서는 그럴 가능성이 매우 낮다. (실제 데이터의 극단적인 값이 모델에서는 잘 재현되지 않는것.)
이것을 Bayesian p-value 또는 posterior predictive p-value를 이용해서 정량화 할 수 있다.
pB=Pr(test(D~)test(D)M,D)p_B = \text{Pr}(\text{test}(\tilde{\mathcal{D}}) \ge \text{test}(\mathcal{D})|M,\mathcal{D})
여기서 MM은 사용 중인 모델을 나타내고 D~\tilde{\mathcal{D}}는 가상의(hypothetical) 미래 데이터셋이다. 반면 전통적인 또는 빈도주의의 p-value는 다음과 같이 정의된다.
pC=Pr(test(D~)test(D)M)p_C = \text{Pr}(\text{test}(\tilde{\mathcal{D}}) \ge \text{test}(\mathcal{D})|M)
여기서 MM은 null 가설을 표현한다. 핵심 차이는 베이지안은 관찰된 것을 데이터에 모델을 조건화한 후에 예상하는 것과 비교하는 반면, 빈도주의자들은 관찰된 것을 데이터와 무관한 널 가설의 샘플링 분포와 비교한다는 것이다.
다음처럼 몬테 카를로 적분을 사용하여 베이지안 p-value을 근사할 수 있다.
pB=I(test(D~)>test(D))p(D~θ)p(θD)dθ1Ss=1SI(test(D~s)>test(D))\begin{aligned} p_B &= \int \mathbb{I} \left(\text{test}(\tilde{\mathcal{D}}) > \text{test}(\mathcal{D})\right) p(\tilde{\mathcal{D}}|\theta)p(\theta|\mathcal{D})d\theta \\&\approx {1\over S} \sum_{s=1}^S \mathbb{I} \left(\text{test}(\tilde{\mathcal{D}}^s) > \text{test}(\mathcal{D}) \right) \end{aligned}
pBp_B에 대한 극단값 (예 0이나 1에 가까운)은 검정 통계 테스트를 통해 평가 할 때 관찰된 데이터가 모델에 발생할 가능성이 낮다는 것을 뜻한다. 그러나 test(D)\text{test}(\mathcal{D})가 모델의 충분 통계량이면 잘 추정될 가능성이 높으며 p-value는 0.5에 가까울 것이다.
데이터가 주어진 모델로부터 온 것인지 여부를 평가하려고 시도해서는 안 된다. 모델이 관심 있는 feature를 포착하는지 여부만 평가해야 한다.

참고