উভয় ধারণার মধ্যে সংযোগ করে মার্কভ চেইন মন্টে কার্লো (ওরফে এমসিএমসি) পদ্ধতি মার্কভ চেইন তত্ত্ব উপর নির্ভর একটি জটিল লক্ষ্য বন্টন থেকে সিমিউলেশন এবং মন্টে কার্লো অনুমান উত্পাদন করতে ।π
অনুশীলনে, এই সিমুলেশন পদ্ধতিগুলি একটি ক্রম একটি মার্কভ চেইন হিসাবে আউটপুট দেয় , যেমন, এক্স i এর বিতরণ পুরো অতীতকে দিয়েছে { এক্স i - 1 , … , এক্স 1 } কেবলমাত্র এক্স এর উপর নির্ভর করে i - 1 । অন্য কথায়, এক্স i = f ( এক্স i - 1 , ϵ i ) যেখানে চX1,…,XNXi{Xi−1,…,X1}Xi−1
Xi=f(Xi−1,ϵi)
fআলগোরিদিম দ্বারা নির্দিষ্ট একটি ফাংশন এবং লক্ষ্য বিতরণ
এবং
ϵ i এর iid হয়। (Ergodic) তত্ত্ব গ্যারান্টী যে
এক্স আমি এগোয় (বিতরণে) এর
পাইয়ের মান যেমন
আমি পায়
∞πϵiXiπi∞ ।
এমসিসিএম অ্যালগরিদমের সবচেয়ে সহজ উদাহরণটি হ'ল স্লাইস স্যাম্পলার : এই অ্যালগরিদমের পুনরাবৃত্তির সময়, কর
- সিমুলেট করুন ϵ1i∼U(0,1)
- Xi∼U({x;π(x)≥ϵ1iπ(Xi−1)})ϵ2i
N(0,1)
- সিমুলেট করুন ϵ 1 i ∼ U ( 0 , 1 ϵ1i∼U(0,1)
- Xi∼U({x;x2≤−2log(2π−−√ϵ1i}),
i.e., Xi=±ϵ2i{−2log(2π−−√ϵ1i)φ(Xi−1)}1/2
with ϵ2i∼U(0,1)
or in R
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]
Here is a representation of the output, showing the right fit to the N(0,1) target and the evolution of the Markov chain (Xi).
And here is a zoom on the evolution of the Markov chain (Xi,ϵ1iπ(Xi)) over the last 100 iterations, obtained by
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")}
that follows vertical and horizontal moves of the Markov chain under the target density curve.