عن المشروع
يُعد PyMC (المعروف سابقاً باسم PyMC3) حزمة برمجية بلغة Python مخصصة للنمذجة الإحصائية البايزية، وتركز بشكل أساسي على خوارزميات متقدمة لسلسلة ماركوف مونت كارلو (MCMC) والاستدلال التبايني (VI). إن مرونتها وقابليتها للتوسع تجعلها قابلة للتطبيق على مجموعة واسعة من المشكلات عبر مجالات متعددة.
تشمل الميزات الرئيسية صياغة نموذجية سهلة الفهم (على سبيل المثال، يتم ترجمة x ~ N(0,1) إلى x = Normal('x',0,1))، وخوارزميات أخذ عينات قوية مثل عينة No U-Turn Sampler (NUTS)، التي تتيح نمذجة النماذج المعقدة ذات الآلاف من المعلمة دون حاجة لمعرفة متخصصة عميقة بخوارزميات الضبط. كما يدعم الاستدلال التبايني عبر ADVI للتقدير السريع للخلفي التقريبي، بالإضافة إلى mini-batch ADVI لمجموعات البيانات الكبيرة. يعتمد PyMC على PyTensor لتحسين الحسابات، مع دعم للترجمة الديناميكية باستخدام C أو JAX، وعمليات NumPy مثل البث (broadcasting)، والفهرسة المتقدمة، ومشغلي الجبر الخطي، وسهولة التوسع. كما يوفر دعماً شفافاً لتكميم القيم المفقودة.
يدعم الإطار سير عمل بايزياً كاملاً: تعريف النماذج التوليدية مع الإحداثيات والأبعاد، وأخذ العينات من توزيعات ما قبل التنبؤ، ومراقبة البيانات لإجراء الاستدلال، وتوليد عينات تنبؤية خلفية، وإجراء تحليل مضاد للواقع باستخدام مشغل do() لمحاكاة السيناريوهات تحت معاملات معدلة. يوضح المثال الموجود في ملف README نموذج انحدار خطي للتنبؤ بنمو النبات، ويظهر كيف تتطابق المعلمات المستنتجة عن كثب مع قيم الحقيقة الثابتة، وكيف يمكن إجراء أخذ العينات التنبؤية الخلفية والتدخلات المضادة للواقع.
يعتبر PyMC مشروعاً غير ربحي تحت مظلة NumFOCUS، ومرخص بموجب رخصة Apache 2.0. ويتمتع بنظام بيئي غني من البرمجيات ذات الصلة، بما في ذلك Bambi لبناء النماذج البايزية، وcalibr8 لنماذج الملاحظة، وgumbi لنماذج العمليات الغاوسية، وSunODE للحل السريع للمعادلات التفاضلية العادية، وأدوات متخصصة في المجالات مثل Exoplanet للسلاسل الزمنية الفلكية، وbeat لتحليل الزلازل، وCausalPy للاستدلال السببي، وPyMC-Marketing لنمذجة مزيج التسويق. يوفر المشروع وثائق شاملة، ودروس تعليمية، ومعرض أمثلة، ونقاشاً نشطاً على منصة Discourse لدعم المجتمع.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.