Probabilités conditionnelles
Les probabilités jouent un grand rôle dans de nombreux domaines :
-
science des données
-
finance
-
médecine
-
industrie
-
météorologie
-
…
Le langage Python avec son module random
peut aider à comprendre et à simuler des situations s’appuyant sur des probabilités.
💻 Travail n° 1 Module random
Le module random de Python nous permet de :
-
Générer des nombres aléatoires (entiers ou réels) selon différentes distributions (gaussiennes, exponentielles, logarithmiques)
-
Simuler des lancers de pièces ou de dés
-
Effectuer des tirages aléatoires dans des listes
🎯 Travail à faire :
-
S’appuyer sur cet article
pour compléter la fonction
simulerLancerDé()
du script suivant qui permet de simuler le lancer d’un dé à 6 faces en retournant un nombre aléatoire compris dans l’intervalle [1,6].Remplacer l’instruction
pass
par votre proposition de codeimport random as rnd # Simuler un lancer de dé def simulerLancerDeDe(): pass #Point d'entrée du script if __name__ == "__main__": # Initialise le générateur de nombre aléatoires avec # la date rnd.seed() #Lancer de dé resultat = simulerLancerDeDe() #Affichage du résultat print(f"Le résultat du lancer de dé est : {resultat}")
-
De manière intuitive, quelle est la probabilité d’obtenir un 3 lors d’un lancer de dé ?
-
Modifier le script pour qu’il simule le lancer de dé 10, 100, 10000, 1000000 fois et lui faire afficher la fréquence d’obtention du 3 lors de ces lancers sous forme de pourcentage.
Que constatez-vous lorsque le nombre de lancers de dé augmente ?
💻 Travail n° 2 Probabilités conditionnelles - 1
Une usine de production de smartphones utilise deux chaînes de montage, A et B. La chaîne A produit 60% des smartphones, tandis que la chaîne B produit les 40% restants. On sait que :
-
3% des smartphones produits par la chaîne A présentent un défaut d’écran.
-
2% des smartphones produits par la chaîne B présentent un défaut d’écran.
Un contrôle qualité est effectué sur un smartphone choisi au hasard en fin de production.
🎯 Travail à faire :
-
Donner la probabilité qu’un smartphone soit produit par la chaîne A
-
Donner la probabilité qu’un smartphone soit produit par la chaîne B
-
Donner la probabilité qu’un smartphone ait un défaut d’écran sachant qu’il provient de la chaîne A
-
Donner la probabilité qu’un smartphone ait un défaut d’écran sachant qu’il provient de la chaîne B
-
Poser le calcul qui donne la probabilité totale qu’un smartphone présente un défaut d’écran
Résultat attendu : 2.6%
-
Si un smartphone présente un défaut d’écran, poser le calcul qui mène à la probabilité qu’il provienne de la chaîne A ?
Résultat attendu : 69.2%
-
Exécuter le script Python suivant pour vérifier l’exactitude des réponses aux questions précédentes.
import random def production_smartphone(): # Choix de la chaîne de production (A: 60%, B: 40%) if random.random() < 0.60: chaine = 'A' # 3% de défauts pour la chaîne A defaut = random.random() < 0.03 else: chaine = 'B' # 2% de défauts pour la chaîne B defaut = random.random() < 0.02 return chaine, defaut def simulation(n_smartphones): total_A = 0 total_B = 0 defauts_A = 0 defauts_B = 0 total_defauts = 0 for i in range(n_smartphones): chaine, defaut = production_smartphone() if chaine == 'A': total_A += 1 if defaut: defauts_A += 1 total_defauts += 1 else: total_B += 1 if defaut: defauts_B += 1 total_defauts += 1 return total_A, total_B, defauts_A, defauts_B, total_defauts #Point d'entrée du script if __name__ == "__main__": # Simulation n_smartphones = 1000000 total_A, total_B, defauts_A, defauts_B, total_defauts = simulation(n_smartphones) # Calcul des probabilités prob_A = total_A / n_smartphones prob_B = total_B / n_smartphones prob_defaut_A = defauts_A / total_A prob_defaut_B = defauts_B / total_B prob_defaut_total = total_defauts / n_smartphones prob_A_sachant_defaut = defauts_A / total_defauts # Affichage des résultats print(f"Probabilité de production par la chaîne A : {prob_A:.4f}") print(f"Probabilité de production par la chaîne B : {prob_B:.4f}") print(f"Probabilité de défaut pour la chaîne A : {prob_defaut_A:.4f}") print(f"Probabilité de défaut pour la chaîne B : {prob_defaut_B:.4f}") print(f"Probabilité totale de défaut : {prob_defaut_total:.4f}") print(f"Probabilité que le smartphone vienne de la chaîne A sachant qu'il a un défaut : {prob_A_sachant_defaut:.4f}")
💻 Travail n° 3 Probabilités conditionnelles - 2
On vous donne le sujet d’un exercice que vous avez fait en classe avec M. Marchadour.
Une entreprise fabrique des lecteurs MP3, dont 6% sont défectueux. Chaque lecteur MP3 est soumis à une unité de contrôle dont la fiabilité n’est pas parfaite. Cette unité rejette 98% des lecteurs MP3 défectueux et 5% des lecteurs MP3 fonctionnant correctement.
On note les évènements suivants :
-
D
: “Le lecteur MP3 est défectueux” -
R
: “Le lecteur MP3 est rejeté”
🎯 Travail à faire :
S’appuyer sur le script Python donné dans l’exercice précédent pour qu’il affiche les réponses aux questions suivantes :
-
Calculer la probabilité qu’un lecteur MP3 soit défectueux et ne soit pas rejeté
-
Calculer la probabilité qu’il y ait une erreur de contrôle
-
Montrer que la probabilité que le lecteur MP3 ne soit pas rejeté est 0.8942
-
Sachant qu’il y a une erreur de contrôle, quelle est la probabilité que le MP3 soit défectueux.
🞄 🞄 🞄