Как применить теорему Байеса в R


Теорема Байеса утверждает следующее для любых двух событий A и B :

Р(А|В) = Р(А)*Р(В|А) / Р(В)

куда:

  • P(A|B): Вероятность события A при условии, что произошло событие B.
  • P(B|A): Вероятность события B при условии, что произошло событие A.
  • P(A): Вероятность события A.
  • P(B): Вероятность события B.

Например, предположим, что вероятность того, что погода будет облачной, составляет 40%. Также предположим, что вероятность дождя в данный день составляет 20 %, а вероятность облаков в дождливый день — 85 %.

Если в данный день на улице облачно, какова вероятность того, что в этот день пойдет дождь?

Решение :

  • Р(облачно) = 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
  • Р(облачно) = 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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.