Her iki kavram arasındaki bağlantı, Markov zinciri Monte Carlo (diğer adıyla MCMC) yöntemlerinin karmaşık hedef dağıtımdan simülasyonlar ve Monte Carlo yaklaşımları üretmek için Markov zinciri teorisine .π
X1, … , XN-Xben{ Xi - 1, … , X1}Xi - 1
Xben= f( Xi - 1, ϵben)
fπεbenXbenπben∞
Bir MCMC algoritmasının en kolay örneği dilim örnekleyicisidir : bu algoritmanın yinelemesinde,
- ε1ben∼ U ( 0 , 1 )
- Xben∼ U ( { x ; π( x ) ≥ ϵ1benπ( Xi - 1) } )ϵ2i
N(0,1)
- ϵ1i∼U(0,1)
- Xi∼U({x;x2≤−2log(2π−−√ϵ1i})Xi=±ϵ2i{−2log(2π−−√ϵ1i)φ(Xi−1)}1/2ϵ2i∼U(0,1)
veya R cinsinden
T=1e4
x=y=runif(T) #random initial value
for (t in 2:T){
epsilon=runif(2)#uniform white noise
y[t]=epsilon[1]*dnorm(x[t-1])#vertical move
x[t]=sample(c(-1,1),1)*epsilon[2]*sqrt(-2*#Markov move from
log(sqrt(2*pi)*y[t]))}#x[t-1] to x[t]
N(0,1)(Xi)
Ve burada Markov zincirinin evrimi,(Xi,ϵ1iπ(Xi))
curve(dnorm,-3,3,lwd=2,col="sienna",ylab="")
for (t in (T-100):T){
lines(rep(x[t-1],2),c(y[t-1],y[t]),col="steelblue");
lines(x[(t-1):t],rep(y[t],2),col="steelblue")}
hedef yoğunluk eğrisinin altında Markov zincirinin dikey ve yatay hareketlerini takip eder.