1ʳᵉ spé · Chapitre 11 · Probabilités et statistiques
Exercices — Échantillonnage et simulation
14 exercices de difficulté croissante, à chercher avant de regarder le corrigé.
Sommaire
14 exercices, difficulté croissante de ★ (application directe) à ★★★★ (défi). Les corrigés détaillés sont dans le PDF — cherchez d'abord, le corrigé ensuite : c'est là que ça progresse.
Exercice 1 ★★★★ — Lire des instructions de simulation
Simuler une expérience ou une variable aléatoire en Python
Dans tout l'exercice, on a exécuté l'import suivant :
from random import random, randint, choice
-
Pour chaque instruction, indiquer toutes les valeurs possibles du résultat.
a.
randint(1, 6)b.
random()c.
randint(0, 1)d.
choice(["P", "F"])e.
2 * randint(1, 6)f.
randint(1, 6) + randint(1, 6) -
Pour chaque instruction, dire quelle expérience aléatoire elle simule, et préciser la loi de probabilité correspondante.
a.
random() < 0.3b.
random() < 0.5c.
choice([0, 1, 1, 1])d.
choice([1, 1, 1, 1, 5, 5]) -
Parmi les deux instructions
randint(0, 1)etrandom() < 0.5, expliquer pourquoi les deux peuvent simuler le lancer d'une pièce équilibrée, et ce qui les distingue (type du résultat renvoyé).
Exercice 2 ★★★★ — Générer et parcourir des listes
Listes Python : générer, parcourir, calculer
-
Donner la liste construite par chaque instruction (sans exécuter Python : raisonner à la main).
a.
[2*k for k in range(5)]b.
[k**2 for k in range(1, 5)]c.
[7 for k in range(4)]d.
[k + 1 for k in range(3)]e.
list(range(3, 8))f.
[10 - k for k in range(5)] -
On considère le programme suivant :
L = [] for k in range(6): L.append(3 * k)a. Donner la liste
Lobtenue à la fin de l'exécution.b. Écrire une instruction en compréhension qui construit la même liste en une seule ligne.
-
On pose
L = [4, 8, 15, 16, 23, 42]. Donner la valeur de chaque expression.a.
L[0]b.
L[3]c.
L[5]d.
len(L)e.
sum(L)f.
sum(L) / len(L) -
Écrire une fonction
total(L)qui calcule la somme des éléments d'une listeLsans utilisersum, à l'aide d'une boucleforet d'une variable de somme cumulée.
Exercice 3 ★★★★ — Simuler une pièce et un dé
Simuler une expérience ou une variable aléatoire en PythonListes Python : générer, parcourir, calculer
Dans tout l'exercice, on dispose de l'import :
from random import random, randint
On code un résultat « pile » par et un résultat « face » par .
-
Pièce équilibrée. Compléter la fonction suivante pour qu'elle simule le lancer d'une pièce équilibrée : elle doit renvoyer avec probabilité et sinon.
def piece(): if random() < ...: return 1 else: return 0 -
Pièce truquée. Écrire une fonction
piece_truquee(p)qui simule le lancer d'une pièce donnant « pile » avec probabilitép(où ) : elle renvoie avec probabilitépet sinon. -
Dé équilibré. Écrire une fonction
de()qui simule le lancer d'un dé équilibré à six faces, numérotées de à . -
Série de lancers. Compléter la fonction suivante pour qu'elle renvoie la liste des résultats de
nlancers d'un dé équilibré.def lancers(n): L = [] for k in range(...): L.append(...) return L -
Que renvoie l'appel
lancers(0)? Ce résultat vous semble-t-il cohérent ?
Exercice 4 ★★★★ — Une première moyenne d'échantillon
Échantillon de taille n et moyenne d'échantillon
On lance fois un dé équilibré à six faces et on note les résultats obtenus :
Cette série constitue un échantillon de taille de la variable aléatoire égale au résultat du dé.
-
Rappeler la valeur de l'espérance pour un dé équilibré.
-
Calculer à la main la moyenne de cet échantillon.
-
Comparer et . Était-il prévisible que ne soit pas exactement égale à ? Justifier.
-
On veut automatiser ce calcul. Compléter la fonction suivante, qui simule un échantillon de taille
nde lancers d'un dé équilibré et renvoie sa moyenne, en utilisant une somme cumulée :from random import randint def moyenne_echantillon(n): s = 0 for k in range(n): s = s + ... return s / ... -
Proposer une autre version de
moyenne_echantillon(n)qui construit d'abord la liste desnrésultats, puis utilisesumetlen.
Exercice 5 ★★★★ — Simuler une variable aléatoire de loi donnée
Simuler une expérience ou une variable aléatoire en PythonListes Python : générer, parcourir, calculer
Un stand de fête foraine propose le jeu suivant : à chaque partie, le joueur gagne un lot dont la valeur, en euros, est une variable aléatoire de loi :
On dispose de l'import :
from random import random, choice
-
Calculer l'espérance .
-
Compléter la fonction suivante pour qu'elle simule la variable à l'aide de
random()et de tests en cascade :def simule_X(): r = random() if r < ...: return 0 elif r < ...: return 1 else: return ...Expliquer pourquoi la condition du
elifdoit êtrer < 0.8et nonr < 0.3. -
On veut maintenant simuler avec
choice, qui choisit un élément au hasard, de façon équiprobable, dans une liste. Construire une listeLde nombres telle quechoice(L)suive exactement la loi de . Justifier. -
Écrire une fonction
echantillon(n)qui renvoie une liste denvaleurs simulées de (on pourra utilisersimule_X).
Exercice 6 ★★★★ — Estimer une espérance par simulation
Estimation de l'espérance par une moyenne observéeÉchantillon de taille n et moyenne d'échantillon
Une association organise une tombola. Chaque ticket coûte euros et rapporte un gain brut (avant déduction du prix du ticket) modélisé par une variable aléatoire de loi :
-
Calculer l'espérance .
-
On a écrit le programme suivant, où la fonction
simule_G()simule correctement la variable :def moyenne(n): L = [simule_G() for k in range(n)] return sum(L) / len(L) for n in [100, 1000, 10000]: print(n, moyenne(n))Une exécution a affiché :
100 1.28 1000 1.442 10000 1.4032a. Que représente chacune des trois valeurs affichées ?
b. De quelle valeur ces moyennes semblent-elles se rapprocher quand
naugmente ? Est-ce cohérent avec la question 1 ?c. Énoncer le principe général qui permet d'estimer l'espérance d'une variable aléatoire à l'aide d'une simulation.
-
Si on relance le programme, obtiendra-t-on exactement les mêmes trois valeurs ? Justifier.
-
Un ticket coûte euros. En utilisant la valeur de , dire si ce jeu est favorable au joueur, défavorable, ou équitable. Interpréter concrètement pour un joueur qui achèterait un grand nombre de tickets.
Exercice 7 ★★★★ — Deux échantillons, deux moyennes
Fluctuation d'échantillonnageÉchantillon de taille n et moyenne d'échantillon
Deux élèves, Lina et Malo, lancent chacun fois le même dé équilibré à six faces et notent leurs résultats.
Échantillon de Lina :
Échantillon de Malo :
On note la variable aléatoire égale au résultat d'un lancer, et .
-
Calculer la moyenne de l'échantillon de Lina et la moyenne de l'échantillon de Malo.
-
Comparer , et . Que constate-t-on ?
-
Malo affirme : « Nos deux moyennes sont différentes, donc l'un de nous deux s'est trompé, ou bien le dé est truqué. » Que lui répondre ? Comment s'appelle le phénomène observé ?
-
Lina dit : « Ma moyenne est plus loin de que celle de Malo, donc mon dé était moins équilibré pendant mes lancers. » Cet argument est-il valable ?
-
Question de réflexion. Que faudrait-il modifier dans l'expérience pour que la moyenne observée soit « presque sûrement » très proche de ? Expliquer en s'appuyant sur ce que dit le cours à propos de la taille de l'échantillon.
Exercice 8 ★★★★ — La dispersion diminue quand la taille augmente
Fluctuation d'échantillonnage
On lance un dé équilibré à six faces. La variable aléatoire égale au résultat du lancer a pour espérance (trait pointillé sur la figure).
À l'aide d'un programme Python, on a simulé échantillons de taille , puis échantillons de taille , puis échantillons de taille . Chaque point de la figure représente la moyenne d'un de ces échantillons.
-
Pour chacune des trois tailles , et , décrire en une phrase la dispersion des moyennes autour de , puis donner un encadrement approximatif des moyennes lues sur la figure.
-
Comment évolue la fluctuation des moyennes d'échantillons lorsque la taille augmente ? Formuler une conclusion en une ou deux phrases, en précisant ce que cela signifie pour l'estimation de par la moyenne observée.
-
Question de réflexion. Pour estimer , on hésite entre deux protocoles : lancer le dé fois et calculer la moyenne de cet unique échantillon, ou bien constituer échantillons de taille et regarder leurs moyennes. Qu'en pensez-vous ?
Exercice 9 ★★★★ — Programmer la proportion des écarts
L'écart 2 sigma sur racine de n et la règle des 95 %Listes Python : générer, parcourir, calculerSimuler une expérience ou une variable aléatoire en Python
On lance un dé équilibré à six faces. La variable aléatoire égale au résultat a pour espérance et pour écart type (valeur donnée, elle a été calculée au chapitre précédent).
On veut vérifier expérimentalement le constat du cours : pour des échantillons de taille , environ des moyennes vérifient .
Le script suivant, dans lequel trois lignes sont à compléter, simule échantillons de taille et renvoie la proportion des moyennes situées dans cette zone :
from random import randint
def proportion_ecarts(N, n):
sigma = 1.708
rayon = 2 * sigma / n**0.5
moyennes = []
for k in range(N):
echantillon = [randint(1, 6) for i in range(n)]
m = ... # moyenne de l'echantillon
moyennes.append(m)
compteur = 0
for m in moyennes:
if ... : # la moyenne est dans la zone
compteur = compteur + 1
return ... # proportion cherchee
-
Compléter les trois lignes du script.
-
Expliquer en une phrase le rôle de chacune des lignes suivantes :
a.
rayon = 2 * sigma / n**0.5b.
echantillon = [randint(1, 6) for i in range(n)]c.
moyennes.append(m) -
On exécute
proportion_ecarts(1000, 50). Quelle valeur approximative attend-on pour le résultat renvoyé ? -
On exécute maintenant
proportion_ecarts(1000, 200). La proportion renvoyée change-t-elle beaucoup ? Et la largeur de la zone ? Justifier par un calcul.
Exercice 10 ★★★★ — Ce dé est-il équilibré ?
Estimation de l'espérance par une moyenne observéeL'écart 2 sigma sur racine de n et la règle des 95 %
Dans un club de jeux de société, un joueur trouve qu'un des dés à six faces donne « trop souvent des grands nombres ». Pour en avoir le cœur net, on lance ce dé fois et on note les résultats. La moyenne observée sur cet échantillon est .
-
On suppose dans cette question que le dé est équilibré, et on note le résultat d'un lancer.
a. Donner la loi de probabilité de dans un tableau, puis vérifier que .
b. On admet que l'écart type de vaut . Calculer , arrondi au millième.
-
Toujours pour un dé équilibré, dans quelle zone se situent environ des moyennes d'échantillons de taille ? Donner l'encadrement correspondant de .
-
La moyenne observée appartient-elle à cette zone ?
-
Que peut-on raisonnablement conclure au sujet de ce dé ? Rédiger une réponse prudente : ce constat prouve-t-il que le dé est truqué ?
Exercice 11 ★★★★ — Vrai ou faux : moyennes et échantillons
Fluctuation d'échantillonnageEstimation de l'espérance par une moyenne observéeL'écart 2 sigma sur racine de n et la règle des 95 %
Dans tout l'exercice, est une variable aléatoire d'espérance et d'écart type . Pour chacune des affirmations suivantes, dire si elle est vraie ou fausse, puis justifier par une phrase ou un contre-exemple.
-
Deux échantillons de même taille d'une même variable aléatoire ont toujours la même moyenne.
-
Si la taille de l'échantillon est très grande, alors la moyenne de l'échantillon est égale à .
-
Pour des échantillons de taille , environ des moyennes s'écartent de d'au plus .
-
Pour diviser par , il suffit de doubler la taille de l'échantillon.
-
La moyenne d'un échantillon de taille est toujours comprise entre et .
-
Si l'on simule échantillons de taille puis échantillons de taille , la proportion des moyennes vérifiant est environ deux fois plus grande dans le second cas.
Exercice 12 ★★★★ — Une loterie au microscope
L'écart 2 sigma sur racine de n et la règle des 95 %Échantillon de taille n et moyenne d'échantillonEstimation de l'espérance par une moyenne observée
Une association vend des tickets de loterie. Le gain (en euros) d'un ticket suit la loi de probabilité suivante :
| (en €) | |||
|---|---|---|---|
-
a. Calculer l'espérance . Interpréter ce résultat pour un acheteur de tickets.
b. Calculer , en déduire la variance puis l'écart type , arrondi au centième.
-
On a simulé en Python échantillons de tickets chacun, et calculé la moyenne des gains de chaque échantillon. L'histogramme de ces moyennes est représenté ci-dessous (le trait vertical indique ).
Décrire l'histogramme en une ou deux phrases : autour de quelle valeur les moyennes se concentrent-elles ? Toutes les moyennes sont-elles proches de cette valeur ?
-
Calculer , puis donner l'encadrement de la moyenne vérifié par environ des échantillons de tickets.
-
Un client a acheté tickets et a obtenu un gain moyen de € par ticket. Commenter ce résultat à l'aide de la question précédente.
Exercice 13 ★★★★ — Contrôle qualité dans une usine
Estimation de l'espérance par une moyenne observéeL'écart 2 sigma sur racine de n et la règle des 95 %Simuler une expérience ou une variable aléatoire en Python
Dans une usine agroalimentaire, une machine remplit des paquets de farine. La masse d'un paquet (en grammes) est une variable aléatoire dont l'espérance annoncée par le fabricant est g et dont l'écart type est g (valeurs admises).
Chaque heure, un contrôleur prélève un échantillon de paquets et calcule leur masse moyenne .
-
a. Calculer .
b. En déduire la zone dans laquelle se situent environ des moyennes d'échantillons de paquets, si la machine est bien réglée.
-
À h, le contrôleur mesure une moyenne g. Que peut-il conclure ? Rédiger une réponse prudente.
-
Le contrôleur veut automatiser ce test. Écrire une fonction Python
alerte(masses)qui prend en paramètre la liste des masses des paquets d'un échantillon et renvoieTruesi la moyenne de l'échantillon sort de la zone , etFalsesinon. -
Question de réflexion. Pour gagner du temps, un stagiaire propose de ne peser que paquets par échantillon. Calculer et expliquer pourquoi le contrôle avec est préférable.
Exercice 14 ★★★★ — Écrire la simulation de A à Z
Simuler une expérience ou une variable aléatoire en PythonListes Python : générer, parcourir, calculerÉchantillon de taille n et moyenne d'échantillonL'écart 2 sigma sur racine de n et la règle des 95 %
On lance deux dés équilibrés à six faces et on note la somme des deux résultats. Dans cet exercice, on écrit soi-même toute la simulation, sans script fourni. On admet que l'écart type de vaut .
-
Justifier que . On pourra utiliser le fait (admis) que l'espérance de la somme des deux dés est la somme de leurs espérances.
-
Écrire une fonction Python
deux_des()qui simule une réalisation de , c'est-à-dire qui renvoie la somme de deux lancers d'un dé équilibré. On utiliserafrom random import randint. -
Écrire une fonction
moyenne_echantillon(n)qui simule un échantillon de taille de et renvoie sa moyenne. -
Écrire une fonction
proportion(N, n)qui simule échantillons de taille , calcule leurs moyennes, et renvoie la proportion des moyennes appartenant à la zone . Vérifier par un calcul que pour , cette zone est environ . -
Quelle valeur approximative attend-on pour
proportion(1000, 100)? Justifier en une phrase.
Bloqué sur « Échantillonnage et simulation » ?
On peut le travailler ensemble dès cette semaine. La première heure est offerte — on fait le point honnêtement, et vous repartez au minimum avec une méthode.