गिब्स सैंपलिंग

आंकड़ों में, गिब्स सैंपलिंग या गिब्स सैंपलर एक मार्कोव चेन मोंटे कार्लो (MCMC) कलन विधि  है, जो अवलोकनों का एक क्रम प्राप्त करने के लिए होता है, जो एक निर्दिष्ट बहुभिन्नरूपी वितरण संभाव्यता वितरण से अनुमानित होता है, जब प्रत्यक्ष नमूनाकरण कठिन होता है। इस अनुक्रम का उपयोग संयुक्त वितरण को अनुमानित करने के लिए किया जा सकता है (उदाहरण के लिए, वितरण का हिस्टोग्राम उत्पन्न करने के लिए); किसी एक चर, या चर के कुछ उपसमुच्चय (उदाहरण के लिए, अज्ञात पैरामीटर या अव्यक्त चर) के सीमांत वितरण का अनुमान लगाने के लिए; या एक अभिन्न की गणना करने के लिए (जैसे चर में से एक का अपेक्षित मूल्य)। आमतौर पर, कुछ चर उन टिप्पणियों के अनुरूप होते हैं जिनके मान ज्ञात होते हैं, और इसलिए उन्हें नमूना लेने की आवश्यकता नहीं होती है।

गिब्स नमूनाकरण आमतौर पर सांख्यिकीय अनुमान के साधन के रूप में प्रयोग किया जाता है, विशेष रूप से बायेसियन अनुमान। यह एक यादृच्छिक एल्गोरिथ्म है (अर्थात एक एल्गोरिथ्म जो यादृच्छिक संख्या पीढ़ियों का उपयोग करता है), और सांख्यिकीय अनुमान के लिए नियतात्मक एल्गोरिदम का एक विकल्प है जैसे कि अपेक्षा-अधिकतमकरण एल्गोरिथ्म (EM)।

अन्य एमसीएमसी एल्गोरिदम के साथ, गिब्स नमूनाकरण नमूने की मार्कोव श्रृंखला उत्पन्न करता है, जिनमें से प्रत्येक पास के नमूने के साथ स्वत: संबंध है। नतीजतन, अगर स्वतंत्र नमूने वांछित हैं तो देखभाल की जानी चाहिए। आम तौर पर, श्रृंखला की शुरुआत ("बर्न-इन अवधि") से नमूने वांछित वितरण का सटीक रूप से प्रतिनिधित्व नहीं कर सकते हैं और आमतौर पर खारिज कर दिए जाते हैं।

परिचय
सैंपलिंग (सांख्यिकी) एल्गोरिथम और सांख्यिकीय भौतिकी के बीच समानता के संदर्भ में गिब्स सैंपलिंग का नाम भौतिक विज्ञानी योशिय्याह विलार्ड गिब्स के नाम पर रखा गया है। गिब्स की मृत्यु के लगभग आठ दशक बाद 1984 में भाइयों स्टुअर्ट जेमन  और  डोनाल्ड जेमन  द्वारा एल्गोरिथम का वर्णन किया गया था। और सीमांत संभाव्यता वितरण, विशेष रूप से पश्च वितरण की गणना के लिए सांख्यिकी समुदाय में लोकप्रिय हो गया। अपने मूल संस्करण में, गिब्स सैंपलिंग मेट्रोपोलिस-हेस्टिंग्स एल्गोरिथम का एक विशेष मामला है। हालांकि, इसके विस्तारित संस्करणों में (#विविधताएं और एक्सटेंशन देखें), इसे प्रत्येक चर (या कुछ मामलों में, चर के प्रत्येक समूह) को बदले में नमूना करके चर के एक बड़े सेट से नमूने के लिए एक सामान्य रूपरेखा माना जा सकता है, और इसमें शामिल हो सकता है एक या अधिक नमूनाकरण चरणों को लागू करने के लिए मेट्रोपोलिस-हेस्टिंग्स एल्गोरिथम (या टुकड़ा नमूनाकरण  जैसी विधियाँ)।

गिब्स नमूनाकरण तब लागू होता है जब संयुक्त वितरण स्पष्ट रूप से ज्ञात नहीं होता है या सीधे से नमूना लेना मुश्किल होता है, लेकिन प्रत्येक चर का सशर्त वितरण ज्ञात होता है और नमूना के लिए आसान (या कम से कम, आसान) होता है। गिब्स सैंपलिंग एल्गोरिथम बदले में प्रत्येक चर के वितरण से एक उदाहरण उत्पन्न करता है, अन्य चर के वर्तमान मूल्यों पर सशर्त। यह दिखाया जा सकता है कि नमूनों का अनुक्रम एक मार्कोव श्रृंखला का गठन करता है, और उस मार्कोव श्रृंखला का स्थिर वितरण केवल वांछित संयुक्त वितरण है। गिब्स नमूनाकरण विशेष रूप से बायेसियन नेटवर्क की पिछली संभावना का नमूना लेने के लिए अनुकूलित है, क्योंकि बायेसियन नेटवर्क आमतौर पर सशर्त वितरण के संग्रह के रूप में निर्दिष्ट होते हैं।

कार्यान्वयन
गिब्स सैंपलिंग, अपने मूल अवतार में, मेट्रोपोलिस-हेस्टिंग्स एल्गोरिथम का एक विशेष मामला है। गिब्स नमूनाकरण का मुद्दा यह है कि एक बहुभिन्नरूपी वितरण दिया गया है, यह एक संयुक्त वितरण पर एकीकृत करके सीमांत वितरण की तुलना में एक सशर्त वितरण से नमूना लेना आसान है। मान लीजिए हम प्राप्त करना चाहते हैं $$\left.k\right.$$ के नमूने $$\mathbf{X} = (x_1, \dots, x_n)$$ एक संयुक्त वितरण से $$ p(x_1, \dots, x_n) $$. निरूपित करें $$i$$वें नमूना द्वारा $$\mathbf{X}^{(i)} = \left(x_1^{(i)}, \dots, x_n^{(i)}\right)$$. हम निम्नानुसार आगे बढ़ते हैं:


 * 1) हम कुछ प्रारंभिक मूल्य से शुरू करते हैं $$\mathbf{X}^{(0)}$$.
 * 2) हम अगला नमूना चाहते हैं। इसे अगला नमूना कहें $$\mathbf{X}^{(i+1)}$$. तब से $$\mathbf{X}^{(i+1)} = \left(x_1^{(i+1)}, x_2^{(i+1)}, \dots, x_n^{(i+1)}\right)$$ एक वेक्टर है, हम वेक्टर के प्रत्येक घटक का नमूना लेते हैं, $$x_j^{(i+1)}$$, उस घटक के वितरण से जो अब तक नमूने लिए गए अन्य सभी घटकों पर सशर्त है। लेकिन एक पकड़ है: हम शर्त रखते हैं $$\mathbf{X}^{(i+1)}$$के घटक तक $$x_{j-1}^{(i+1)}$$, और उसके बाद की स्थिति $$\mathbf{X}^{(i)}$$के घटक, से शुरू $$x_{j+1}^{(i)}$$ को $$x_n^{(i)}$$. इसे प्राप्त करने के लिए, हम पहले घटक से शुरू करते हुए, क्रम में घटकों का नमूना लेते हैं। अधिक औपचारिक रूप से, नमूना लेने के लिए $$x_j^{(i+1)}$$, हम इसे द्वारा निर्दिष्ट वितरण के अनुसार अद्यतन करते हैं $$p\left(x_j^{(i+1)}|x_1^{(i+1)},\dots,x_{j-1}^{(i+1)},x_{j+1}^{(i)},\dots,x_n^{(i)}\right)$$. हम उस मान का उपयोग करते हैं जो $$(j+1)$$घटक में है $$i$$वें नमूना, नहीं $$(i+1)$$वें नमूना।
 * 3) उपरोक्त चरण को दोहराएं $$k$$ बार।

गुण
यदि इस तरह का नमूना लिया जाता है, तो ये महत्वपूर्ण तथ्य हैं:
 * नमूने सभी चरों के संयुक्त वितरण का अनुमान लगाते हैं।
 * चरों के किसी भी उपसमुच्चय के सीमांत वितरण का अनुमान लगाया जा सकता है, केवल चरों के उस उपसमुच्चय के लिए नमूनों पर विचार करके, शेष को अनदेखा कर सकते हैं।
 * किसी भी चर के अपेक्षित मूल्य को सभी नमूनों के औसत से अनुमानित किया जा सकता है।

नमूनाकरण करते समय:
 * चरों के प्रारंभिक मूल्यों को बेतरतीब ढंग से या कुछ अन्य एल्गोरिदम जैसे कि अपेक्षा-अधिकतमकरण द्वारा निर्धारित किया जा सकता है।
 * पहले चर के नमूने के लिए प्रारंभिक मान निर्धारित करना वास्तव में आवश्यक नहीं है।
 * शुरुआत (तथाकथित बर्न-इन अवधि) में कुछ नमूनों की संख्या को अनदेखा करना आम बात है, और फिर केवल प्रत्येक पर विचार करें $$n$$वां नमूना जब एक अपेक्षा की गणना करने के लिए मूल्यों का औसत निकाला जाता है। उदाहरण के लिए, पहले 1,000 नमूनों को नजरअंदाज किया जा सकता है, और फिर हर 100वें नमूने का औसत निकाला जाता है, बाकी सभी को निकाल दिया जाता है। इसका कारण यह है कि (1) मार्कोव श्रृंखला का स्थिर वितरण चरों पर वांछित संयुक्त वितरण है, लेकिन उस स्थिर वितरण तक पहुंचने में कुछ समय लग सकता है; (2) क्रमिक नमूने एक दूसरे से स्वतंत्र नहीं होते हैं लेकिन कुछ मात्रा में सहसंबंध के साथ एक मार्कोव श्रृंखला बनाते हैं। कभी-कभी, एल्गोरिदम का उपयोग नमूने और मूल्य के बीच स्वत: सहसंबंध की मात्रा निर्धारित करने के लिए किया जा सकता है $$n$$ (सैम्पल के बीच की अवधि जो वास्तव में उपयोग की जाती है) की गणना इससे की जाती है, लेकिन व्यवहार में इसमें उचित मात्रा में काला जादू (प्रोग्रामिंग) शामिल होता है।
 * तैयार किए हुयी धातु पे पानी चढाने की कला की प्रक्रिया का उपयोग अक्सर सैंपलिंग प्रक्रिया के शुरुआती भाग में  यादृच्छिक चाल  व्यवहार को कम करने के लिए किया जाता है (यानी सैंपल स्पेस के चारों ओर धीरे-धीरे घूमने की प्रवृत्ति, नमूनों के बीच उच्च मात्रा में स्वतःसंबंध के साथ, जल्दी से घूमने के बजाय, जैसी इच्छा हो)। अन्य तकनीकें जो स्वत:सहसंबंध को कम कर सकती हैं, गिब्स नमूनाकरण, अवरुद्ध गिब्स नमूनाकरण, और अतिविश्राम का आदेश दिया गया है; नीचे देखें।

सशर्त वितरण और संयुक्त वितरण का संबंध
इसके अलावा, अन्य सभी दिए गए एक चर का सशर्त वितरण संयुक्त वितरण के समानुपाती होता है:


 * $$p(x_j\mid x_1,\dots,x_{j-1},x_{j+1},\dots,x_n) = \frac{p(x_1,\dots,x_n)}{p(x_1,\dots,x_{j-1},x_{j+1},\dots,x_n)} \propto p(x_1,\dots,x_n)$$

इस मामले में आनुपातिक का अर्थ है कि भाजक का कार्य नहीं है $$x_j$$ और इस प्रकार के सभी मूल्यों के लिए समान है $$x_j$$; यह वितरण ओवर के लिए सामान्यीकरण स्थिरांक का हिस्सा बनता है $$x_j$$. व्यवहार में, एक कारक के सशर्त वितरण की प्रकृति का निर्धारण करने के लिए $$x_j$$, चर पर ग्राफिकल मॉडल द्वारा परिभाषित अलग-अलग सशर्त वितरण के अनुसार संयुक्त वितरण को कारक बनाना सबसे आसान है, उन सभी कारकों को अनदेखा करें जो कार्य नहीं हैं $$x_j$$ (इनमें से सभी, ऊपर के भाजक के साथ मिलकर सामान्यीकरण स्थिरांक का गठन करते हैं), और फिर आवश्यकतानुसार सामान्यीकरण स्थिरांक को अंत में बहाल करते हैं। व्यवहार में, इसका मतलब तीन चीजों में से एक करना है:
 * 1) यदि बंटन असतत है, तो के सभी संभव मानों की अलग-अलग प्रायिकताएँ $$x_j$$ गणना की जाती है, और फिर सामान्यीकरण स्थिरांक खोजने के लिए अभिव्यक्त किया जाता है।
 * 2) यदि वितरण निरंतर है और ज्ञात रूप का है, तो सामान्यीकरण स्थिरांक भी ज्ञात होगा।
 * 3) अन्य मामलों में, सामान्यीकरण स्थिरांक को आमतौर पर अनदेखा किया जा सकता है, क्योंकि अधिकांश नमूनाकरण विधियों को इसकी आवश्यकता नहीं होती है।

निष्कर्ष
गिब्स नमूनाकरण आमतौर पर सांख्यिकीय अनुमान के लिए उपयोग किया जाता है (उदाहरण के लिए पैरामीटर का सर्वोत्तम मूल्य निर्धारित करना, जैसे कि किसी विशेष स्टोर पर किसी विशेष स्टोर पर खरीदारी करने वाले लोगों की संख्या का निर्धारण करना, उम्मीदवार को मतदाता सबसे अधिक वोट देगा, आदि). विचार यह है कि देखे गए डेटा के प्रत्येक टुकड़े के लिए अलग-अलग चर बनाकर और उन चरों से नमूने लेने के बजाय, उनके देखे गए मूल्यों के लिए चर को ठीक करके नमूनाकरण प्रक्रिया में शामिल किया गया है। शेष चरों का वितरण प्रभावी रूप से प्रेक्षित डेटा पर वातानुकूलित पश्च वितरण है।

एक वांछित पैरामीटर (मोड (सांख्यिकी)) का सबसे संभावित मूल्य तब नमूना मान चुनकर चुना जा सकता है जो आमतौर पर सबसे अधिक होता है; यह अनिवार्य रूप से एक पैरामीटर के अधिकतम पोस्टीरियर अनुमान के बराबर है। (चूंकि पैरामीटर आमतौर पर निरंतर होते हैं, इसलिए मोड का एक सार्थक अनुमान प्राप्त करने के लिए नमूनाकृत मानों को परिमित संख्या में श्रेणियों या बिनों में से एक में बिन करना आवश्यक होता है।) अधिक सामान्यतः, हालांकि, अपेक्षित मूल्य (माध्य या औसत) नमूना मूल्यों का चयन किया जाता है; यह एक बेयस अनुमानक है जो पूरे वितरण के बारे में अतिरिक्त डेटा का लाभ उठाता है जो कि बायेसियन सैंपलिंग से उपलब्ध है, जबकि अपेक्षा अधिकतमकरण  (ईएम) जैसे अधिकतमकरण एल्गोरिदम वितरण से केवल एक बिंदु वापस करने में सक्षम है। उदाहरण के लिए, एक असमान वितरण के लिए माध्य (अपेक्षित मान) आमतौर पर मोड (सबसे सामान्य मान) के समान होता है, लेकिन यदि वितरण एक दिशा में तिरछा है, तो माध्य उस दिशा में ले जाया जाएगा, जो प्रभावी रूप से अतिरिक्त उस दिशा में संभाव्यता द्रव्यमान। (यदि कोई वितरण मल्टीमोडल है, तो अपेक्षित मान सार्थक बिंदु नहीं लौटा सकता है, और कोई भी मोड आमतौर पर बेहतर विकल्प होता है।)

हालाँकि कुछ चर आम तौर पर रुचि के मापदंडों के अनुरूप होते हैं, अन्य चर के बीच संबंधों को ठीक से व्यक्त करने के लिए मॉडल में पेश किए गए अरुचिकर (उपद्रव) चर हैं। हालांकि नमूना मूल्य सभी चर पर संयुक्त वितरण का प्रतिनिधित्व करते हैं, अपेक्षित मूल्यों या मोड की गणना करते समय उपद्रव चर को आसानी से अनदेखा किया जा सकता है; यह उपद्रव चर पर सीमांत वितरण के बराबर है। जब एकाधिक चर के लिए एक मान वांछित होता है, तो अपेक्षित मान की गणना प्रत्येक चर पर अलग से की जाती है। (मोड की गणना करते समय, हालांकि, सभी चरों को एक साथ माना जाना चाहिए।)

पर्यवेक्षित अध्ययन, अनियंत्रित शिक्षा  और  अर्ध-पर्यवेक्षित शिक्षा  (उर्फ लर्निंग विद मिसिंग वैल्यूज) सभी को उन सभी वेरिएबल्स के मानों को ठीक करके नियंत्रित किया जा सकता है, जिनके मूल्य ज्ञात हैं, और शेष से नमूना लेना।

अवलोकन किए गए डेटा के लिए, प्रत्येक अवलोकन के लिए एक चर होगा- उदाहरण के लिए, अवलोकन के एक सेट के नमूना माध्य या नमूना भिन्नता के अनुरूप एक चर। वास्तव में, आम तौर पर नमूना माध्य या नमूना भिन्नता जैसी अवधारणाओं के अनुरूप कोई भी चर नहीं होगा। इसके बजाय, ऐसे मामले में अज्ञात वास्तविक माध्य और वास्तविक भिन्नता का प्रतिनिधित्व करने वाले चर होंगे, और इन चरों के लिए नमूना मानों का निर्धारण स्वचालित रूप से गिब्स सैम्पलर के संचालन से होता है।

सामान्यीकृत रैखिक मॉडल (यानी रैखिक प्रतिगमन की विविधताएं) कभी-कभी गिब्स नमूनाकरण द्वारा भी नियंत्रित किए जा सकते हैं। उदाहरण के लिए, दिए गए बाइनरी (हां/नहीं) विकल्प की संभावना निर्धारित करने के लिए प्रोबिट प्रतिगमन, प्रतिगमन गुणांकों पर रखे गए सामान्य वितरण पुरोहितों के साथ, गिब्स सैंपलिंग के साथ लागू किया जा सकता है क्योंकि अतिरिक्त चर जोड़ना और पूर्व संयुग्मन का लाभ उठाना संभव है।. हालाँकि, संभार तन्त्र परावर्तन  को इस तरह से हैंडल नहीं किया जा सकता है। एक संभावना सामान्य वितरण के मिश्रण (आमतौर पर 7-9) के साथ रसद समारोह को अनुमानित करना है। अधिक सामान्यतः, कैसेकभी, गिब्स नमूने के बजाय मेट्रोपोलिस-हेस्टिंग्स का उपयोग किया जाता है।

गणितीय पृष्ठभूमि
मान लीजिए कि एक नमूना $$\left.X\right.$$ पैरामीटर वेक्टर के आधार पर वितरण से लिया जाता है $$\theta \in \Theta \,\!$$ लंबाई का $$\left.d\right.$$, पूर्व वितरण के साथ $$g(\theta_1, \ldots, \theta_d)$$. यह हो सकता है कि $$\left.d\right.$$ बहुत बड़ा है और उस संख्यात्मक एकीकरण के सीमांत घनत्व को खोजने के लिए $$\left.\theta_i\right.$$ कम्प्यूटेशनल रूप से महंगा होगा। फिर सीमांत घनत्व की गणना करने का एक वैकल्पिक तरीका अंतरिक्ष पर एक मार्कोव श्रृंखला बनाना है $$\left.\Theta\right.$$ इन दो चरणों को दोहरा कर:

ये चरण वांछित अपरिवर्तनीय वितरण के साथ एक मार्कोव श्रृंखला#प्रतिवर्ती मार्कोव श्रृंखला को परिभाषित करते हैं $$\left.g\right.$$. यह निम्नानुसार सिद्ध किया जा सकता है। परिभाषित करना $$x \sim_j y$$ अगर $$\left.x_i = y_i\right.$$ सभी के लिए $$i \neq j$$ और जाने $$\left.p_{xy}\right.$$ से कूदने की संभावना को निरूपित करें $$x \in \Theta$$ को $$y \in \Theta$$. फिर, संक्रमण संभावनाएं हैं
 * 1) एक यादृच्छिक सूचकांक चुनें $$1 \leq j \leq d$$
 * 2) के लिए एक नया मान चुनें $$\left.\theta_j\right.$$ के अनुसार $$g(\theta_1, \ldots, \theta_{j-1} , \, \cdot \, , \theta_{j+1} , \ldots , \theta_d )$$


 * $$p_{xy} = \begin{cases}

\frac{1}{d}\frac{g(y)}{\sum_{z \in \Theta: z \sim_j x} g(z) } & x \sim_j y \\ 0 & \text{otherwise} \end{cases} $$ इसलिए

g(x) p_{xy} = \frac{1}{d}\frac{ g(x) g(y)}{\sum_{z \in \Theta: z \sim_j x} g(z) } = \frac{1}{d}\frac{ g(y) g(x)}{\sum_{z \in \Theta: z \sim_j y} g(z) } = g(y) p_{yx} $$ तब से $$x \sim_j y$$ एक तुल्यता संबंध है। इस प्रकार विस्तृत संतुलन समीकरण संतुष्ट हैं, जिसका अर्थ है कि श्रृंखला उत्क्रमणीय है और इसमें अपरिवर्तनीय वितरण है $$\left.g\right.$$.

व्यवहार में, index $$\left.j\right.$$ यादृच्छिक रूप से नहीं चुना जाता है, और अनुक्रमित के माध्यम से श्रृंखला चक्र क्रम में होता है। सामान्य तौर पर यह एक गैर-स्थिर मार्कोव प्रक्रिया देता है, लेकिन प्रत्येक व्यक्तिगत चरण अभी भी प्रतिवर्ती होगा, और समग्र प्रक्रिया में अभी भी वांछित स्थिर वितरण होगा (जब तक कि श्रृंखला निश्चित क्रम के तहत सभी राज्यों तक पहुंच सकती है)।

बायेसियन अनुमान में गिब्स सैम्पलर और सूचना सिद्धांत से इसका संबंध
होने देना $$y$$ नमूना वितरण से उत्पन्न टिप्पणियों को निरूपित करें $$f(y|\theta)$$ और $$\pi(\theta)$$ पैरामीटर स्पेस पर पूर्व समर्थित हो $$\Theta$$. फिर बायेसियन आँकड़ों का एक केंद्रीय लक्ष्य पश्च घनत्व का अनुमान लगाना है


 * $$\pi(\theta|y) = \frac{f(y|\theta) \cdot \pi(\theta)}{m(y)}$$

जहां मामूली संभावना है $$ m(y) = \int_{\Theta} f(y|\theta) \cdot \pi(\theta) d\theta $$ सभी के लिए परिमित माना जाता है $$y$$.

गिब्स सैंपलर की व्याख्या करने के लिए, हम अतिरिक्त रूप से मान लेते हैं कि पैरामीटर स्पेस $$\Theta$$ रूप में विघटित हो जाता है


 * $$\Theta = \prod_{i=1}^{K}\Theta_{i} = \Theta_1 \times \cdots \Theta_i \times \cdots \times \Theta_K, \quad\quad (K>1)$$,

कहाँ $$\times$$ कार्टेशियन उत्पाद का प्रतिनिधित्व करता है। प्रत्येक घटक पैरामीटर स्थान $$\Theta_i$$ स्केलर घटकों, सबवेक्टर या मैट्रिसेस का एक सेट हो सकता है।

समुच्चय को परिभाषित कीजिए $$\Theta_{-i}$$ जो पूरक करता है $$\Theta_i$$. गिब्स सैम्पलर की आवश्यक सामग्री है $$i$$प्रत्येक के लिए -वाँ पूर्ण सशर्त पश्च वितरण $$i=1,\cdots, K$$
 * $$\pi(\theta_i|\theta_{-i},y)=\pi(\theta_i|\theta_1, \cdots, \theta_{i-1},\theta_{i+1},\cdots, \theta_{K},y)$$.

निम्नलिखित एल्गोरिथम एक सामान्य गिब्स सैंपलर का विवरण देता है:

$$\text{Initialize: pick arbitrary starting value}\,\, \theta^{(1)} = (\theta_1^{(1)},\theta_2^{(1)},\cdots,\theta_i^{(1)},\theta_{i+1}^{(1)},\cdots,\theta_K^{(1)}) $$

$$\text{Iterate a Cycle:}\,$$

$$ \quad\quad \text{Step 1. draw}\,\, \theta_1^{(s+1)}\sim \pi(\theta_1|\theta_2^{(s)},\theta_3^{(s)},\cdots,\theta_K^{(s)},y )$$

$$ \quad\quad \text{Step 2. draw}\,\, \theta_2^{(s+1)}\sim \pi(\theta_2|\theta_1^{(s+1)},\theta_3^{(s)},\cdots,\theta_K^{(s)},y )$$

$$ \quad\quad\quad \vdots$$

$$ \quad\quad \text{Step i.     draw}\,\, \theta_i^{(s+1)}\sim \pi(\theta_i|\theta_1^{(s+1)},\theta_2^{(s+1)},\cdots, \theta_{i-1}^{(s+1)},\theta_{i+1}^{(s)} ,\cdots, \theta_K^{(s)},y )$$

$$ \quad \quad \text{Step i+1. draw}\,\, \theta_{i+1}^{(s+1)}\sim \pi(\theta_{i+1}|\theta_1^{(s+1)},\theta_2^{(s+1)},\cdots, \theta_{i}^{(s+1)},\theta_{i+2}^{(s)} ,\cdots, \theta_K^{(s)},y )$$

$$ \quad\quad\quad \vdots$$

$$ \quad\quad \text{Step K.     draw}\,\, \theta_K^{(s+1)}\sim \pi(\theta_K|\theta_1^{(s+1)},\theta_2^{(s+1)},\cdots,\theta_{K-1}^{(s+1)},y )$$

$$\text{end Iterate}$$ ध्यान दें कि गिब्स सैम्पलर एक चक्र के भीतर पुनरावृत्त मोंटे कार्लो योजना द्वारा संचालित होता है। $$S$$ एच> नमूनों की संख्या $$\{\theta^{(s)} \}_{s=1}^{S}$$ उपरोक्त एल्गोरिदम द्वारा तैयार किए गए मार्कोव चेन को लक्ष्य घनत्व के रूप में अपरिवर्तनीय वितरण के साथ तैयार किया गया है $$\pi(\theta|y)$$.

अब, प्रत्येक के लिए $$i=1,\cdots,K$$, निम्नलिखित सूचना सैद्धांतिक मात्रा को परिभाषित करें:

$$I(\theta_i ; \theta_{-i}) = \text{KL}(\pi(\theta|y)||\pi(\theta_i|y) \cdot \pi(\theta_{-i}|y) ) =\int_{\Theta} \pi(\theta|y) \log \bigg(\frac{\pi(\theta|y)}{\pi(\theta_i|y) \cdot \pi(\theta_{-i}|y)}\bigg) d\theta, $$

$$H(\theta_{-i}) = -\int_{\Theta_{-i}} \pi(\theta_{-i}|y) \log \pi(\theta_{-i}|y) d\theta_{-i}, $$

$$H(\theta_{-i}|\theta_{i}) = -\int_{\Theta} \pi(\theta|y) \log \pi(\theta_{-i}|\theta_{i},y) d\theta, $$ अर्थात्, पश्च पारस्परिक सूचना, पश्च अंतर एन्ट्रापी, और पश्च सशर्त अंतर एन्ट्रापी, क्रमशः। हम इसी तरह सूचना सिद्धांतिक मात्राओं को परिभाषित कर सकते हैं $$I(\theta_{-i} ; \theta_{i})$$, $$H(\theta_{i})$$, और $$H(\theta_{i}|\theta_{-i})$$ अदला-बदली करके $$i$$ और $$-i$$ परिभाषित मात्रा में। फिर, निम्नलिखित $$K$$ समीकरण कायम हैं।

$$I(\theta_i ; \theta_{-i}) = H(\theta_{-i}) - H(\theta_{-i}|\theta_{i}) = H(\theta_{i}) - H(\theta_{i}|\theta_{-i}) = I(\theta_{-i} ; \theta_{i}), \quad (i=1,\cdots,K) $$.

आपसी जानकारी $$I(\theta_i ; \theta_{-i}) $$ यादृच्छिक मात्रा की अनिश्चितता में कमी की मात्रा निर्धारित करता है $$\theta_{i}$$ एक बार हम जानते हैं $$\theta_{-i}$$, वापस। यह गायब हो जाता है अगर और केवल अगर $$\theta_{i}$$ और $$\theta_{-i}$$ आंशिक रूप से स्वतंत्र हैं, एक पश्च। आपसी जानकारी $$I(\theta_i ; \theta_{-i})$$ से प्रसारित होने वाली मात्रा के रूप में व्याख्या की जा सकती है $$i$$-वें चरण के लिए $$i+1$$गिब्स सैम्पलर के एकल चक्र के भीतर -वाँ चरण।

रूपांतर और विस्तार
बुनियादी गिब्स सैम्पलर के कई रूप मौजूद हैं। इन विविधताओं का लक्ष्य किसी भी अतिरिक्त कम्प्यूटेशनल लागतों को दूर करने के लिए पर्याप्त रूप से नमूनों के बीच स्वत: संबंध को कम करना है।

अवरुद्ध गिब्स नमूना

 * एक अवरुद्ध गिब्स सैम्पलर दो या दो से अधिक चरों को एक साथ समूहित करता है और उनके संयुक्त वितरण से नमूने अलग-अलग प्रत्येक से नमूना लेने के बजाय अन्य सभी चरों पर सशर्त होता है। उदाहरण के लिए, एक छिपे छिपा हुआ मार्कोव मॉडल में, एक अवरुद्ध गिब्स सैम्पलर आगे-पीछे एल्गोरिदम  का उपयोग करके मार्कोव श्रृंखला बनाने वाले सभी अव्यक्त चर से नमूना ले सकता है।

संकुचित गिब्स नमूना

 * किसी अन्य चर के लिए नमूना लेते समय एक ढह गया गिब्स नमूना एक या अधिक चर (सीमांत वितरण) को एकीकृत करता है। उदाहरण के लिए, कल्पना करें कि एक मॉडल में तीन चर ए, बी और सी शामिल हैं। एक साधारण गिब्स सैम्पलर p(A | B,C), फिर p(B | A से नमूना लेगा ,C), फिर p(C | A,B)। एक संक्षिप्त गिब्स सैंपलर A के लिए नमूना चरण को सीमांत वितरण p(A | C) से लिए गए नमूने से बदल सकता है, जिसमें वेरिएबल 'B एकीकृत है इस मामले में बाहर। वैकल्पिक रूप से, चर B को पूरी तरह से संक्षिप्त किया जा सकता है, वैकल्पिक रूप से p(A | C) और p(C |  से नमूना लिया जा सकता है A) और B पर नमूनाकरण बिल्कुल नहीं। एक चर ए पर वितरण जो मूल चर बी'' के ढहने पर उत्पन्न होता है, एक यौगिक वितरण कहलाता है; इस वितरण से नमूना आम तौर पर ट्रैक्टेबल होता है जब 'बी' 'ए' के ​​​​लिए पूर्ववर्ती संयुग्म होता है, खासकर जब 'ए' और 'बी' घातीय परिवार के सदस्य होते हैं। अधिक जानकारी के लिए, यौगिक वितरण या लियू (1994) पर लेख देखें।

डिरिचलेट वितरण का ढहना
श्रेणीबद्ध वितरण के साथ पदानुक्रमित बायेसियन मॉडल में, जैसे अव्यक्त डिरिचलेट आवंटन और प्राकृतिक भाषा प्रसंस्करण में उपयोग किए जाने वाले विभिन्न अन्य मॉडल, डिरिचलेट वितरण को समाप्त करना काफी आम है जो आमतौर पर श्रेणीबद्ध चर पर पूर्व वितरण के रूप में उपयोग किया जाता है। इस ढहने का परिणाम किसी दिए गए डिरिचलेट पर निर्भर सभी स्पष्ट चर के बीच निर्भरता का परिचय देता है, और ढहने के बाद इन चरों का संयुक्त वितरण एक डिरिचलेट-बहुराष्ट्रीय वितरण है। इस वितरण में दिए गए श्रेणीबद्ध चर का सशर्त वितरण, दूसरों पर वातानुकूलित, एक अत्यंत सरल रूप ग्रहण करता है जो गिब्स नमूनाकरण को और भी आसान बना देता है, यदि ढहना नहीं किया गया होता। नियम इस प्रकार हैं:
 * 1) एक डिरिचलेट पूर्व नोड को समाप्त करने से केवल पूर्व के माता-पिता और बच्चों के नोड प्रभावित होते हैं। चूंकि माता-पिता अक्सर स्थिर होते हैं, आमतौर पर केवल बच्चों के बारे में हमें चिंता करने की आवश्यकता होती है।
 * 2) Collapsing a Dirichlet प्रायर उस पूर्व पर निर्भर सभी स्पष्ट बच्चों के बीच निर्भरता का परिचय देता है - लेकिन किसी भी अन्य श्रेणीबद्ध बच्चों के बीच कोई अतिरिक्त निर्भरता नहीं है। (यह ध्यान रखना महत्वपूर्ण है, उदाहरण के लिए, जब एक ही हाइपरप्रियर से संबंधित कई डिरिचलेट प्रीयर होते हैं। प्रत्येक डिरिचलेट पूर्व को स्वतंत्र रूप से ध्वस्त किया जा सकता है और केवल इसके प्रत्यक्ष बच्चों को प्रभावित करता है।)
 * 3) ढहने के बाद, एक आश्रित बच्चों का दूसरों पर सशर्त वितरण एक बहुत ही सरल रूप ग्रहण करता है: किसी दिए गए मूल्य को देखने की संभावना इस मूल्य के लिए संबंधित हाइपरप्रियर के योग के समानुपाती होती है, और अन्य सभी आश्रित नोड्स की गिनती समान मान मानकर। समान पूर्व पर निर्भर नहीं होने वाले नोड्स की गणना नहीं की जानी चाहिए। यही नियम अन्य पुनरावृत्त अनुमान विधियों में भी लागू होता है, जैसे वैरिएबल बेज़ या अपेक्षा अधिकतमीकरण; हालाँकि, यदि विधि में आंशिक गणना रखना शामिल है, तो विचाराधीन मान के लिए आंशिक गणना को अन्य सभी आश्रित नोड्स में सम्मिलित किया जाना चाहिए। कभी-कभी इस सारांशित आंशिक गणना को अपेक्षित गणना या समान कहा जाता है। संभाव्यता परिणामी मान के समानुपाती होती है; वास्तविक संभाव्यता को उन सभी संभावित मानों के सामान्यीकरण द्वारा निर्धारित किया जाना चाहिए जो श्रेणीबद्ध चर ले सकते हैं (अर्थात श्रेणीबद्ध चर के प्रत्येक संभावित मान के लिए परिकलित परिणाम जोड़ना, और इस योग से सभी परिकलित परिणामों को विभाजित करना)।
 * 4) यदि किसी दिए गए श्रेणीबद्ध नोड में आश्रित बच्चे हैं (उदाहरण के लिए जब यह मिश्रण मॉडल में एक अव्यक्त चर है), पिछले चरण में गणना की गई मान (अपेक्षित गणना प्लस पूर्व, या जो कुछ भी गणना की गई है) को वास्तविक सशर्त संभावनाओं से गुणा किया जाना चाहिए ( सभी बच्चों को उनके माता-पिता को दिए गए संभाव्यता के समानुपातिक नहीं है। विस्तृत चर्चा के लिए डिरिचलेट-बहुराष्ट्रीय बंटन पर लेख देखें।
 * 5) ऐसे मामले में जहां किसी दिए गए डिरिचलेट पूर्व पर निर्भर नोड्स की समूह सदस्यता कुछ अन्य चर के आधार पर गतिशील रूप से बदल सकती है (उदाहरण के लिए एक विषय मॉडल के रूप में एक अन्य अव्यक्त श्रेणीबद्ध चर द्वारा अनुक्रमित एक श्रेणीबद्ध चर), वही अपेक्षित गणना अभी भी हैं परिकलित, लेकिन सावधानी से करने की आवश्यकता है ताकि चरों का सही सेट शामिल किया जा सके। विषय मॉडल के संदर्भ सहित, अधिक चर्चा के लिए डिरिचलेट-बहुराष्ट्रीय वितरण पर लेख देखें।

अन्य संयुग्मी पुरोहितों का समाप्‍त होना
सामान्य तौर पर, किसी भी संयुग्म को पूर्व में ध्वस्त किया जा सकता है, यदि उसके एकमात्र बच्चों के वितरण संयुग्म हैं। यौगिक वितरण पर लेख में प्रासंगिक गणित पर चर्चा की गई है। यदि केवल एक चाइल्ड नोड है, तो परिणाम अक्सर एक ज्ञात वितरण मान लेगा। उदाहरण के लिए, एक एकल पॉसों वितरण चाइल्ड के साथ एक नेटवर्क के बाहर एक उलटा गामा वितरण|इनवर्स-गामा-डिस्ट्रीब्यूटेड झगड़ा को कोलैप्स करने से स्टूडेंट का टी-डिस्ट्रीब्यूशन मिलेगा। (उस मामले के लिए, एक एकल गॉसियन बच्चे के माध्य और विचरण दोनों को ढहाने से अभी भी एक छात्र का टी-वितरण प्राप्त होगा, बशर्ते दोनों संयुग्मित हों, यानी गॉसियन माध्य, व्युत्क्रम-गामा विचरण।)

यदि कई बच्चे नोड हैं, तो वे सभी निर्भर हो जाएंगे, जैसा कि डिरिचलेट वितरण-श्रेणीबद्ध वितरण मामले में है। परिणामी संयुक्त वितरण का एक बंद रूप होगा जो कुछ मायनों में यौगिक वितरण जैसा दिखता है, हालांकि इसमें कई कारकों का उत्पाद होगा, प्रत्येक बच्चे के नोड के लिए एक।

इसके अलावा, और सबसे महत्वपूर्ण बात यह है कि दूसरों को दिए गए चाइल्ड नोड्स में से एक के परिणामस्वरूप सशर्त वितरण (और ढह गए नोड के माता-पिता को भी दिया गया है, लेकिन चाइल्ड नोड्स के बच्चों को नहीं दिया गया है) के समान घनत्व होगा शेष सभी चाइल्ड नोड्स का पश्च भविष्य कहनेवाला वितरण । इसके अलावा, पश्च भविष्यवाणिय वितरण में एकल नोड के मूल यौगिक वितरण के समान घनत्व है, हालांकि विभिन्न मापदंडों के साथ। यौगिक वितरण पर लेख में सामान्य सूत्र दिया गया है।

उदाहरण के लिए, सशर्त रूप से स्वतंत्र समान रूप से वितरित गॉसियन वितरण के एक सेट के साथ एक बेयस नेटवर्क दिया गया है। गाऊसी-वितरित नोड्स के साथ संयुग्मित पूर्व वितरण माध्य और भिन्नता पर रखा गया है, एक नोड का सशर्त वितरण दूसरों को माध्य और विचरण दोनों को संयोजित करने के बाद दिया गया है। एक छात्र का टी-वितरण होगा। इसी तरह, कई पॉसॉन वितरण से पहले [[गाऊसी वितरण]] को कंपाउंडिंग करने का परिणाम | पॉइसन-वितरित नोड्स एक नोड के सशर्त वितरण का कारण बनता है, जिससे अन्य एक नकारात्मक द्विपद वितरण मान लेते हैं।

इन मामलों में जहां कंपाउंडिंग एक प्रसिद्ध वितरण का उत्पादन करता है, कुशल नमूनाकरण प्रक्रियाएं अक्सर मौजूद होती हैं, और उनका उपयोग करना अक्सर (हालांकि जरूरी नहीं) ढहने से अधिक कुशल होगा, और इसके बजाय पूर्व और बच्चे दोनों नोड्स को अलग-अलग नमूना लेना होगा। हालाँकि, ऐसे मामले में जहां यौगिक वितरण अच्छी तरह से ज्ञात नहीं है, इसका नमूना लेना आसान नहीं हो सकता है, क्योंकि यह आम तौर पर घातीय परिवार से संबंधित नहीं होगा और आमतौर पर लघुगणकीय रूप से अवतल कार्य नहीं होगा। अनुकूली अस्वीकृति नमूनाकरण का उपयोग करके नमूना लेना आसान है, क्योंकि एक बंद रूप हमेशा मौजूद रहता है)।

ऐसे मामले में जहां ढह गए नोड्स के बच्चे नोड्स में बच्चे हैं, इन बच्चों के नोड्स में से एक का सशर्त वितरण ग्राफ में अन्य सभी नोड्स को इन दूसरे स्तर के बच्चों के वितरण को ध्यान में रखना होगा। विशेष रूप से, परिणामी सशर्त वितरण संयुक्त वितरण के एक उत्पाद के समानुपाती होगा जैसा कि ऊपर परिभाषित किया गया है, और सभी बच्चे नोड्स के सशर्त वितरण उनके माता-पिता को दिए गए हैं (लेकिन अपने स्वयं के बच्चों को नहीं दिए गए हैं)। यह इस तथ्य से अनुसरण करता है कि पूर्ण सशर्त वितरण संयुक्त वितरण के समानुपाती होता है। यदि ढह गए नोड्स के बच्चे के नोड्स निरंतर वितरण हैं, तो यह वितरण आम तौर पर एक ज्ञात रूप का नहीं होगा, और इस तथ्य के बावजूद नमूना बनाना मुश्किल हो सकता है कि एक बंद फॉर्म लिखा जा सकता है, ऊपर वर्णित कारणों के लिए गैर-ज्ञात यौगिक वितरण। हालाँकि, विशेष मामले में कि बच्चे के नोड असतत वितरण हैं, नमूना संभव है, भले ही इन बच्चे के नोड के बच्चे निरंतर होंअसतत या असतत। वास्तव में, यहां शामिल सिद्धांत को डिरिचलेट-बहुराष्ट्रीय वितरण पर लेख में उचित विवरण में वर्णित किया गया है।

ऑर्डर किए गए ओवररिलैक्सेशन के साथ गिब्स सैंपलर

 * एक गिब्स सैम्पलर ने आदेशित ओवररिलैक्सेशन के लिए एक विषम संख्या में उम्मीदवार मूल्यों के लिए नमूने लिए $$x_j^{(i)}$$ किसी दिए गए चरण पर और उन्हें एकल मान के साथ क्रमबद्ध करें $$x_j^{(i-1)}$$ कुछ अच्छी तरह से परिभाषित आदेश के अनुसार। अगर $$x_j^{(i-1)}$$ एस हैth क्रमबद्ध सूची में सबसे छोटा तो the $$x_j^{(i)}$$ एस के रूप में चुना गया हैवें क्रमबद्ध सूची में सबसे बड़ा। अधिक जानकारी के लिए, नील (1995) देखें।

अन्य एक्सटेंशन
गिब्स नमूनाकरण को विभिन्न तरीकों से विस्तारित करना भी संभव है। उदाहरण के लिए, वेरिएबल्स के मामले में जिनके सशर्त वितरण से नमूना लेना आसान नहीं है, स्लाइस सैंपलिंग या मेट्रोपोलिस-हेस्टिंग्स एल्गोरिथम का एक एकल पुनरावृत्ति प्रश्न में वेरिएबल्स से नमूना लेने के लिए इस्तेमाल किया जा सकता है। उन चरों को शामिल करना भी संभव है जो यादृच्छिक चर नहीं हैं, लेकिन जिनका मान निश्चित रूप से अन्य चरों से गणना किया जाता है। सामान्यीकृत रैखिक मॉडल, उदा। लॉजिस्टिक रिग्रेशन (उर्फ अधिकतम एन्ट्रापी वर्गीकारक मॉडल), इस तरह से शामिल किया जा सकता है। (बीयूजीएस, उदाहरण के लिए, मॉडल के इस प्रकार के मिश्रण की अनुमति देता है।)

विफलता मोड
गिब्स नमूनाकरण दो तरीकों से विफल हो सकता है। पहला तब होता है जब उच्च-संभावना वाले राज्यों के द्वीप होते हैं, जिनके बीच कोई रास्ता नहीं होता है। उदाहरण के लिए, 2-बिट सदिशों पर प्रायिकता वितरण पर विचार करें, जहाँ सदिशों (0,0) और (1,1) प्रत्येक की प्रायिकता ½ है, लेकिन अन्य दो सदिशों (0,1) और (1,0) की प्रायिकता है शून्य। गिब्स सैंपलिंग दो उच्च संभावना वाले वैक्टर में से एक में फंस जाएगा, और दूसरे तक कभी नहीं पहुंचेगा। अधिक आम तौर पर, उच्च-आयामी, वास्तविक-मूल्य वाले वैक्टर पर किसी भी वितरण के लिए, यदि वेक्टर के दो विशेष तत्व पूरी तरह से सहसंबद्ध (या पूरी तरह से विरोधी-सहसंबंध) हैं, तो वे दो तत्व अटक जाएंगे, और गिब्स नमूनाकरण कभी भी बदलने में सक्षम नहीं होगा उन्हें।

दूसरी समस्या तब भी हो सकती है जब सभी राज्यों में संभावना शून्य न हो और उच्च संभावना वाले राज्यों का केवल एक ही द्वीप हो। उदाहरण के लिए, 100-बिट सदिशों पर प्रायिकता वितरण पर विचार करें, जहां सभी शून्य सदिश संभाव्यता ½ के साथ होता है, और अन्य सभी सदिश समान रूप से संभाव्य हैं, और इसलिए इसकी प्रायिकता है $$\frac{1}{2(2^{100}-1)}$$ प्रत्येक। यदि आप शून्य सदिश की प्रायिकता का अनुमान लगाना चाहते हैं, तो सही वितरण से 100 या 1000 नमूने लेना पर्याप्त होगा। यह लगभग ½ के करीब उत्तर देने की संभावना है। लेकिन आपको शायद इससे ज्यादा लेना होगा $$2^{100}$$ समान परिणाम प्राप्त करने के लिए गिब्स के नमूने से नमूने। कोई भी कंप्यूटर जीवन भर ऐसा नहीं कर सकता था।

यह समस्या तब होती है जब बर्न-इन अवधि कितनी भी लंबी हो। ऐसा इसलिए है क्योंकि सही वितरण में, शून्य वेक्टर आधा समय होता है, और उन घटनाओं को गैर-शून्य वैक्टरों के साथ यादृच्छिक रूप से मिश्रित किया जाता है। यहां तक ​​कि एक छोटा सा नमूना भी शून्य और अशून्य दोनों सदिशों को देखेगा। लेकिन गिब्स सैंपलिंग लंबी अवधि के लिए केवल शून्य वेक्टर वापस करने के बीच वैकल्पिक होगा (लगभग $$2^{99}$$ एक पंक्ति में), फिर लंबी अवधि के लिए केवल अशून्य वैक्टर (लगभग $$2^{99}$$ एक पंक्ति में)। इस प्रकार सही वितरण के लिए अभिसरण बेहद धीमा है, इसके लिए बहुत अधिक की आवश्यकता होती है $$2^{99}$$ कदम; उचित समय अवधि में इतने सारे कदम उठाना कम्प्यूटेशनल रूप से संभव नहीं है। यहाँ धीमे अभिसरण को आयामीता के अभिशाप के परिणाम के रूप में देखा जा सकता है। इस तरह की समस्या को एक बार में पूरे 100-बिट वेक्टर को ब्लॉक सैंपलिंग द्वारा हल किया जा सकता है। (यह मानता है कि 100-बिट वेक्टर चर के एक बड़े सेट का हिस्सा है। यदि यह वेक्टर केवल एक चीज है जिसका नमूना लिया जा रहा है, तो ब्लॉक नमूनाकरण गिब्स नमूनाकरण बिल्कुल नहीं करने के बराबर है, जो परिकल्पना द्वारा कठिन होगा।)

सॉफ्टवेयर

 * OpenBUGS सॉफ़्टवेयर (गिब्स सैम्पलिंग का उपयोग करके बायेसियन अनुमान) मार्कोव श्रृंखला मोंटे कार्लो का उपयोग करके जटिल सांख्यिकीय मॉडल का बायेसियन विश्लेषण करता है।


 * बस एक और गिब्स सैंपलर (बस एक और गिब्स नमूना) मार्कोव चेन मोंटे कार्लो का उपयोग करके बायेसियन पदानुक्रमित मॉडल के विश्लेषण के लिए एक जीपीएल कार्यक्रम है।


 * चर्च (प्रोग्रामिंग भाषा) मनमाना वितरण पर गिब्स अनुमान लगाने के लिए मुफ्त सॉफ्टवेयर है जो कि संभाव्य कार्यक्रमों के रूप में निर्दिष्ट हैं।


 * PyMC सामान्य ग्राफिकल मॉडल के बायेसियन सीखने के लिए एक ओपन सोर्स पायथन (प्रोग्रामिंग लैंग्वेज) लाइब्रेरी है।
 * Turing संभाव्य प्रोग्रामिंग का उपयोग करके बायेसियन अनुमान के लिए एक खुला स्रोत जूलिया (प्रोग्रामिंग भाषा) पुस्तकालय है।

संदर्भ

 * Bolstad, William M. (2010), Understanding Computational Bayesian Statistics, John Wiley ISBN 978-0-470-04609-8
 * (Contains a basic summary and many references.)
 * Gelman, A., Carlin J. B., Stern H. S., Dunson D., Vehtari A., Rubin D. B. (2013), Bayesian Data Analysis, third edition. London: Chapman & Hall.
 * Levin, David A.; Peres, Yuval; Wilmer, Elizabeth L. (2008), "Markov Chains and Mixing Times", American Mathematical Society.
 * Robert, C. P.; Casella, G. (2004), Monte Carlo Statistical Methods (second edition), Springer-Verlag.
 * Levin, David A.; Peres, Yuval; Wilmer, Elizabeth L. (2008), "Markov Chains and Mixing Times", American Mathematical Society.
 * Robert, C. P.; Casella, G. (2004), Monte Carlo Statistical Methods (second edition), Springer-Verlag.