วิธีใช้ทฤษฎีบทของเบย์ในอาร์


ทฤษฎีบทของเบย์ ระบุเหตุการณ์ต่อไปนี้สำหรับสองเหตุการณ์ 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

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

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