حيث ينفد الجبر من الإطار
بنى الدرسان السابقان الآلة البايزية وأرياها تعمل باليد. فكل توزيعٍ بعْديٍّ يتناسب مع القبْليّ مضروباً في الأرجحيّة، ومع زوجٍ مترافق يقع البعْدي في عائلةٍ معروفة، فيكون التحديث حساباً بصيغةٍ مغلقة. والمشكلة أنّ الأزواج المترافقة هي الاستثناء. اكتب البعْدي كاملاً فيكون المقام تكاملاً على فضاء المَعلمات بأسره:
لمَعلمةٍ أو اثنتين قد تطحن التكامل عددياً على شبكة. لكنّ النماذج الحقيقية فيها عشرات أو مئات أو آلاف المَعلمات، وشبكةٌ على هذا العدد من الأبعاد تحوي خلايا أكثر مما يحتمله وقت الحاسوب. هذا هو الجدار الذي جعل الاستدلال البايزي غير عمليٍّ في معظم القرن العشرين، وهو بالضبط الجدار الذي تلتفّ حوله سلسلة ماركوف مونت كارلو (MCMC).
فكرة MCMC
بدل تقييم البعْدي، تأخذ MCMC عيّنات منه. والاسم فكرتان ملتصقتان. مونت كارلو: إن استطعت سحب عيّناتٍ من توزيع، أمكنك تقدير أيّ سمةٍ له — متوسّطه، أو فترة 95%، أو احتمال ذيل — بمجرد حساب تلك السمة على العيّنات وأخذ متوسطها. سلسلة ماركوف: متتاليةُ حالاتٍ تعتمد كلٌّ منها على الحالة السابقة لها وحدها.
الحيلة أن تبني سلسلة ماركوف يكون توزيعها المستقر هو البعْدي نفسه. ابدأها من أيّ مكان، ودعها تعمل، وبعد حينٍ تصير الحالات التي تجول فيها عيّناتٍ من P(θ∣D) — ليست عيّناتٍ مستقلة، لكنها عيّناتٌ رغم ذلك. والميزة الحاسمة أنّ السلسلة لا تحتاج قطّ إلا إلى مقارنة البعْدي عند نقطتين، فتعمل بـنِسَب البعْدي. وفي النسبة يُختصَر المقام المستعصي: فهو الثابت نفسه بسطاً ومقاماً. فلا تضطرّ MCMC أبداً إلى حساب الشيء الذي تعذّر حسابه.
ميتروبوليس–هيستينغز
أقدم وصفةٍ لمثل هذه السلسلة وأعمّها هي ميتروبوليس–هيستينغز. من الحالة الراهنة x تقترح مرشّحاً x′ من توزيع اقتراحٍ q، ثم تقرّر الانتقال إليه أو البقاء، مستعملةً احتمال قبول:
حين يكون الاقتراح متماثلاً — احتمال اقتراح خطوةٍ من x إلى x′ كاحتمال العكس، وهو ما يكون عليه دائماً غاوسيٌّ مركزُه النقطة الراهنة — تساوي نسبة q واحداً وتنهار القاعدة إلى صيغة ميتروبوليس الأصلية:
لماذا يقع هذا على البعْدي؟ صُمّمت قاعدة القبول لتحقّق التوازن التفصيلي: أن يتساوى احتمال ضبط السلسلة وهي تخطو من x إلى x′ مع احتمالها من x′ رجوعاً إلى x، حين تُسحَب x من البعْدي. والسلسلة التي تُطيع التوازن التفصيلي بالنسبة لتوزيعٍ يكون ذلك التوزيع توزيعَها المستقر. شغّلها مدةً كافية فتنسى من أين بدأت وتستقرّ على أخذ عيّنات البعْدي.
الضبط: القبول مقابل المزج
لميتروبوليس–هيستينغز مقبضٌ واحد يقرّر أيعمل جيداً أم يكاد لا يعمل: عرض الاقتراح، أي الحجم المعتاد للخطوة التي يقترحها. وهو يُنشئ مقايضةً مباشرة بين كثرة قبول الانتقالات ومدى جودة مزج السلسلة — أي سرعة تنقّلها عبر البعْدي.
- صغيرٌ جداً — تُقبَل كل خطوةٍ ضئيلة تقريباً، لكن السلسلة تتخبّط في مكانها. فالعيّنات المتتالية تكاد تتطابق، فهي شديدة الارتباط الذاتي وتحمل معلومةً مستقلة ضئيلة.
- كبيرٌ جداً — تكاد كل خطوةٍ تقع في مكانٍ أقلّ احتمالاً بكثير فتُرفَض، فتجلس السلسلة ساكنةً مقاطع طويلة، مسجّلةً القيمة نفسها مراراً.
- نطاقٌ صحّيٌّ بينهما — خطواتٌ كبيرةٌ بما يكفي للتنقّل، مقبولةٌ بما يكفي لمواصلة الحركة. هنا يستكشف المُعايِن فعلاً.
لمُعايِن ميتروبوليس ذي المشي العشوائي في الأبعاد العالية هدفٌ شهير: معدّل قبولٍ قرب 0.234 قريبٌ من الأمثل (Roberts, Gelman & Gilks, 1997). عامِله كتشخيصٍ لا كقانون — فإن كنت تقبل 95% من الاقتراحات فخطواتك خجولةٌ أكثر مما ينبغي، وإن كنت تقبل 2% فهي جريئةٌ أكثر مما ينبغي. والجواب الصحيح لمسألةٍ أحادية البُعد أعلى، قرب 0.44.
أخذ عيّنات غيبس
ميتروبوليس–هيستينغز عامٌّ لكنه مُبذِّر: فهو يرمي كل اقتراحٍ مرفوض. وحين يكون في النموذج بنيةٌ أكثر، يستغلّها أخذ عيّنات غيبس. والفكرة تحديث مَعلمةٍ واحدة في كل مرّة بسحبها من توزيعها الشرطي الكامل — توزيعها بالنظر إلى القيم الراهنة لكل المَعلمات الأخرى. وإن كان كل توزيعٍ شرطيٍّ كامل توزيعاً يمكنك السحب منه مباشرة، فلن ترفض شيئاً أبداً.
المثال النظيف هو التوزيع الطبيعي الثنائي المترابط. إذا كان (x₁, x₂) طبيعياً ثنائياً بارتباطٍ ρ وتباينٍ واحدي، فإنّ الشرطيَّ الكامل لكل إحداثيٍّ هو نفسه توزيعٌ طبيعيٌّ عادي:
يمزج أخذ عيّنات غيبس جيداً ولا يحتاج ضبطاً حين يمكن استخدامه، ولذلك شغّل الجيل الأول من البرمجيات البايزية العملية. وحدُّه هو بالضبط شرطُه: لا يمكنك استخدامه إلا حين تكون الشرطيات الكاملة توزيعاتٍ معروفة يمكنك السحب منها. وحين لا تكون كذلك، ترجع إلى ميتروبوليس–هيستينغز، أو إلى هجينٍ يستعمل غيبس حيث يستطيع وخطوات ميتروبوليس في غيره.
التشخيصات: هل تقاربت السلسلة؟
تعطيك MCMC عيّناتٍ سواءٌ بلغت السلسلة البعْدي فعلاً أم لا، فلا يمكن الوثوق بمُخرَجها على عماية. وحفنةٌ من التشخيصات تخبرك أتصدّقه أم لا:
- مخطّطات الأثر. ارسم كل مَعلمة مقابل رقم التكرار. السلسلة المتقاربة الحسنة المزج تبدو شريطاً أفقياً مشعّثاً — «يسروعاً أشعث». أمّا المقاطع المسطّحة الطويلة، أو الانزلاق البطيء، أو سلسلةٌ لا تستقرّ أبداً، فكلها علامات إنذار.
- الإحماء. تبدأ السلسلة حيث وضعتها، وقد يكون ذلك بعيداً عن جُلّ البعْدي. اطرح التكرارات المبكّرة — الإحماء — كيلا تُجَرّ التقديرات نحو نقطة البداية الاعتباطية.
- الارتباط الذاتي وحجم العيّنة الفعّال. العيّنات المتتالية مترابطة، فتساوي 10,000 عيّنةٍ من MCMC أقلّ من 10,000 عيّنةٍ مستقلة. ويذكر حجم العيّنة الفعّال (ESS) كم عيّنةً مستقلة تعادلها؛ وصِغَرُ ESS يعني ارتباطاً ذاتياً عالياً وتقديراتٍ متزعزعة.
- R-hat عبر السلاسل. شغّل عدة سلاسل من نقاط بدايةٍ متفرّقة. فإن تقاربت وجب أن تستكشف كلها المنطقة نفسها، فيطابق التباين بين السلاسل التباين داخلها. وتقيس إحصاءة جيلمان–روبن R̂ هذا، والقيمة قرب 1 هي إشارة توافق السلاسل.
أنت لا تكتب هذه باليد
عملياً لا أحد يبرمج مُعايِناً من الصفر. فلغات البرمجة الاحتمالية — Stan وPyMC وغيرهما — تتيح لك وصف النموذج (القبْليّات والأرجحيّة) في أسطرٍ قليلة وتجميعه إلى مُعايِنٍ كفؤٍ تلقائياً، عادةً أسلوباً حديثاً قائماً على التدرّج بدل ميتروبوليس ذي المشي العشوائي البسيط. والمفاهيم في هذا الدرس هي ما تفعله تلك الأدوات تحت الغطاء، وهي ما تطلب منك التشخيصات أعلاه فحصه رغم ذلك.
يشغّل مُعايِن MCMC التفاعلي المرافق سلسلة ميتروبوليس–هيستينغز حقيقية ومُعايِن غيبس حقيقياً في المتصفّح. حرّك عرض الاقتراح وراقب مقايضة القبول بالمزج في مخطّط الأثر — الخطوات الصغيرة تزحف، والكبيرة تَعلَق، والنطاق بينهما يستكشف. وهو أسرع طريقةٍ لتحسّ بمعنى «المزج».
- ثابت تطبيع البعْدي تكاملٌ مستعصٍ خارج النماذج المترافقة، فلا يمكن عادةً تقييم البعْدي مباشرة.
- MCMC تأخذ عيّنات البعْدي بدل تقييمه: ابنِ سلسلة ماركوف توزيعها المستقر هو البعْدي، وقدّر أيّ كميةٍ بأخذ متوسطٍ على عيّناتها. ولا يُحتاج إلا إلى نِسَب البعْدي، فيُختصَر الثابت المفقود.
- يقترح ميتروبوليس–هيستينغز انتقالاً ويقبله باحتمال α = min(1, …)؛ ومع اقتراحٍ متماثل يصير min(1, p(x′)/p(x)). والتوازن التفصيلي هو ما يجعل البعْدي مستقراً.
- يقايض عرض الاقتراح القبول بالمزج: الصغير جداً يزحف، والكبير جداً يَعلَق. ومعدّل قبولٍ قرب 0.234 في الأبعاد العالية قاعدةٌ تقريبية نافعة.
- يسحب أخذ عيّنات غيبس كل مَعلمةٍ من شرطيّها الكامل التامّ ويقبل كل عيّنة — ممتازٌ حين تُعرَف الشرطيات، وغير متاحٍ حين لا تُعرَف.
- شخّص دائماً: مخطّطات الأثر، والإحماء، والارتباط الذاتي وESS، وR̂ عبر عدة سلاسل. وأدوات البرمجة الاحتمالية (Stan وPyMC) تبني لك المُعايِن لكنها لا تُعفيك من الفحوص.