직접적인 표본 추출을 할 수 없을 때, MCMC를 활용하여 표본 추출을 할 수 있다.
현재 상태 $X_t$가 주어졌을 때 다음 상태 $X_{t+1}$의 분포가 과거 전체가 아니라 현재 상태에만 의존한다.
$P(X_{t+1}|X_t, X_{t-1}, …, X_0) = P(X_{t+1}|X_t)$
Markov Chain Monte Calro(MCMC)는 직접 표본을 추출하기 어려운 확률분포에서, Markov Chain을 이용해 간접적으로 표본을 생성하는 방법이다. 대표적으로 Metropolis Hastings과 Gibbs Sampling 등이 있다.
직접 샘플링하기 어려운 목표 분포를 $\pi(x)$라고 할 때, 우리가 원하는 표본은 $X \sim \pi(x)$ 이다.
Markov Chain은 현재 상태만 알면 다음 상태의 확률을 결정할 수 있는 확률 프로세스다.
다음과 같은 Markov Chain을 만든다.
$X_0 → X_1 → … → X_T$
이 Chain이 충분히 오래 진행되면 $X_T \sim \pi(x)$에 가까워진다.
Monte Carlo는 확률변수의 값을 반복적으로 sampling하여 원하는 확률량을 근사하는 방법이다.
$X_1, X_2, \cdots, X_N \sim P(X)$를 얻었다면,
$\displaystyle E[f(X)] \approx \frac 1 N \sum_{i=1}^N f(X_i)$로 근사할 수 있다.
Stationary Distribution은 Markov Chain을 계속 진행해도 분포가 변하지 않는 확률분포이다.
Markov Chain의 Transition Probability(현재 상태가 $x$일 때 다음 상태 $x'$로 이동할 확률)를 $P(x'|x)$라고 할 때, 어떤 분포 $\pi(x)$가 다음 조건을 만족하면 Stationary Distribution라고 한다.