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