Approximate Bayesian Method
Bayesian inference를 요약하면 다음과 같다.
- 데이터의 분포에 관한 모형 (likelihood, )와
- 모델을 정하는 모수 (parameter)의 사전분포 (prior distribution, )를 이용하여
- 모수의 사후확률 (posterior probability, )를 구하고,
- 이를 이용하여 모수에 관한 추론을 진행
이 때, likelihood가 복잡하거나, 데이터가 아주 큰 경우에는 사후확률을 계산하는 것이 쉽지 않다.
이에 따라, 여러 근사 베이지안 방법 (approximate Bayesian method) 들이 제안되었다.
Markov Chain Monte Carlo (MCMC)
Markov Chain Monte Carlo (MCMC) 은 근사 베이지안 방법의 일종으로, 다음과 같이 진행된다.
- 사후분포를 이론적으로 구하는 대신 우리가 원하는 사후분포를 점근분포로 갖는 Markov chain을 만든다.
- 해당 chain을 충분히 진행히 진행하여 어느정도 수렴이 되면, 이로부터 sample을 추출한다.
- 이 sample을 사후분포의 sample로 볼 수 있으므로 이를 이용하여 추론을 진행한다.
사후분포의 형태에 따라, 깁스 샘플링 (Gibbs sampling) 또는 메트로폴리스-헤이스팅 샘플링 (Metropolis-Hastings sampling) 을 사용한다.
MCMC 방법은 복잡한 모형인 경우 또는 데이터가 큰 경우 계산속도가 느리다.
Markov Chain
를 을 분포로 갖는 시각 에서의 상태 벡터라고 하면, Markov property는 ‘다음 시점의 상태 은 오로지 현재의 상태 에만 의존하며, 그 이전에 일어난 사건과는 무관하다’라는 것을 말한다. 즉, 주어진 현재의 상태에 대하여 미래와 과거의 상태는 독립이다.
Markov property를 무기억성(memorylessness)라고도 한다.
Markov chain이란 여러 가능한 상태(state) 사이에서, 어느 한 상태로부터 다른 상태로의 전이(transition)를 겪는 수학적 시스템을 뜻하며, Markov property를 갖는 확률 변수 들의 수열로써 표현된다.
Markove chain에서 각 상태에서 다음 상태로 넘어갈 수 있는 확률를 전이확률(transition probability) 라고 하며, 전이확률을 matrix 형태로 나타낸 전이행렬(transition matrix) 또는 전이확률에 대한 함수인 전이함수를 이용하여 현재의 상태로부터 그 다음, 다다음 상태의 확률분포를 계속하여 계산하는 것이 가능하다.
이러한 과정을 반복하다 보면 특정 조건 하에서 현재 상태 (state)의 확률분포가 그 전 상태의 확률분포와 같아지는 때가 온다. 이렇게 평형상태에 도달한 확률분포를 정상분포(stationary distribution) 또는 점근분포(limiting distribution) 라고 하며, 이 분포는 초기값에 의존하지 않는다.
Procedure of MCMC
- 점근분포가 인 Markov chain 을 생성한다.
- 를 충분히 크게 만들어, 가 를 따른다고 가정하는데 무리가 없으면, 이후에 생성되는 을 저장한다.
- 이렇게 생성된 을 를 따르는 난수로 본다.
를 충분히 크게 만들어 초기값의 영향을 받지 않게 하는 과정을 burn-in period 라고 한다.
이제 문제는 이러한 Markov chain을 어떻게 만들 수 있을지가 되며, 이에 대한 하나의 해결책으로 Metropolis-Hastings algorithm이 있다.
Metropolis-Hastings Algorithm
Metropolis-Hastings algorithm 하에서 각 시각 에서 Markov chain의 다음 상태인 은 아래와 같은 과정을 통하여 결정된다.
-
어떠한 제안분포(proposal distribution) 로부터 후보(candidate point)가 되는 샘플 를 뽑는다.
- 제안분포는 현재의 상태인 에 의존할 수 있다.
- 예를 들어, 은 평균이 이고 고정된 공분산행렬을 가지는 다변량 정규분포일 수 있다.
-
각 시각 t에 대하여, 마코프 체인의 다음 상태인 을 결정하기위해 다음과 같은 Acceptance ratio를 사용한다.
후보가 되는 는 의 확률로 다음 상태로 받아들여질지 아닐지 결정된다.
- 위의 식은 마코프 체인의 수렴을 위한 조건중 하나인 정상분포의 존재성을 위한 Detailed Balance 조건으로부터 얻어진 식이다: .
- 제안분포와 관련된 확률식 을 위의 Detailed Balance 조건식에 대입해 항을 얻을 수 있다.
-
의 후보가 되는 를 로부터 생성한다. 그 다음 의 확률로 다음 상태를 로 할지를 결정한다.
- 만약 가 받아들여지면, 다음 상태는 가 된다.
- 만약 가 받아들여지지 않으면, 다음 상태는 가 된다.
Metropolis-Hastings algorithm은 원래 분포인 을 정확히 몰라도 쓸 수 있다는 장점이 있다. 즉, 정확한 확률분포가 아니라 그에 비례하는 비정규화 분포 (un-normalized distribution)만 알아도 알고리즘을 사용할 수 있다.
하지만, 목표로 하는 의 분포를 따르는 로 수렴하는데까지 시간이 오래 걸릴 수 있다는 단점이 있다.
Example of Metropolis-Hastings Algorithm - Cauchy Model
(i.i.d)인 데이터를 생각하자. 이 때, 의 사전확률로 를 가정하자 (첫번째 는 확률밀도함수, 두번째 는 원주율).
이 경우, Bayes theorem에 의해 의 사후확률은 다음과 같다.
이 사후분포의 형태 (의 함수로서)는 일반적인 꼴 (아는 분포)이 아니므로, Metropolis-Hastings algorithm을 이용하여 정상분포가 이 되는 Markov chain을 생성하여 sampling을 진행할 수 있다.
우선 제안분포 를 으로 정한다. 이 경우에 해당하는 acceptance ratio 식을 계산한다.
이 때의 Metropolis-Hastings algorithm은 다음과 같이 동작한다.
- 초기값 을 설정한다. 예를 들어, . 이 후, 부터 까지 다음 단계들을 반복한다.
- 로부터 체인의 다음상태에 대한 후보로 를 생성한다.
- Acceptance ratio 를 계산한다.
- 을 따르는 을 생성한다.
- 이면 , 아니면 로 둔다.
이렇게 생성한 난수들로 의 사후 기댓값, 사후 중앙값, 사후 최빈값 등을 근사적으로 추정할수 있다.
Gibbs Sampling
Gibbs 샘플링은 다변수 확률 분포로부터 샘플을 생성하는 근사 베이지안 방법 중 하나이다. 이를 통해 복잡한 다변수 분포의 샘플링 문제를 각 변수의 조건부 분포로 나눠서 해결할 수 있다.
기본 아이디어는 -차원의 모수의 사후분포로부터 생성하는 Markov chain을 개의 1차원 모수의 조건부 사후분포의 Markov chain으로 만들어 난수를 생성하겠다는 것이다.
예를 들어, 데이터 이 을 따른다고 했을때 관심모수는 이므로 2차원 모수로 볼 수 있다. 사후확률분포는 이다.
Markov chain의 시작점을 라 할 때, Gibbs sampler는 아래와 같은 알고리즘으로 로부터 를 만들어 낸다:
이 조건부 분포들을 우리가 아는 경우에는 그냥 sampling을 진행하고, 모르는 경우에는 Metropolis-Hastings algorithm을 통한 sampling을 진행한다.
Gibbs sampling은 다음과 같은 확률벡터열을 만들어낸다.
이 확률벡터열에서, 는 오로지 을 통해서만 에 의존한다. 즉, 는 주어진 에 대하여 에 조건부 독립이 된다. 즉, Markov property를 만족한다.
Example of Gibbs Sampling
데이터가 정규분포를 따를 때의 와 에 대해 적절한 사전분포를 이용하여 Gibbs sampling을 통한 Bayesian inference를 해보자.
예를 들어, 각 Lot별 생산된 wafer들의 수율이 정규분포를 따른다고 하자. 이 때, 50개의 Lot을 랜덤 추출했을 때의 Lot 별 수율데이터를 (i.i.d.)이라고 정의하자.
의 사전분포로는 실수 위에서의 균등분포(improper prior), 의 사전분포로는 Jeffreys’ prior인 를 이용하자.
즉,
. 즉, 모수들 간은 independent하다고 가정. {: .prompt-info}
그러면 데이터 에 대하여 다음과 같은 조건부 확률분포를 구할 수 있다.
따라서, 매 Gibbs step에서 를 추출할 때에는 와 를 평균과 분산으로 가지는 정규분포를 이용한다.
를 추출할때는 shape parameter 가 , scale parameter 가 인 inverse Gamma distribution를 이용한다.
즉, Gibbs sampling algorithm은 다음과 같이 진행된다.
-
초기값 을 정한다. 이 후, 부터 까지 다음 단계들을 반복한다.
-
-
Convergence of MCMC
MCMC의 수렴여부를 나타내는 방법으로는 Gelman and Rubin 진단이 주로 사용된다. 이는 체인간(between-chains) 분산과 체인내(within-chain) 분산을 이용한 진단법이다.
우선 길이가 인 개의 chain이 있다고 가정하자.
이 때, 모형의 모수 에 대하여 를 각각 번째 체인으로 구한 표본 사후 평균과 표본 사후 분산이라고 하자. 또, 전체 표본 사후 평균을 이라 하자.
이 경우, 체인간 분산(B)과 체인내 분산(W)을 다음과 같이 계산한다.
이후, B와 W을 이용하여 다음의 통계량을 계산한다.
이 때, (특정 정상 조건에서 합동 분산)은 다음과 같다.
위 통계량 을 Potential Scale Reduction Factor (PSRF) 이라고 부른다. 만약 개의 chain이 목표로 하는 사후 분포로 수렴하면, PSRF의 값은 1에 근접하게 된다.
따라서, 모형의 모든 모수에 대하여 를 만족하면 MCMC가 수렴한다고 말할 수 있다.