วิธีการใช้ทฤษฎีบทของ bayes ใน python
ทฤษฎีบทของเบย์ ระบุเหตุการณ์ต่อไปนี้สำหรับสองเหตุการณ์ 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%
ถ้าวันนั้นมีเมฆมากข้างนอก วันนั้นฝนจะตกได้ขนาดไหน?
โซลูชั่น :
- P(มีเมฆมาก) = 0.40
- P(ฝน) = 0.20
- P(มีเมฆมาก | ฝนตก) = 0.85
ดังนั้นเราจึงสามารถคำนวณได้:
- P(ฝน | เมฆมาก) = P(ฝน) * P(เมฆมาก | ฝน) / P(เมฆมาก)
- P(ฝน | มีเมฆมาก) = 0.20 * 0.85 / 0.40
- P(ฝน | มีเมฆมาก) = 0.425
หากวันนั้นมีเมฆมาก โอกาสที่ฝนจะตกในวันนั้นคือ 42.5%
เราสามารถสร้างฟังก์ชันง่ายๆ ต่อไปนี้เพื่อใช้ทฤษฎีบทของ Bayes ใน Python:
def bayesTheorem (pA, pB, pBA): return pA * pBA / pB
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ
ตัวอย่าง: ทฤษฎีบทเบย์ใน Python
สมมติว่าเรารู้ความน่าจะเป็นดังต่อไปนี้:
- P(ฝน) = 0.20
- P(มีเมฆมาก) = 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%
ซึ่งตรงกับค่าที่เราคำนวณด้วยตนเองก่อนหน้านี้
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีทำงานทั่วไปอื่นๆ ใน Python:
วิธีการคำนวณความน่าจะเป็นแบบมีเงื่อนไขใน Python
วิธีการคำนวณค่าที่คาดหวังใน Python
วิธีการคำนวณค่าเฉลี่ยแบบเล็มใน Python