Как применить теорему байеса в 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): Вероятность события А.
- 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