Je réserve ici
Spécialité Mathématiques 1ʳᵉ

Ressources · 1ʳᵉ · Spécialité Mathématiques

Expérimentations : simuler des échantillons

Simuler une variable aléatoire en Python, moyenne d’un échantillon de taille n et fluctuation, proportion des échantillons tels que |m − μ| ⩽ 2σ/√n, effet de la taille de l’échantillon.

À propos de cette page
Des exercices corrigés sur la simulation d’échantillons, classés par cas et par difficulté : probabilités avec random et randint, seuils à compléter, fonction moyenne et fréquence, intervalle centré sur l’espérance, fréquence d’ampoules défectueuses, taille minimale arrondie à l’entier supérieur, lecture d’un programme qui compte les échantillons. Chaque cas contient une question à justifier, avec la rédaction attendue.

20 exercices, classés par cas comme le cours. Écris ta réponse, puis « Vérifier ».

Cas 1Simuler une variable aléatoire en Python

Réflexe — je traduis la loi en seuils cumulés ; randint(a, b), comme ALEA.ENTRE.BORNES(a;b) au tableur, renvoie un entier de a à b, bornes comprises. Revoir la méthode →

Exercice 1★★★Facile

Donne chaque réponse sous forme décimale ou de fraction (exemple : 3/8).

  1. Probabilité que random() < 0.42 soit vrai :
    random() tombe dans [0;0,42[ avec une probabilité égale à la longueur de cet intervalle : 0,42.
  2. Probabilité que 0.4 <= random() < 0.9 soit vrai :
    Longueur de l’intervalle [0,4;0,9[ : 0,9−0,4=0,5.
  3. Nombre de valeurs différentes que peut renvoyer randint(3, 7) :
    Les deux bornes sont comprises : 3, 4, 5, 6, 7, soit 7−3+1=5 valeurs.
  4. Probabilité que randint(3, 7) renvoie 7 :
    Les 5 entiers sont équiprobables : la probabilité vaut 15=0,2.
  5. Probabilité que la formule de tableur =ALEA.ENTRE.BORNES(1;8)<=2 renvoie VRAI :
    =ALEA.ENTRE.BORNES(1;8) renvoie l’un des 8 entiers de 1 à 8, bornes comprises, comme randint(1, 8) ; 1 et 2 rendent le test vrai : 28=0,25.
Exercice 2★★★Facile

Aux fléchettes, le nombre Z de points marqués par un lancer est simulé par la fonction suivante.

def Z():
    u = random()
    if u < 0.1:
        return 20
    elif u < 0.45:
        return 5
    else:
        return 0

  1. P(Z=20)=
    La fonction renvoie 20 quand u∈[0;0,1[, intervalle de longueur 0,1.
  2. Justifier la valeur de P(Z=5) :
    Rédaction attendue. La fonction renvoie 5 lorsque le premier test est faux et le second vrai, c’est-à-dire lorsque 0,1⩽u<0,45. La probabilité que random() tombe dans [0,1;0,45[ est la longueur de cet intervalle : 0,45−0,1=0,35. Donc P(Z=5)=0,35.
  3. P(Z=0)=
    La fonction renvoie 0 quand u∈[0,45;1[, de longueur 1−0,45=0,55.
Exercice 3★★★Moyen

Une variable W prend les valeurs 1, 2, 3, 4 avec les probabilités 0,15 ; 0,25 ; 0,35 ; 0,25. Complète les seuils s2 et s3 (écris un nombre décimal).

def W():
    u = random()
    if u < 0.15:
        return 1
    elif u < s2:
        return 2
    elif u < s3:
        return 3
    else:
        return 4

  1. s2 =
    Seuil cumulé : 0,15+0,25=0,4. L’intervalle [0,15;0,4[ a bien pour longueur 0,25=P(W=2).
  2. s3 =
    0,4+0,35=0,75 : l’intervalle [0,4;0,75[ a pour longueur 0,35=P(W=3), et le reste [0,75;1[ a pour longueur 0,25=P(W=4).
  3. Si random() renvoie 0,62, la fonction renvoie
    0,62⩾0,15 et 0,62⩾0,4, mais 0,62<0,75 : c’est la branche qui renvoie 3.
Exercice 4★★★Difficile

On veut simuler un événement de probabilité 0,3 à l’aide de randint. Donne les probabilités sous forme décimale ou de fraction.

  1. Probabilité que randint(1, 10) < 3 soit vrai :
    Seuls 1 et 2 rendent le test vrai (l’inégalité est stricte) : 210=0,2, et non 0,3.
  2. Probabilité que randint(0, 10) <= 3 soit vrai :
    randint(0, 10) renvoie l’un des 11 entiers de 0 à 10 ; 0, 1, 2, 3 rendent le test vrai : 411, et non 0,3.
  3. Démontrer que le test randint(1, 20) <= k est vrai avec la probabilité 0,3 pour un seul entier k : k=
    Rédaction attendue. randint(1, 20) renvoie l’un des 20 entiers de 1 à 20, tous avec la probabilité 120. Pour un entier k entre 1 et 20, le test est vrai pour les k entiers 1,2,…,k : sa probabilité vaut k20. Or k20 =0,3⟺k =20×0,3 =6. Le test randint(1, 20) <= 6 simule donc un événement de probabilité 0,3.

Cas 2Moyenne d’un échantillon de taille n

Réflexe — s = 0 avant la boucle, s = s + valeur dans la boucle, return s / n après ; m fluctue, μ est fixe. Revoir la méthode →

Exercice 5★★★Facile

Une usine contrôle ses pièces par échantillons de 400 pièces prises au hasard. Le premier échantillon contient 46 pièces défectueuses, le second 61.

  1. Fréquence de pièces défectueuses du premier échantillon :
    f1=46400=0,115, soit 11,5%.
  2. Fréquence du second échantillon :
    f2=61400=0,1525, soit 15,25%.
  3. Le responsable conclut que la qualité s’est dégradée. Le phénomène qu’il oublie s’appelle la fluctuation d’
    Deux échantillons tirés au hasard dans la même production n’ont aucune raison d’avoir la même fréquence : c’est la fluctuation d’échantillonnage. Un écart de 0,0375 entre deux échantillons de 400 pièces n’a rien d’anormal ; pour juger, il faudrait comparer chaque fréquence au modèle (la proportion annoncée par l’usine), pas les deux échantillons entre eux.
  4. La proportion de pièces défectueuses de toute la production est inconnue. Son estimation à partir des deux échantillons réunis (800 pièces) :
    On réunit les deux échantillons : 46+61800=107800=0,13375. C’est une estimation de la proportion de la production, pas sa valeur exacte ; un échantillon plus grand donne en général une estimation plus fiable.
Exercice 6★★★Facile

On lance un dé équilibré à quatre faces, numérotées de 1 à 4. La fonction suivante simule un échantillon de lancers.

from random import randint

def moyenne(n):
    s = 0
    for k in range(n):
        s = s + randint(1, 4)
    return s / n

  1. Nombre total de lancers simulés par moyenne(30) puis moyenne(50) :
    Chaque appel fait n tours de boucle, un lancer par tour : 30+50=80 lancers.
  2. Si les lancers simulés sont 2, 4, 4, 1, 3, alors moyenne(5) renvoie
    s=2+4+4+1+3=14, puis m=145=2,8.
  3. Espérance de la variable simulée : μ=
    Les quatre faces ont la probabilité 14 : μ=1+2+3+44=2,5. Les moyennes d’échantillons fluctuent autour de cette valeur fixe.
Exercice 7★★★Moyen

La fonction suivante doit renvoyer la fréquence des « succès » sur n essais, un succès ayant la probabilité 0,15. Deux lignes sont à compléter (écris le code Python).

def freq(n):
    c = 0
    for k in range(n):
        if random() < 0.15:
            c = ...
    return ...

  1. Ligne 5 : c =
    À chaque succès, le compteur augmente de 1 : c = c + 1.
  2. Dernière ligne : return
    La fréquence est le nombre de succès divisé par le nombre d’essais : return c / n, écrit après la boucle.
  3. Justifier que freq(200) est la moyenne d’un échantillon. Elle a renvoyé 0,17 : nombre de succès dans cet échantillon :
    Rédaction attendue. Notons X la variable qui vaut 1 en cas de succès et 0 sinon. Chaque tour de boucle simule une valeur de X, et c compte les valeurs égales à 1 : c’est la somme x1+⋯+x200. Donc freq(200) =x1+⋯+x200200 est la moyenne d’un échantillon de taille 200 de la loi de X. Comme c200=0,17, on obtient c=0,17×200=34 succès.
Exercice 8★★★Difficile

On simule des échantillons de la variable X égale à randint(1, 9) (entier au hasard de 1 à 9). Une exécution a donné les moyennes suivantes.

n10100100010000
m4,15,344,8495,0028

  1. Espérance de X : μ=
    Les entiers de 1 à 9 sont équiprobables : μ=1+2+⋯+99 =459 =5.
  2. Écart |m−μ| pour n=100 :
    |5,34−5|=0,34. Pour n=10000, l’écart n’est plus que 0,0028 : il se resserre quand n augmente.
  3. Démontrer que, pour tout échantillon, |m−μ| ne peut pas dépasser une certaine valeur, et donner la plus grande valeur possible :
    Rédaction attendue. Chaque valeur vérifie 1⩽xi⩽9. En additionnant ces n encadrements puis en divisant par n>0 : 1⩽m⩽9. Donc 1−5⩽m−5⩽9−5, soit −4⩽m−μ⩽4 : |m−μ|⩽4. La valeur 4 est atteinte quand toutes les valeurs tirées valent 1 (ou toutes 9). C’est rarissime pour n grand : en pratique, l’écart est bien plus petit.

Cas 3L’écart 2σ/√n

Réflexe — μ, σ, n ; 2σ/√n ; intervalle centré sur μ ; je situe la moyenne observée et je calcule son écart à μ. Revoir la méthode →

Exercice 9★★★Facile

Dans une exploitation, la hauteur X (en cm) d’un plant de maïs a pour espérance μ=68 et pour écart type σ=4,5. On mesure des échantillons de 225 plants.

  1. 2σn=
    225=15, donc 2×4,515 =915 =0,6.
  2. Dans environ 95% des échantillons, la hauteur moyenne est comprise entre et cm.
    [68−0,6;68+0,6] =[67,4;68,6].
  3. La hauteur moyenne relevée sur un échantillon est 67,1 cm. Écart |m−μ|= cm
    |67,1−68|=0,9>0,6 : la moyenne sort de l’intervalle. Un tel écart n’arrive que dans environ 5% des échantillons si μ=68 : en approfondissement, l’exploitant met en doute cette valeur pour la parcelle, ou vérifie la façon dont les plants ont été choisis.
Exercice 10★★★Facile

Traduis chaque condition. Écris des nombres décimaux.

  1. |m−50|⩽3 équivaut à ⩽m⩽
    −3⩽m−50⩽3, puis on ajoute 50 : 47⩽m⩽53.
  2. 11,5⩽m⩽13,1 s’écrit |m−c|⩽d avec c= et d=
    Le centre est le milieu : c=11,5+13,12=12,3 ; la demi-largeur est d=13,1−12,3=0,8.
Exercice 11★★★Moyen

Un fabricant annonce que 10% de ses ampoules présentent un défaut. Pour une ampoule prise au hasard, X vaut 1 si elle a un défaut et 0 sinon. On contrôle un échantillon de 100 ampoules.

  1. Démontrer la valeur de l’écart type de X : σ=
    Rédaction attendue. X suit une loi de Bernoulli de paramètre p=0,1, donc μ=p=0,1 et V(X)=p(1−p) =0,1×0,9 =0,09. L’écart type est σ=0,09=0,3.
  2. 2σn=
    2×0,3100 =0,610 =0,06 : l’intervalle est [0,04;0,16].
  3. L’échantillon contient 17 ampoules défectueuses. Fréquence observée :
    f=17100=0,17>0,16 : la fréquence sort de l’intervalle. En approfondissement, l’annonce du fabricant est mise en doute (avec un risque de se tromper d’environ 5%).
Exercice 12★★★Difficile

Le temps X (en minutes) passé par un visiteur sur un site a pour espérance μ=20 et pour écart type σ=6. Pour des échantillons d’une certaine taille n, la moyenne se trouve, dans environ 95% des cas, dans [19,5;20,5].

  1. Demi-largeur de cet intervalle :
    20,5−20=0,5.
  2. Démontrer la valeur de la taille : n=
    Rédaction attendue. La demi-largeur vaut 2σn =12n. Donc 12n =0,5⟺n =120,5 =24⟺n =242=576.
  3. Avec cette même taille, quel écart type donnerait une demi-largeur de 0,25 ? σ=
    2σ24 =0,25⟺2σ =6⟺σ =3 : à taille fixée, la demi-largeur est proportionnelle à σ.

Cas 4Effet de la taille n sur la précision

Réflexe — d(n) = 2σ/√n ; n multiplié par k² divise d par k ; taille minimale (approfondissement) : n ≥ (2σ/a)², arrondi à l’entier supérieur. Revoir la méthode →

Exercice 13★★★Facile

Une variable X a pour écart type σ=5. On note d(n)=2σn.

  1. d(25)=
    1025=105=2.
  2. d(100)=
    1010=1.
  3. d(400)=
    1020=0,5.
  4. De n=25 à n=400, n est multiplié par 16 et d est divisé par
    20,5=4=16 : la demi-largeur est divisée par la racine carrée du facteur.
Exercice 14★★★Facile

Le temps de cuisson X (en minutes) d’un produit a pour espérance μ=5,6 et pour écart type σ=2,4. On contrôle la production par échantillons de taille n.

  1. La demi-largeur s’écrit kn avec k=
    2σn =2×2,4n =4,8n.
  2. Approfondissement : plus petite taille pour une demi-largeur au plus égale à 0,3 min :
    4,8n⩽0,3 ⟺n⩾4,80,3 =16⟺n⩾256.
  3. Pour cette taille, intervalle : entre et minutes
    [5,6−0,3;5,6+0,3] =[5,3;5,9] : dans environ 95% des échantillons, la moyenne y appartient.
Exercice 15★★★Moyen

On note d(n)=2σn. On donne 2≈1,414.

  1. Démontrer que d(9n)=d(n)k pour un entier k : k=
    Rédaction attendue. Pour tout entier n⩾1, 9n =9×n =3n. Donc d(9n)=2σ3n =13×2σn =d(n)3.
  2. Pour diviser la demi-largeur par 5, on multiplie n par
    Règle des carrés : d(52n)=d(n)5, donc on multiplie n par 25.
  3. Si l’on double n, d est multiplié par environ (au centième)
    d(2n)=d(n)2 ≈d(n)1,414 ≈0,71×d(n) : une baisse d’environ 29% seulement, et non de moitié.
Exercice 16★★★Difficile

Le temps de réponse X (en ms) d’un serveur a pour espérance μ=41,5 et pour écart type σ=9,8, selon l’hébergeur. On mesure des échantillons de n requêtes. Les questions 3 à 5 (taille minimale) sont un approfondissement.

  1. Pour des échantillons de 49 requêtes : 2σn= ms
    49=7 et 2×9,87=19,67=2,8 : l’intervalle est [38,7;44,3].
  2. Sur 49 requêtes, le temps moyen relevé est 44,9 ms. Écart |m−μ|= ms
    |44,9−41,5|=3,4>2,8 : la moyenne sort de l’intervalle ; un tel écart n’arrive que dans environ 5% des échantillons. En approfondissement, l’annonce de l’hébergeur est mise en doute (le serveur semble plus lent qu’annoncé).
  3. Pour une demi-largeur au plus égale à 0,8 ms : n⩾
    19,6n⩽0,8 ⟺n⩾19,60,8 =24,5.
  4. Démontrer la valeur de la plus petite taille : n=
    Rédaction attendue. Pour n⩾1, 2σn =19,6n, et 19,6n⩽0,8 ⟺n⩾24,5. Les deux membres sont positifs et la fonction carré est croissante sur [0;+∞[ : n⩾24,5 ⟺n⩾24,52 =600,25. Le plus petit entier qui convient est n=601 (et non 600, qui ne vérifie pas l’inégalité).
  5. Plus petite taille pour une demi-largeur au plus égale à 1,6 ms :
    n⩾19,61,6 =12,25, donc n⩾12,252=150,0625 : le plus petit entier est 151.

Cas 5Simuler N échantillons : la proportion des cas

Réflexe — abs(m - mu) <= e s’écrit |m − μ| ≤ 2σ/√n ; c compte les échantillons qui passent le test ; c / N est une proportion d’échantillons. Revoir la méthode →

Exercice 17★★★Facile

Une variable X d’espérance 4 et d’écart type 1,5 est simulée, et moyenne(n) renvoie la moyenne d’un échantillon de taille n. On étudie la fonction suivante.

def proportion(N, n):
    c = 0
    for i in range(N):
        m = moyenne(n)
        e = 2 * 1.5 / sqrt(n)
        if abs(m - 4) <= e:
            c = c + 1
    return c / N

  1. Valeur de e pour n=36 :
    2×1,536 =36 =0,5 : c’est 2σn.
  2. Nombre total de valeurs de X simulées par proportion(500, 36) :
    500 échantillons de 36 valeurs : 500×36=18000.
  3. proportion(500, 36) a renvoyé 0,958. Nombre d’échantillons qui ont passé le test :
    0,958×500=479 échantillons ont une moyenne entre 3,5 et 4,5 : environ 95%, comme l’annonce le cours.
Exercice 18★★★Facile

Une simulation de 2000 échantillons place 1906 moyennes dans l’intervalle [μ−2σn;μ+2σn].

  1. Proportion des échantillons dans l’intervalle :
    19062000=0,953.
  2. Nombre d’échantillons hors de l’intervalle :
    2000−1906=94.
  3. Pourcentage d’échantillons hors de l’intervalle : %
    942000=0,047, soit 4,7% : proche des 5% attendus.
Exercice 19★★★Moyen

On considère le programme suivant (p est la probabilité d’un succès).

from random import random
from math import sqrt

def frequence(n, p):
    s = 0
    for k in range(n):
        if random() < p:
            s = s + 1
    return s / n

def etude(N, n, p):
    sigma = sqrt(p * (1 - p))
    e = 2 * sigma / sqrt(n)
    c = 0
    for i in range(N):
        f = frequence(n, p)
        if abs(f - p) <= e:
            c = c + 1
    return c / N
On exécute etude(2000, 100, 0.5).

  1. Valeur de sigma :
    0,5×0,5 =0,25 =0,5 : c’est l’écart type d’une variable de Bernoulli de paramètre 0,5.
  2. Valeur de e :
    2×0,5100 =110 =0,1.
  3. Justifier que le test abs(f - p) <= e équivaut à « le nombre s de succès vérifie ⩽s⩽60 ».
    Rédaction attendue. Ici f=s100, p=0,5 et e=0,1. Le test s’écrit |s100−0,5|⩽0,1, c’est-à-dire 0,4⩽s100⩽0,6, soit 40⩽s⩽60 en multipliant par 100>0. La fonction renvoie donc la proportion des 2000 échantillons simulés qui comptent entre 40 et 60 succès : une valeur de l’ordre de 0,95 (ici plutôt autour de 0,96, car s ne prend que des valeurs entières), qui change d’une exécution à l’autre car random() produit de nouveaux tirages à chaque appel.
Exercice 20★★★Difficile

Avec le programme de l’exercice précédent, on exécute etude(1000, 4, 0.5).

  1. Valeur de e :
    2×0,54 =12 =0,5.
  2. Démontrer que la fonction renvoie toujours la même valeur :
    Rédaction attendue. Une fréquence vérifie toujours 0⩽f⩽1, donc −0,5⩽f−0,5⩽0,5, c’est-à-dire |f−0,5|⩽0,5. Tous les échantillons passent le test, c=N, et la fonction renvoie 1 à chaque exécution. Le constat « environ 95% » suppose n assez grand : avec 4 essais, la demi-largeur 0,5 est si grande que le test ne sert à rien.
Bloqué sur ce chapitre ?

Moi c'est Ben, j'ai créé ce site pour aider le plus d'élèves possible, partout en France. Je peux aussi reprendre avec toi ce qui coince en cours particulier : en visio, ou à domicile si tu es à Marseille.

Prof de maths à Marseille · Cours particuliers au lycée · Aide aux devoirs