วิธีใช้ทฤษฎีบทของเบย์ในอาร์
ทฤษฎีบทของเบย์ ระบุเหตุการณ์ต่อไปนี้สำหรับสองเหตุการณ์ 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%
เราสามารถสร้างฟังก์ชันง่ายๆ ต่อไปนี้เพื่อใช้ทฤษฎีบทของเบย์ใน R:
bayesTheorem <- function (pA, pB, pBA) { pAB <- pA * pBA / pB return (pAB) }
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ
ตัวอย่าง: ทฤษฎีบทของเบย์ในอาร์
สมมติว่าเรารู้ความน่าจะเป็นดังต่อไปนี้:
- P(ฝน) = 0.20
- P(มีเมฆมาก) = 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