Как применить теорему байеса в 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *