كيفية تطبيق نظرية بايز في r
تنص نظرية بايز على ما يلي للحدثين 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% .
يمكننا إنشاء الوظيفة البسيطة التالية لتطبيق نظرية بايز في R:
bayesTheorem <- function (pA, pB, pBA) { pAB <- pA * pBA / pB return (pAB) }
يوضح المثال التالي كيفية استخدام هذه الوظيفة عمليًا.
مثال: نظرية بايز في R
لنفترض أننا نعرف الاحتمالات التالية:
- ف(المطر) = 0.20
- ف(غائم) = 0.40
- P(غائم | مطر) = 0.85
لحساب P(مطر | غائم)، يمكننا استخدام الصيغة التالية:
#define function for Bayes' Theorem bayesTheorem <- function (pA, pB, pBA) { pAB <- pA * pBA / pB return (pAB) } #define probabilities pRain <- 0.2 pCloudy <- 0.4 pCloudyRain <- .85 #use function to calculate conditional probability bayesTheorem(pRain, pCloudy, pCloudyRain) [1] 0.425
يخبرنا هذا أنه إذا كان الجو غائمًا في الخارج في يوم معين، فإن احتمال هطول الأمطار في ذلك اليوم هو 0.425 أو 42.5% .
وهذا يطابق القيمة التي حسبناها يدويًا سابقًا.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية حساب الاحتمالات الأخرى في R:
كيفية حساب الاحتمال الشرطي في R
كيفية حساب المتوسط الشرطي في R