Comment appliquer le théorème de Bayes en Python



Le théorème de Bayes énonce ce qui suit pour deux événements A et B :

P(UNE|B) = P(UNE)*P(B|UNE) / P(B)

où:

  • P(A|B) : La probabilité que l’événement A, étant donné que l’événement B, se soit produit.
  • P(B|A) : La probabilité que l’événement B, étant donné que l’événement A s’est produit, s’est produit.
  • P(A) : La probabilité de l’événement A.
  • P(B) : La probabilité de l’événement B.

Par exemple, supposons que la probabilité que le temps soit nuageux est de 40 %.

Supposons également que la probabilité qu’il pleuve un jour donné est de 20 %.

Supposons également que la probabilité qu’il y ait des nuages un jour de pluie est de 85 %.

S’il fait nuageux dehors un jour donné, quelle est la probabilité qu’il pleuve ce jour-là ?

Solution :

  • P(nuageux) = 0,40
  • P(pluie) = 0,20
  • P(nuageux | pluie) = 0,85

Ainsi, on peut calculer :

  • P(pluie | nuageux) = P(pluie) * P(nuageux | pluie) / P(nuageux)
  • P(pluie | nuageux) = 0,20 * 0,85 / 0,40
  • P(pluie | nuageux) = 0,425

S’il fait nuageux dehors un jour donné, la probabilité qu’il pleuve ce jour-là est de 42,5 % .

Nous pouvons créer la fonction simple suivante pour appliquer le théorème de Bayes en Python :

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

L’exemple suivant montre comment utiliser cette fonction dans la pratique.

Exemple : théorème de Bayes en Python

Supposons que nous connaissions les probabilités suivantes :

  • P(pluie) = 0,20
  • P(nuageux) = 0,40
  • P(nuageux | pluie) = 0,85

Pour calculer P(pluie | nuageux), on peut utiliser la syntaxe suivante :

#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

Cela nous indique que s’il fait nuageux dehors un jour donné, la probabilité qu’il pleuve ce jour-là est de 0,425 ou 42,5 % .

Cela correspond à la valeur que nous avons calculée manuellement plus tôt.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes en Python :

Comment calculer la probabilité conditionnelle en Python
Comment calculer la valeur attendue en Python
Comment calculer une moyenne tronquée en Python

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *