วิธีการใช้ทฤษฎีบทของ 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

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *