Teorema de Bayes: Uma Explicação Detalhada
O Teorema de Bayes é um princípio fundamental na teoria das probabilidades e estatística. Ele fornece uma maneira de calcular a probabilidade de uma hipótese com base em informações ou evidências prévias. Em outras palavras, ele nos permite atualizar as crenças sobre a probabilidade de um evento com base em novas evidências.
O teorema pode ser enunciado da seguinte forma:
P(A|B) = (P(B|A) * P(A)) / P(B)
Onde:
- P(A|B) é a probabilidade da hipótese A ser verdadeira dado que a evidência B foi observada, conhecida como probabilidade posterior.
- P(B|A) é a probabilidade da evidência B ocorrer, assumindo que A é verdadeira, chamada de verossimilhança.
- P(A) é a probabilidade prévia da hipótese A ser verdadeira antes de observar a evidência B, chamada de probabilidade anterior.
- P(B) é a probabilidade de observar a evidência B sob todas as hipóteses possíveis, conhecida como probabilidade marginal.
O teorema de Bayes é amplamente utilizado em várias áreas, incluindo aprendizado de máquina, inferência estatística e modelagem probabilística.
Exemplos em Python
Agora vamos a 10 exemplos que aplicam o teorema de Bayes para resolver diferentes problemas.
Exemplo 1: Cálculo Simples do Teorema de Bayes
# Teorema de Bayes básico
P_A = 0.01
P_B_given_A = 0.99
P_B_given_not_A = 0.05
P_not_A = 1 - P_A
P_B = P_B_given_A * P_A + P_B_given_not_A * P_not_A
P_A_given_B = (P_B_given_A * P_A) / P_B
print(f"Probabilidade de estar doente dado que o teste foi positivo: {P_A_given_B:.4f}")
Exemplo 2: Aplicação em Diagnóstico Médico
P_A = 0.02
P_B_given_A = 0.99
P_B_given_not_A = 0.01
P_not_A = 1 - P_A
P_B = P_B_given_A * P_A + P_B_given_not_A * P_not_A
P_A_given_B = (P_B_given_A * P_A) / P_B
print(f"Probabilidade de estar grávida dado que o teste foi positivo: {P_A_given_B:.4f}")
Exemplo 3: Teste de Dopagem em Atletas
P_A = 0.001
P_B_given_A = 0.99
P_B_given_not_A = 0.05
P_not_A = 1 - P_A
P_B = P_B_given_A * P_A + P_B_given_not_A * P_not_A
P_A_given_B = (P_B_given_A * P_A) / P_B
print(f"Probabilidade de um atleta ser dopado dado um teste positivo: {P_A_given_B:.4f}")
Exemplo 4: Classificação de E-mails (Spam ou Não Spam)
P_A = 0.2
P_B_given_A = 0.6
P_B_given_not_A = 0.1
P_not_A = 1 - P_A
P_B = P_B_given_A * P_A + P_B_given_not_A * P_not_A
P_A_given_B = (P_B_given_A * P_A) / P_B
print(f"Probabilidade de um e-mail ser spam dado que contém a palavra: {P_A_given_B:.4f}")
Exemplo 5: Avaliação de Fraude em Transações Bancárias
P_A = 0.01
P_B_given_A = 0.9
P_B_given_not_A = 0.05
P_not_A = 1 - P_A
P_B = P_B_given_A * P_A + P_B_given_not_A * P_not_A
P_A_given_B = (P_B_given_A * P_A) / P_B
print(f"Probabilidade de uma transação ser fraudulenta dado que o sistema emitiu um alerta: {P_A_given_B:.4f}")
Exemplo 6: Pesquisa de Satisfação do Cliente
P_A = 0.8
P_B_given_A = 0.95
P_B_given_not_A = 0.1
P_not_A = 1 - P_A
P_B = P_B_given_A * P_A + P_B_given_not_A * P_not_A
P_A_given_B = (P_B_given_A * P_A) / P_B
print(f"Probabilidade de um cliente estar satisfeito dado que ele deixou uma avaliação positiva: {P_A_given_B:.4f}")
Exemplo 7: Pesquisa de Vacinação
P_A = 0.7
P_B_given_A = 0.95
P_B_given_not_A = 0.05
P_not_A = 1 - P_A
P_B = P_B_given_A * P_A + P_B_given_not_A * P_not_A
P_A_given_B = (P_B_given_A * P_A) / P_B
print(f"Probabilidade de uma pessoa ser vacinada dado que ela tem imunidade: {P_A_given_B:.4f}")
Exemplo 8: Previsão Meteorológica
P_A = 0.3
P_B_given_A = 0.9
P_B_given_not_A = 0.2
P_not_A = 1 - P_A
P_B = P_B_given_A * P_A + P_B_given_not_A * P_not_A
P_A_given_B = (P_B_given_A * P_A) / P_B
print(f"Probabilidade de chover dado que há nuvens no céu: {P_A_given_B:.4f}")
Exemplo 9: Diagnóstico de Falhas em Equipamentos
P_A = 0.05
P_B_given_A = 0.9
P_B_given_not_A = 0.1
P_not_A = 1 - P_A
P_B = P_B_given_A * P_A + P_B_given_not_A * P_not_A
P_A_given_B = (P_B_given_A * P_A) / P_B
print(f"Probabilidade de uma máquina falhar dado que um alerta foi emitido: {P_A_given_B:.4f}")

Leave a comment