كيفية تطبيق نظرية بايز في بايثون
تنص نظرية بايز على ما يلي للحدثين A و B :
P(A|B) = P(A)*P(B|A) / P(B)
ذهب:
- P(A|B): احتمال وقوع الحدث A، بمعلومية الحدث B.
- P(B|A): احتمال وقوع الحدث B، بشرط وقوع الحدث A.
- P(A): احتمال وقوع الحدث A.
- P(B): احتمال وقوع الحدث B.
على سبيل المثال، لنفترض أن احتمال أن يكون الطقس غائما هو 40%.
لنفترض أيضًا أن احتمال سقوط المطر في يوم معين هو 20%.
لنفترض أيضًا أن احتمال وجود السحب في يوم ممطر هو 85%.
إذا كان الجو غائمًا في الخارج في يوم معين، فما احتمال سقوط المطر في ذلك اليوم؟
الحل :
- ف(غائم) = 0.40
- ف(المطر) = 0.20
- P(غائم | مطر) = 0.85
وهكذا يمكننا حساب:
- P(مطر | غائم) = P(مطر) * P(غائم | مطر) / P(غائم)
- P(مطر | غائم) = 0.20 * 0.85 / 0.40
- P(مطر | غائم) = 0.425
إذا كان الجو غائمًا في الخارج في يوم معين، فإن احتمال هطول الأمطار في ذلك اليوم هو 42.5% .
يمكننا إنشاء الوظيفة البسيطة التالية لتطبيق نظرية بايز في بايثون:
def bayesTheorem (pA, pB, pBA): return pA * pBA / pB
يوضح المثال التالي كيفية استخدام هذه الوظيفة عمليًا.
مثال: نظرية بايز في بايثون
لنفترض أننا نعرف الاحتمالات التالية:
- ف(المطر) = 0.20
- ف(غائم) = 0.40
- P(غائم | مطر) = 0.85
لحساب P(مطر | غائم)، يمكننا استخدام الصيغة التالية:
#define function for Bayes' theorem def bayesTheorem (pA, pB, pBA): return pA * pBA / pB #define probabilities pRain = 0.2 pCloudy = 0.4 pCloudyRain = 0.85 #use function to calculate conditional probability bayesTheorem(pRain, pCloudy, pCloudyRain) 0.425
يخبرنا هذا أنه إذا كان الجو غائمًا في الخارج في يوم معين، فإن احتمال هطول الأمطار في ذلك اليوم هو 0.425 أو 42.5% .
وهذا يطابق القيمة التي حسبناها يدويًا سابقًا.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في بايثون:
كيفية حساب الاحتمال الشرطي في بايثون
كيفية حساب القيمة المتوقعة في بايثون
كيفية حساب المتوسط المقلص في بايثون