Como aplicar o teorema de bayes em python
O teorema de Bayes afirma o seguinte para dois eventos A e B :
P(A|B) = P(A)*P(B|A) / P(B)
Ouro:
- P(A|B): A probabilidade de que o evento A, dado o evento B, tenha ocorrido.
- P(B|A): A probabilidade de que o evento B, dado que o evento A ocorreu, tenha ocorrido.
- P(A): A probabilidade do evento A.
- P(B): A probabilidade do evento B.
Por exemplo, suponha que a probabilidade de o tempo estar nublado seja de 40%.
Suponhamos também que a probabilidade de chuva em um determinado dia seja de 20%.
Suponhamos também que a probabilidade de haver nuvens em um dia chuvoso seja de 85%.
Se estiver nublado lá fora em um determinado dia, qual é a chance de chover naquele dia?
Solução :
- P(nublado) = 0,40
- P(chuva) = 0,20
- P(nublado | chuva) = 0,85
Assim, podemos calcular:
- P(chuva | nublado) = P(chuva) * P(nublado | chuva) / P(nublado)
- P(chuva | nublado) = 0,20 * 0,85 / 0,40
- P(chuva | nublado) = 0,425
Se estiver nublado lá fora em um determinado dia, a chance de chover naquele dia é de 42,5% .
Podemos criar a seguinte função simples para aplicar o teorema de Bayes em Python:
def bayesTheorem (pA, pB, pBA): return pA * pBA / pB
O exemplo a seguir mostra como usar esta função na prática.
Exemplo: teorema de Bayes em Python
Suponha que conhecemos as seguintes probabilidades:
- P(chuva) = 0,20
- P(nublado) = 0,40
- P(nublado | chuva) = 0,85
Para calcular P(chuva | nublado), podemos usar a seguinte sintaxe:
#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
Isso nos diz que se estiver nublado lá fora em um determinado dia, a chance de chover naquele dia é de 0,425 ou 42,5% .
Isso corresponde ao valor que calculamos manualmente anteriormente.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em Python:
Como calcular a probabilidade condicional em Python
Como calcular o valor esperado em Python
Como calcular uma média aparada em Python