पिछले कुछ दिनों से मैं यह समझने की कोशिश कर रहा हूं कि मार्कोव चेन मोंटे कार्लो (MCMC) कैसे काम करता है। विशेष रूप से मैं मेट्रोपोलिस-हेस्टिंग्स एल्गोरिथम को समझने और लागू करने की कोशिश कर रहा हूं। अब तक मुझे लगता है कि मुझे एल्गोरिथ्म की समग्र समझ है, लेकिन कुछ चीजें हैं जो अभी तक मेरे लिए स्पष्ट नहीं हैं। मैं कुछ मॉडल को डेटा में फिट करने के लिए एमसीएमसी का उपयोग करना चाहता हूं। इसकी वजह से मैं एक सीधी रेखा को कुछ देखे गए डेटा D के फिटिंग के लिए मेट्रोपोलिस-हेस्टिंग्स एल्गोरिथम की अपनी समझ का वर्णन करूंगा :
1) के लिए प्रारंभिक अनुमान बनाओ । इस सेट एक हमारे वर्तमान के रूप में एक ( एक 0 )। इसके अलावा जोड़ने के एक मार्कोव श्रृंखला (के अंत में सी )।
2) चरणों को बार-बार दोहराएं।
3) का मूल्यांकन वर्तमान संभावना ( ) को देखते हुए एक 0 और डी ।
4) एक नया प्रस्ताव ( एक 1 के साथ एक सामान्य वितरण से नमूने के द्वारा) μ = एक 0 और σ = रों टी ई पी एस मैं जेड ई । अभी के लिए, s t e p s s i z e स्थिर है।
5) का मूल्यांकन नई संभावना ( ) दिए गए एक 1 और डी ।
6) यदि से बड़ा है एल 0 , स्वीकार एक 1 नया रूप एक 0 के अंत में, संलग्न यह सी और चरण 2 पर जाएँ।
7) यदि , L 0 से छोटा है, तो समान वितरण से रेंज [0,1] में एक संख्या ( U ) उत्पन्न करते हैं
8) तो दो likelihoods (के बीच अंतर से छोटी है एल 1 - एल 0 ), स्वीकार एक 1 नया रूप एक 0 के अंत में, संलग्न यह सी और चरण 2 पर जाएँ।
10) रिपीट का अंत।
अब मेरे पास उपरोक्त चरणों के संबंध में कुछ प्रश्न हैं:
- क्या यह मेट्रोपोलिस-हेस्टिंग्स एल्गोरिथम का सही कार्यान्वयन है?
- चरण 7 में यादृच्छिक संख्या पीढ़ी पद्धति का चयन परिणामों को कैसे बदल सकता है?
नोट्स / क्रेडिट: ऊपर वर्णित एल्गोरिथ्म की मुख्य संरचना एक MPIA पायथन कार्यशाला के कोड पर आधारित है।