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