Comment calculer la probabilité conditionnelle en Python
La probabilité conditionnelle que l’événement A se produise, étant donné que l’événement B s’est produit, est calculée comme suit :
P(UNE|B) = P(UNE∩B) / P(B)
où:
P(A∩B) = la probabilité que l’événement A et l’événement B se produisent tous deux.
P(B) = la probabilité que l’événement B se produise.
L’exemple suivant montre comment utiliser cette formule pour calculer des probabilités conditionnelles en Python.
Exemple : calculer la probabilité conditionnelle en Python
Supposons que nous envoyions une enquête à 300 personnes pour leur demander quel sport elles préfèrent : le baseball, le basket-ball, le football ou le football.
Nous pouvons créer le tableau suivant en Python pour contenir les réponses à l’enquête :
import pandas as pd
import numpy as np
#create pandas DataFrame with raw data
df = pd.DataFrame({'gender': np.repeat(np.array(['Male', 'Female']), 150),
'sport': np.repeat(np.array(['Baseball', 'Basketball', 'Football',
'Soccer', 'Baseball', 'Basketball',
'Football', 'Soccer']),
(34, 40, 58, 18, 34, 52, 20, 44))})
#produce contingency table to summarize raw data
survey_data = pd.crosstab(index=df['gender'], columns=df['sport'], margins=True)
#view contingency table
survey_data
sport Baseball Basketball Football Soccer All
gender
Female 34 52 20 44 150
Male 34 40 58 18 150
All 68 92 78 62 300
Connexe : Comment utiliser pd.crosstab() pour créer des tableaux de contingence en Python
Nous pouvons utiliser la syntaxe suivante pour extraire les valeurs du tableau :
#extract value in second row and first column
survey_data.iloc[1, 0]
[1] 34
Nous pouvons utiliser la syntaxe suivante pour calculer la probabilité qu’un individu soit un homme, étant donné qu’il préfère le baseball comme sport favori :
#calculate probability of being male, given that individual prefers baseball
survey_data.iloc[1, 0] / survey_data.iloc[2, 0]
0.5
Et nous pouvons utiliser la syntaxe suivante pour calculer la probabilité qu’un individu préfère le basket-ball comme sport préféré, étant donné qu’il est une femme :
#calculate probability of preferring basketball, given that individual is female
survey_data.iloc[0, 1] / survey_data.iloc[0, 4]
0.3466666666666667
Nous pouvons utiliser cette approche de base pour calculer n’importe quelle probabilité conditionnelle que nous souhaitons à partir du tableau de contingence.
Ressources additionnelles
Les didacticiels suivants fournissent des informations supplémentaires sur la gestion des probabilités :
Loi de probabilité totale
Comment trouver la moyenne d’une distribution de probabilité
Comment trouver l’écart type d’une distribution de probabilité