আদর্শ মন্টি কার্লো অ্যালগরিদম স্বাধীন ক্রমাগত এলোমেলো মান ব্যবহার করে । এমসিএমসিতে, ক্রমান্বিত মানগুলি স্বতন্ত্র নয়, যা পদ্ধতিটি আদর্শ মন্টি কার্লোয়ের চেয়ে ধীরে ধীরে ধীরে ধীরে পরিণত হয়; তবে এটি যত দ্রুত মিশে যায়, ধারাবাহিক পুনরাবৃত্তিতে দ্রুত নির্ভরতা হ্রাস পায় এবং তত দ্রুত তা রূপান্তরিত হয়।
¹ আমি এখানে বলতে চাচ্ছি যে ধারাবাহিক মান দ্রুত প্রাথমিক অবস্থায় এর "প্রায় স্বাধীন", অথবা বরং যে মান দেওয়া হয় এক পর্যায়ে, মান এর দ্রুত হয়ে "প্রায় স্বাধীন" যেমন বৃদ্ধি হয়; সুতরাং, যেমন কিখালি মন্তব্যে বলেছেন, "শৃঙ্খলা রাষ্ট্রের একটি নির্দিষ্ট অঞ্চলে আটকে থাকবে না"।এক্স ń + কে এক্স এন কেএক্সএনএক্সN + কেএক্সএনট
সম্পাদনা: আমি মনে করি নিম্নলিখিত উদাহরণগুলি সাহায্য করতে পারে
ভাবুন আপনি এমসিসিএম দ্বারা on এ অভিন্ন বিতরণের গড় অনুমান করতে চান । আপনি আদেশ ক্রম দিয়ে শুরু ; প্রতিটি পদক্ষেপে, আপনি ক্রমানুসারে উপাদান বেছে নিয়ে এলোমেলোভাবে এগুলি পরিবর্তন করেছেন। প্রতিটি পদক্ষেপে, অবস্থান 1 এ উপাদানটি রেকর্ড করা হয়; এটি অভিন্ন বিতরণে রূপান্তরিত হয়। মান নিয়ন্ত্রণ মিশ ক্ষিপ্রতা যখন , এটি ধীর হয়; যখন , ক্রমিক উপাদানগুলি স্বাধীন হয় এবং মিশ্রণটি দ্রুত হয় is( 1 , … , এন ) কে > 2 কে কে = 2 কে = এন{ 1 , ... , এন }( 1 , … , এন )k > 2টকে = 2কে = এন
এই এমসিসিএম অ্যালগরিদমের জন্য এখানে একটি আর ফাংশন রয়েছে:
mcmc <- function(n, k = 2, N = 5000)
{
x <- 1:n;
res <- numeric(N)
for(i in 1:N)
{
swap <- sample(1:n, k)
x[swap] <- sample(x[swap],k);
res[i] <- x[1];
}
return(res);
}
আসুন এটি এর জন্য প্রয়োগ করুন এবং এমসিসিএমসি পুনরাবৃত্তির সাথে গড় এর অনুক্রমিক অনুমানের প্লট করুন :μ = 50n = 99μ = 50
n <- 99; mu <- sum(1:n)/n;
mcmc(n) -> r1
plot(cumsum(r1)/1:length(r1), type="l", ylim=c(0,n), ylab="mean")
abline(mu,0,lty=2)
mcmc(n,round(n/2)) -> r2
lines(1:length(r2), cumsum(r2)/1:length(r2), col="blue")
mcmc(n,n) -> r3
lines(1:length(r3), cumsum(r3)/1:length(r3), col="red")
legend("topleft", c("k = 2", paste("k =",round(n/2)), paste("k =",n)), col=c("black","blue","red"), lwd=1)
আপনি এখানে দেখতে পারেন যে (কালো রঙের) জন্য, রূপান্তরটি ধীর গতিতে; জন্য (নীল), এটি দ্রুত, কিন্তু এখনও সঙ্গে তুলনায় ধীর (লাল)।কে = 50 কে = 99কে = 2কে = 50কে = 99
আপনি নির্ধারিত সংখ্যার পুনঃনির্মাণের পরে আনুমানিক গড় বিতরণের জন্য একটি হিস্টোগ্রাম প্লট করতে পারেন, যেমন 100 পুনরাবৃত্তি:
K <- 5000;
M1 <- numeric(K)
M2 <- numeric(K)
M3 <- numeric(K)
for(i in 1:K)
{
M1[i] <- mean(mcmc(n,2,100));
M2[i] <- mean(mcmc(n,round(n/2),100));
M3[i] <- mean(mcmc(n,n,100));
}
dev.new()
par(mfrow=c(3,1))
hist(M1, xlim=c(0,n), freq=FALSE)
hist(M2, xlim=c(0,n), freq=FALSE)
hist(M3, xlim=c(0,n), freq=FALSE)
আপনি দেখতে পাচ্ছেন যে (এম 1) দিয়ে, 100 পুনরাবৃত্তির পরে প্রাথমিক মানের প্রভাব কেবল আপনাকে একটি ভয়ানক ফলাফল দেয়। সঙ্গে এটা ঠিক সঙ্গে তুলনায় এখনও বৃহত্তর স্ট্যানডার্ড ডেভিয়েশন সঙ্গে মনে হয় । এখানে উপায় এবং এসডি:কে = 50 কে = 99কে = 2কে = 50কে = 99
> mean(M1)
[1] 19.046
> mean(M2)
[1] 49.51611
> mean(M3)
[1] 50.09301
> sd(M2)
[1] 5.013053
> sd(M3)
[1] 2.829185