Як застосувати теорему байєса в 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%.
Якщо в певний день надворі хмарно, яка ймовірність того, що цього дня буде дощ?
рішення :
- 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) }
У наступному прикладі показано, як використовувати цю функцію на практиці.
Приклад: теорема Байєса в R
Припустимо, нам відомі такі ймовірності:
- 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