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


Теорема Байеса утверждает следующее для двух событий 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% .

Мы можем создать следующую простую функцию для применения теоремы Байеса в Python:

 def bayesTheorem (pA, pB, pBA):
    return pA * pBA / pB

В следующем примере показано, как использовать эту функцию на практике.

Пример: теорема Байеса в Python

Предположим, мы знаем следующие вероятности:

  • P(дождь) = 0,20
  • P(облачно) = 0,40
  • P(облачно | дождь) = 0,85

Чтобы вычислить P(дождь | облачно), мы можем использовать следующий синтаксис:

 #define function for Bayes' theorem
def bayesTheorem (pA, pB, pBA):
    return pA * pBA / pB

#define probabilities
pRain = 0.2
pCloudy = 0.4
pCloudyRain = 0.85

#use function to calculate conditional probability
bayesTheorem(pRain, pCloudy, pCloudyRain)

0.425

Это говорит нам о том, что если в определенный день на улице пасмурно, вероятность дождя в этот день составляет 0,425 или 42,5% .

Это соответствует значению, которое мы рассчитали вручную ранее.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи на Python:

Как вычислить условную вероятность в Python
Как рассчитать ожидаемую стоимость в Python
Как вычислить усеченное среднее значение в Python

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

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