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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *