قراءة
وضع القصص

الأساليب الحسابية البايزية

~25 دقيقة قراءة الدرس 3 من 3 في الوحدة 9

حيث ينفد الجبر من الإطار

بنى الدرسان السابقان الآلة البايزية وأرياها تعمل باليد. فكل توزيعٍ بعْديٍّ يتناسب مع القبْليّ مضروباً في الأرجحيّة، ومع زوجٍ مترافق يقع البعْدي في عائلةٍ معروفة، فيكون التحديث حساباً بصيغةٍ مغلقة. والمشكلة أنّ الأزواج المترافقة هي الاستثناء. اكتب البعْدي كاملاً فيكون المقام تكاملاً على فضاء المَعلمات بأسره:

البعْدي، كاملاً
p(\theta \mid D) = \dfrac{p(D \mid \theta)\,p(\theta)}{\int p(D \mid \theta)\,p(\theta)\,d\theta}
البسط سهل: لأيّ مرشّح θ نستطيع تقييم القبْليّ والأرجحيّة. أمّا المقام — الأرجحيّة الهامشية P(D) — فهو ذلك التكامل، وخارج النماذج المترافقة لا صيغة مغلقة له.

لمَعلمةٍ أو اثنتين قد تطحن التكامل عددياً على شبكة. لكنّ النماذج الحقيقية فيها عشرات أو مئات أو آلاف المَعلمات، وشبكةٌ على هذا العدد من الأبعاد تحوي خلايا أكثر مما يحتمله وقت الحاسوب. هذا هو الجدار الذي جعل الاستدلال البايزي غير عمليٍّ في معظم القرن العشرين، وهو بالضبط الجدار الذي تلتفّ حوله سلسلة ماركوف مونت كارلو (MCMC).

فكرة MCMC

بدل تقييم البعْدي، تأخذ MCMC عيّنات منه. والاسم فكرتان ملتصقتان. مونت كارلو: إن استطعت سحب عيّناتٍ من توزيع، أمكنك تقدير أيّ سمةٍ له — متوسّطه، أو فترة 95%، أو احتمال ذيل — بمجرد حساب تلك السمة على العيّنات وأخذ متوسطها. سلسلة ماركوف: متتاليةُ حالاتٍ تعتمد كلٌّ منها على الحالة السابقة لها وحدها.

الحيلة أن تبني سلسلة ماركوف يكون توزيعها المستقر هو البعْدي نفسه. ابدأها من أيّ مكان، ودعها تعمل، وبعد حينٍ تصير الحالات التي تجول فيها عيّناتٍ من P(θ∣D) — ليست عيّناتٍ مستقلة، لكنها عيّناتٌ رغم ذلك. والميزة الحاسمة أنّ السلسلة لا تحتاج قطّ إلا إلى مقارنة البعْدي عند نقطتين، فتعمل بـنِسَب البعْدي. وفي النسبة يُختصَر المقام المستعصي: فهو الثابت نفسه بسطاً ومقاماً. فلا تضطرّ MCMC أبداً إلى حساب الشيء الذي تعذّر حسابه.

ميتروبوليس–هيستينغز

أقدم وصفةٍ لمثل هذه السلسلة وأعمّها هي ميتروبوليس–هيستينغز. من الحالة الراهنة x تقترح مرشّحاً x′ من توزيع اقتراحٍ q، ثم تقرّر الانتقال إليه أو البقاء، مستعملةً احتمال قبول:

احتمال القبول
اسحب عدداً منتظماً على (0, 1)؛ إن كان دون α فانتقل إلى x′، وإلا فابقَ عند x وسجّل x ثانيةً. ولاحظ أنّ p لا يظهر إلا كنسبة، فيكفي معرفته حتى ثابتٍ — وهذا هو بيت القصيد.

حين يكون الاقتراح متماثلاً — احتمال اقتراح خطوةٍ من x إلى x′ كاحتمال العكس، وهو ما يكون عليه دائماً غاوسيٌّ مركزُه النقطة الراهنة — تساوي نسبة q واحداً وتنهار القاعدة إلى صيغة ميتروبوليس الأصلية:

الحالة المتماثلة
أيّ خطوةٍ صاعدة (x′ أكثر احتمالاً) تُقبَل دائماً؛ والخطوة الهابطة تُقبَل باحتمالٍ يساوي مقدار انخفاض احتمالها. وتلك الرغبة المضبوطة في الهبوط هي ما يتيح للسلسلة أن تستكشف بدل أن تتسلّق إلى المنوال فحسب.

لماذا يقع هذا على البعْدي؟ صُمّمت قاعدة القبول لتحقّق التوازن التفصيلي: أن يتساوى احتمال ضبط السلسلة وهي تخطو من x إلى x′ مع احتمالها من x′ رجوعاً إلى x، حين تُسحَب x من البعْدي. والسلسلة التي تُطيع التوازن التفصيلي بالنسبة لتوزيعٍ يكون ذلك التوزيع توزيعَها المستقر. شغّلها مدةً كافية فتنسى من أين بدأت وتستقرّ على أخذ عيّنات البعْدي.

الضبط: القبول مقابل المزج

لميتروبوليس–هيستينغز مقبضٌ واحد يقرّر أيعمل جيداً أم يكاد لا يعمل: عرض الاقتراح، أي الحجم المعتاد للخطوة التي يقترحها. وهو يُنشئ مقايضةً مباشرة بين كثرة قبول الانتقالات ومدى جودة مزج السلسلة — أي سرعة تنقّلها عبر البعْدي.

قاعدة تقريبية

لمُعايِن ميتروبوليس ذي المشي العشوائي في الأبعاد العالية هدفٌ شهير: معدّل قبولٍ قرب 0.234 قريبٌ من الأمثل (Roberts, Gelman & Gilks, 1997). عامِله كتشخيصٍ لا كقانون — فإن كنت تقبل 95% من الاقتراحات فخطواتك خجولةٌ أكثر مما ينبغي، وإن كنت تقبل 2% فهي جريئةٌ أكثر مما ينبغي. والجواب الصحيح لمسألةٍ أحادية البُعد أعلى، قرب 0.44.

أخذ عيّنات غيبس

ميتروبوليس–هيستينغز عامٌّ لكنه مُبذِّر: فهو يرمي كل اقتراحٍ مرفوض. وحين يكون في النموذج بنيةٌ أكثر، يستغلّها أخذ عيّنات غيبس. والفكرة تحديث مَعلمةٍ واحدة في كل مرّة بسحبها من توزيعها الشرطي الكامل — توزيعها بالنظر إلى القيم الراهنة لكل المَعلمات الأخرى. وإن كان كل توزيعٍ شرطيٍّ كامل توزيعاً يمكنك السحب منه مباشرة، فلن ترفض شيئاً أبداً.

المثال النظيف هو التوزيع الطبيعي الثنائي المترابط. إذا كان (x₁, x₂) طبيعياً ثنائياً بارتباطٍ ρ وتباينٍ واحدي، فإنّ الشرطيَّ الكامل لكل إحداثيٍّ هو نفسه توزيعٌ طبيعيٌّ عادي:

توزيعٌ شرطيٌّ كامل
x_1 \mid x_2 \sim \mathcal{N}(\rho x_2,\; 1 - \rho^2)
ثبّت x₂ فيكون x₁ طبيعياً مركزُه ρx₂ بتباين 1−ρ²؛ وبالتماثل يصحّ الشيء نفسه بتبديل الدورين. اسحب x₁ من هذا، ثم x₂ من شرطيّه الخاص، وكرّر — تُقبَل كل عيّنة.

يمزج أخذ عيّنات غيبس جيداً ولا يحتاج ضبطاً حين يمكن استخدامه، ولذلك شغّل الجيل الأول من البرمجيات البايزية العملية. وحدُّه هو بالضبط شرطُه: لا يمكنك استخدامه إلا حين تكون الشرطيات الكاملة توزيعاتٍ معروفة يمكنك السحب منها. وحين لا تكون كذلك، ترجع إلى ميتروبوليس–هيستينغز، أو إلى هجينٍ يستعمل غيبس حيث يستطيع وخطوات ميتروبوليس في غيره.

التشخيصات: هل تقاربت السلسلة؟

تعطيك MCMC عيّناتٍ سواءٌ بلغت السلسلة البعْدي فعلاً أم لا، فلا يمكن الوثوق بمُخرَجها على عماية. وحفنةٌ من التشخيصات تخبرك أتصدّقه أم لا:

أنت لا تكتب هذه باليد

عملياً لا أحد يبرمج مُعايِناً من الصفر. فلغات البرمجة الاحتمالية — Stan وPyMC وغيرهما — تتيح لك وصف النموذج (القبْليّات والأرجحيّة) في أسطرٍ قليلة وتجميعه إلى مُعايِنٍ كفؤٍ تلقائياً، عادةً أسلوباً حديثاً قائماً على التدرّج بدل ميتروبوليس ذي المشي العشوائي البسيط. والمفاهيم في هذا الدرس هي ما تفعله تلك الأدوات تحت الغطاء، وهي ما تطلب منك التشخيصات أعلاه فحصه رغم ذلك.

جرّبها

يشغّل مُعايِن MCMC التفاعلي المرافق سلسلة ميتروبوليس–هيستينغز حقيقية ومُعايِن غيبس حقيقياً في المتصفّح. حرّك عرض الاقتراح وراقب مقايضة القبول بالمزج في مخطّط الأثر — الخطوات الصغيرة تزحف، والكبيرة تَعلَق، والنطاق بينهما يستكشف. وهو أسرع طريقةٍ لتحسّ بمعنى «المزج».

أبرز النقاط
  • ثابت تطبيع البعْدي تكاملٌ مستعصٍ خارج النماذج المترافقة، فلا يمكن عادةً تقييم البعْدي مباشرة.
  • MCMC تأخذ عيّنات البعْدي بدل تقييمه: ابنِ سلسلة ماركوف توزيعها المستقر هو البعْدي، وقدّر أيّ كميةٍ بأخذ متوسطٍ على عيّناتها. ولا يُحتاج إلا إلى نِسَب البعْدي، فيُختصَر الثابت المفقود.
  • يقترح ميتروبوليس–هيستينغز انتقالاً ويقبله باحتمال α = min(1, …)؛ ومع اقتراحٍ متماثل يصير min(1, p(x′)/p(x)). والتوازن التفصيلي هو ما يجعل البعْدي مستقراً.
  • يقايض عرض الاقتراح القبول بالمزج: الصغير جداً يزحف، والكبير جداً يَعلَق. ومعدّل قبولٍ قرب 0.234 في الأبعاد العالية قاعدةٌ تقريبية نافعة.
  • يسحب أخذ عيّنات غيبس كل مَعلمةٍ من شرطيّها الكامل التامّ ويقبل كل عيّنة — ممتازٌ حين تُعرَف الشرطيات، وغير متاحٍ حين لا تُعرَف.
  • شخّص دائماً: مخطّطات الأثر، والإحماء، والارتباط الذاتي وESS، وR̂ عبر عدة سلاسل. وأدوات البرمجة الاحتمالية (Stan وPyMC) تبني لك المُعايِن لكنها لا تُعفيك من الفحوص.
السابق التقدير البايزي نظرة عامة على الوحدة التالي أساسيات السلاسل الزمنية