Mesurer une chance avec un nombre
Une probabilité est un nombre entre 0 et 1 qui mesure la chance qu’un événement se produise. Vous saurez la calculer à partir de comptes, pour un événement seul, pour deux événements, ou pour l’un sachant l’autre.
Le loueur de vélos se demande : un jour de pluie a-t-il moins de chances d’être un jour chargé ? Les comptes de l’année répondent.
À la fin de cette leçon
Remarque
Je peux calculer la probabilité d’un événement à partir de comptes.
Mots clés
| Mot | Ce que ça veut dire |
|---|---|
| Événement | un résultat dont on veut la chance |
| Probabilité | un nombre de 0 à 1 qui mesure la chance d’un événement |
| Fréquence | la part des cas observés où l’événement a eu lieu |
| Et, ou | les deux événements ensemble, ou au moins l’un des deux |
| Probabilité conditionnelle | la chance d’un événement quand un autre a eu lieu |
| Indépendants | se dit de deux événements qui ne changent pas leurs chances |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Une probabilité est une part des cas
Quand tous les cas sont aussi probables, la probabilité d’un événement est le nombre de cas favorables divisé par le nombre de cas possibles. Sur 20 pièces dont 3 sont défectueuses, une pièce prise au hasard est défectueuse avec une probabilité de 3 sur 20, soit 0,15.
Une probabilité est toujours comprise entre 0 (impossible) et 1 (certain). Sur des données, on estime la chance par la fréquence observée.
Estimer la chance d’un jour de pluie
docker exec jupyter python3 -c "import csv; jours = list(csv.DictReader(open('hires.csv'))); pluie = [j for j in jours if j['weather'] == 'rainy']; print(len(pluie), len(jours), round(len(pluie) / len(jours), 3))"Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
La fréquence estime la chance de pluie
La commande précédente compte les jours de pluie du fichier. Elle trouve 120 jours de pluie sur 365, donc une fréquence d’environ 0,329.
On peut donc dire qu’un jour pris au hasard dans cette année a environ une chance sur trois d’être pluvieux. Plus on a de jours, plus la fréquence est proche de la vraie chance.
Calculer « et » et « ou » avec un tableau
On range les jours dans un tableau croisé : la météo en lignes, l’affluence en colonnes. Un jour est chargé s’il compte au moins 300 locations.
La chance de « pluie et chargé » est le nombre de jours qui sont les deux, divisé par le total. Pour « pluie ou chargé », on additionne les deux comptes, puis on retire les jours comptés deux fois.
Exemple travaillé : 365 jours par météo et affluence
| Météo | Chargé | Calme | Total |
|---|---|---|---|
| Pluie | 25 | 95 | 120 |
| Nuageux | 30 | 84 | 114 |
| Soleil | 76 | 55 | 131 |
| Total | 131 | 234 | 365 |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Compter les jours de pluie, chargés ou non
docker exec jupyter python3 -c "import csv; jours = list(csv.DictReader(open('hires.csv'))); print(sum(1 for j in jours if j['weather'] == 'rainy' and int(j['hires']) >= 300), sum(1 for j in jours if j['weather'] == 'rainy'), sum(1 for j in jours if int(j['hires']) >= 300))"Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Lire la chance de « pluie et chargé »
La commande précédente affiche 25, 120 et 131 : les jours de pluie chargés, les jours de pluie et les jours chargés.
La chance de pluie et chargé est donc 25 sur 365, soit 0,068. La chance de pluie ou chargé est (120 + 131 − 25) sur 365, soit 226 sur 365, environ 0,619.
La probabilité conditionnelle, sachant un événement
La probabilité conditionnelle de B sachant A se calcule dans le groupe A seul. On compte les cas où A et B ont lieu, puis on divise par le nombre de cas de A.
Parmi les 120 jours de pluie, 25 sont chargés : la chance d’un jour chargé sachant la pluie est 25 sur 120, soit 0,208. Elle est plus faible que la chance 0,359 d’un jour chargé quelconque.
Un arbre écrit comme un tableau
| Météo | Chance de la météo | Chargé sachant la météo | Chance du chemin |
|---|---|---|---|
| Pluie | 0,33 | 0,21 | 0,07 |
| Nuageux | 0,31 | 0,26 | 0,08 |
| Soleil | 0,36 | 0,58 | 0,21 |
| Chargé en tout | 0,36 |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Les trois chances calculées en Python
# Les 365 jours, rangés par météo et par affluence.
pluie_chargee = 25
pluie_calme = 95
soleil_charge = 76
soleil_calme = 55
nuageux_charge = 30
nuageux_calme = 84
total = pluie_chargee + pluie_calme + soleil_charge + soleil_calme + nuageux_charge + nuageux_calme
pluie = pluie_chargee + pluie_calme
print("chance de pluie :", round(pluie / total, 3))
print("chance de pluie et de jour chargé :", round(pluie_chargee / total, 3))
print("chance de jour chargé sachant la pluie :", round(pluie_chargee / pluie, 3))
# Calculez ensuite la chance d’un jour chargé sachant le soleil.
Une erreur fréquente
Attention
Beaucoup pensent que la chance de A sachant B est la même que celle de B sachant A. Ce n’est presque jamais vrai. Sur 104 jours de week-end, 57 sont chargés : 0,55. Mais sur 131 jours chargés, 57 sont de week-end : 0,43.
Pour aller plus loin
Dans un carnet du labo, construisez le tableau croisé avec pd.crosstab(hires["weather"], hires["hires"] >= 300). Retrouvez les six nombres du tableau de cette leçon.
Calculez ensuite la chance d’un jour chargé sachant le week-end. Est-elle plus forte que sachant la pluie ? Dites en une phrase ce que le loueur peut en conclure.