মার্কোভ চেইন মন্টি কার্লো (এমসিএমসি) কীভাবে কাজ করে তা আমি গত কয়েক দিন ধরে বোঝার চেষ্টা করছি। বিশেষত আমি মেট্রোপলিস-হেস্টিংস অ্যালগরিদম বোঝার এবং প্রয়োগ করার চেষ্টা করে যাচ্ছি। এখনও অবধি আমি মনে করি আমার কাছে অ্যালগরিদম সম্পর্কে সামগ্রিক ধারণা আছে তবে বেশ কয়েকটি জিনিস রয়েছে যা আমার কাছে এখনও পরিষ্কার নয়। আমি ডেটাতে কিছু মডেল ফিট করতে এমসিএমসি ব্যবহার করতে চাই। এই কারণে আমি ঝুলানো একটি সরল রেখা জন্য মেট্রোপলিস-হেস্টিংস আলগোরিদিম আমার বোঝার বর্ণনা করবে কিছু পর্যবেক্ষিত ডেটাতে :
1) জন্য ইনিশিয়াল অনুমান করে । এই সেট আমাদের বর্তমান যেমন ( )। মার্কভ চেইন ( সি ) এর শেষে একটি যুক্ত করুন ।
2) কয়েক বার ধাপে পুনরাবৃত্তি করুন।
3) a_0 এবং D প্রদত্ত বর্তমান সম্ভাবনা ( \ \ সিএল L_0 _0 ) মূল্যায়ন করুন ।
4) একটি নতুন প্রস্তাব ( সঙ্গে একটি স্বাভাবিক বন্টন থেকে স্যাম্পলিং দ্বারা) এবং । আপাতত, ধ্রুবক।
5) নতুন সম্ভাবনা (মূল্যনির্ধারণ ) দেওয়া এবং ।
6) যদি চেয়ে বড় গ্রহণ নতুন শেষে পরিশেষে যোগ এটা এবং ধাপে 2 এ যান।
)) যদি than এর চেয়ে ছোট হয় তবে ইউনিফর্ম বিতরণ থেকে [0,1] একটি সংখ্যা ( ) তৈরি করে
8) যদি দুটি সম্ভাবনার ( {\ ক্যাল L_1} - {\ ক্যাল L_0} ) পার্থক্যটির তুলনায় ছোট হয় , a_1 কে নতুন a_0 হিসাবে স্বীকার করুন, সি এর শেষে যুক্ত করুন এবং দ্বিতীয় ধাপে যান।
9) যদি দুই likelihoods মধ্যে পার্থক্য চেয়ে বড় ( - ), পরিশেষে যোগ শেষে , একই ব্যবহার করা চালিয়ে , ধাপ 2 এ যান।
10) পুনরাবৃত্তির সমাপ্তি।
১১) (বার্ন-ইন ফেজ) থেকে কিছু উপাদান সরান ।
12) এখন এর মানগুলির গড় নিন । এই গড়টি অনুমান করা হয় ।
উপরের পদক্ষেপগুলি সম্পর্কে এখন আমার কিছু প্রশ্ন রয়েছে:
- আমি কীভাবে জন্য সম্ভাব্যতা ফাংশনটি তৈরি করতে পারি তবে যেকোন স্বেচ্ছাসেবী কাজের জন্য?
- এটি কি মেট্রোপলিস-হেস্টিংস অ্যালগরিদমের সঠিক বাস্তবায়ন?
- Step ধাপে এলোমেলো সংখ্যা জেনারেশন পদ্ধতি নির্বাচন কীভাবে ফলাফল পরিবর্তন করতে পারে?
- আমার একাধিক মডেল পরামিতি থাকলে কীভাবে এই অ্যালগরিদম পরিবর্তন হতে চলেছে? উদাহরণস্বরূপ, যদি আমার কাছে মডেল থাকে ।
নোটস / ক্রেডিট: উপরে বর্ণিত অ্যালগরিদমের মূল কাঠামোটি এমপিআইএ পাইথন ওয়ার্কশপের কোডের উপর ভিত্তি করে।