MCMC(Markov Chain Monte Carlo)
확률분포로부터 직접 표본을 샘플링하기 어려운 경우 확률밀도 함수에 비례하는 함수를 이용하여 표본을 근사적으로 샘플링하는 방법. 베이지안 방법론에서 posterior의 값이 prior과 likelihood의 곱에 비례한다는 점을 이용하여 posterior분포를 구할 때 많이 사용한다.
몬테카를로 방법(Monte Carlo Method)
무작위 추출된 난수를 이용하여 원하는 함수값을 얻는 방법의 총칭. 몬테카를로 방법의 예시로 아래와 같은 과정을 통해 파이값을 구하는 것을 들 수 있다.

Monte Carlo Method 위키피디아
1. 원점을 꼭지점으로 하고 변의 길이가 1인 정사각형을 그린다.
2. 정사각형 내부에 수많은 점을 떨어트린다.
3. 모든 점의 갯수 "total"과 원점으로 부터의 거리가 1이하인 점의 갯수 "n"을 센다.
4. n / total값을 구하면 pi / 4 값이 나온다. 여기에 4를 곱해주면 파이값을 구할 수 있다.
몬테카를로 방법을 정확히 정의내리기는 어렵지만 대체로 아래와 같은 패턴을 가진다.
1. 가능한 입력의 정의역을 정한다.
2. 정의역으로부터 확률분포에 맞춰 랜덤하게 입력을 생성한다.
3. 입력에 대해 특정 계산을 한다.
4. 계산 결과를 수집하여 원하는 결과를 도출한다.
마르코프 체인(Markov Chain)
다음 상태가 현재 상태의 영향만 받는 확률 모델(stochastic model). 과거의 상태는 미래의 상태에 직접적인 영향이 없음.

Markov Chain 위키피디아
마르코프 체인은 특정 조건을 만족할 시, 각 상태에 있을 확률들이 특정값으로 수렴한다. 즉, (특정 조건을 만족하고) 각 상태 간의 전이 확률만 안다면 충분한 전이 반복을 통해, 각 상태에 있을 확률을 구할 수 있다.
ex) 흐린날 -> 맑은 날, 흐린날 -> 흐린날, 맑은날 -> 맑은날, 맑은날 -> 흐린날 확률이 주어진다면, 임의의 하루가 맑은 날일 확률과 흐린날일 확률을 구할 수 있다. 아래는 이를 구현한 코드인데, 결과를 보면 초기 상태가 무엇이든 결과 확률은 같음을 알 수 있다.