Vrai/Faux : Simulation et seuil 1/√n

[enonce]
Pour chaque affirmation suivante sur la simulation Python d'échantillons d'une expérience à deux issues et sur le seuil $\dfrac{1}{\sqrt{n}}$, indiquer si elle est Vraie ou Fausse.
[/enonce]

[etape]
On lit la fonction Python suivante, où $n$ désigne la taille de l'échantillon et le succès est « obtenir un $6$ ».

from random import randint

def simulation(n):
    succes = 0
    for i in range(n):
        if randint(1, 6) == 6:
            succes = succes + 1
    return succes

Affirmation : L'appel simulation(300) renvoie la fréquence des $6$ obtenus sur les $300$ lancers.

[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Bien vu !
La ligne return succes renvoie la variable de comptage telle quelle, sans la diviser.
La fonction renvoie donc le nombre de $6$ obtenus, un entier, et non leur fréquence.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
Attention à bien distinguer le nombre de succès de leur fréquence.
Pour obtenir une fréquence, il faudrait diviser le comptage par $n$ ; or ici la ligne return ne fait aucune division.[/reponse]
[/qcm]

[solution]
Cette affirmation est fausse. La ligne return succes renvoie le nombre de succès (un entier) ; pour une fréquence, il faudrait renvoyer succes / n.
[/solution]
[/etape]

[etape]
On souhaite simuler une expérience à deux issues, « succès » et « échec », équiprobables. On propose la fonction ci-dessous.

from random import randint

def frequence(n):
    succes = 0
    for i in range(n):
        if randint(0, 1) == 1:
            succes = succes + 1
    return succes / n

Affirmation : Cette fonction simule bien un échantillon où chaque issue a la même probabilité, puis renvoie la fréquence des succès.

[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Exactement !
La fonction randint(0, 1) renvoie $0$ ou $1$ avec la même probabilité : les deux issues sont bien équiprobables.
On compte les fois où le tirage vaut $1$ (le succès), puis la ligne return succes / n divise ce comptage par $n$ pour donner la fréquence observée.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Reprendre les deux points un par un : la fonction randint(0, 1) ne donne que deux valeurs, tirées avec la même probabilité.
Le comptage des $1$ est ensuite divisé par $n$ dans la ligne return, ce qui produit bien une fréquence.[/reponse]
[/qcm]

[solution]
Cette affirmation est vraie. La fonction randint(0, 1) modélise deux issues équiprobables, et return succes / n renvoie la fréquence des succès observée sur l'échantillon.
[/solution]
[/etape]

[etape]
Un échantillon de taille $n = 100$ est prélevé d'une expérience à deux issues de probabilité de succès $p = 0{,}5$. On y observe la fréquence $f = 0{,}43$.

Affirmation : Pour cet échantillon, l'écart entre $f$ et $p$ est inférieur ou égal au seuil $\dfrac{1}{\sqrt{n}}$.

[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Tu as raison !
Le seuil vaut $\dfrac{1}{\sqrt{100}} = 0{,}1$ et l'écart vaut $|0{,}43 - 0{,}5| = 0{,}07$.
Comme $0{,}07 \leqslant 0{,}1$, l'écart reste bien sous le seuil.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Le piège est de comparer sans avoir d'abord calculé les deux quantités.
Calculer séparément le seuil $\dfrac{1}{\sqrt{100}}$ et l'écart $|f - p|$, puis les comparer : l'écart ne dépasse pas le seuil.[/reponse]
[/qcm]

[solution]
Cette affirmation est vraie. Le seuil est $\dfrac{1}{\sqrt{100}} = 0{,}1$ et l'écart $|0{,}43 - 0{,}5| = 0{,}07 \leqslant 0{,}1$ : la condition est satisfaite.
[/solution]
[/etape]

[etape]
Toujours avec $n = 100$ et $p = 0{,}5$, on considère cette fois un autre échantillon où la fréquence observée est $f = 0{,}63$.

Affirmation : Pour cet échantillon, l'écart entre $f$ et $p$ est encore inférieur ou égal au seuil $\dfrac{1}{\sqrt{n}}$.

[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]C'est bien ça !
Le seuil vaut toujours $\dfrac{1}{\sqrt{100}} = 0{,}1$, mais l'écart vaut ici $|0{,}63 - 0{,}5| = 0{,}13$.
Comme $0{,}13$ dépasse $0{,}1$, l'écart franchit le seuil : ce cas fait partie des exceptions.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
Attention à recalculer l'écart pour ce nouvel échantillon, où la fréquence est différente.
Comparer cet écart au seuil $\dfrac{1}{\sqrt{100}}$ : il le dépasse, ce qui peut arriver sur certains échantillons.[/reponse]
[/qcm]

[solution]
Cette affirmation est fausse. L'écart $|0{,}63 - 0{,}5| = 0{,}13$ dépasse le seuil $\dfrac{1}{\sqrt{100}} = 0{,}1$ : la condition n'est pas vérifiée pour cet échantillon.
[/solution]
[/etape]

[etape]
On simule $N$ échantillons de taille $n$ d'une même expérience à deux issues, et on calcule la proportion des échantillons pour lesquels $|f - p| \leqslant \dfrac{1}{\sqrt{n}}$.

Affirmation : Pour rapprocher chaque fréquence observée $f$ de la probabilité $p$, il faut augmenter le nombre $N$ d'échantillons simulés.

[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Bonne réponse !
La proximité entre une fréquence observée et $p$ dépend de la taille $n$ de chaque échantillon, pas du nombre $N$ d'échantillons simulés.
Augmenter $N$ multiplie le nombre de valeurs de $f$ obtenues, mais ne rend pas chacune plus proche de $p$ ; c'est en augmentant $n$ que l'on resserre les fréquences autour de $p$.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
Il ne faut pas confondre $N$, le nombre d'échantillons, et $n$, la taille de chacun.
Relire le rôle de chaque lettre : c'est la taille $n$ qui agit sur l'écart entre $f$ et $p$, pas le nombre $N$ de répétitions.[/reponse]
[/qcm]

[solution]
Cette affirmation est fausse. C'est la taille $n$ de chaque échantillon qui rapproche $f$ de $p$ (loi des grands nombres) ; le nombre $N$ d'échantillons ne change pas la proximité de chaque $f$ avec $p$.
[/solution]
[/etape]

[etape]
On simule un grand nombre $N$ d'échantillons de taille $n$ et on relève la proportion des cas où $|f - p| \leqslant \dfrac{1}{\sqrt{n}}$.

Affirmation : Cette proportion est en général élevée : pour la plupart des échantillons, l'écart entre $f$ et $p$ ne dépasse pas le seuil $\dfrac{1}{\sqrt{n}}$.

[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Bravo !
Le seuil $\dfrac{1}{\sqrt{n}}$ décrit justement la fluctuation habituelle : dans la grande majorité des échantillons, l'écart $|f - p|$ reste sous ce seuil.
Seuls les échantillons exceptionnels le dépassent, ce qui rend la proportion observée proche de $1$.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Le piège est de penser que le dépassement du seuil est fréquent.
Le seuil $\dfrac{1}{\sqrt{n}}$ traduit la fluctuation courante : la simulation montre qu'une large majorité des échantillons le respectent, les dépassements restant exceptionnels.[/reponse]
[/qcm]

[solution]
Cette affirmation est vraie. Le seuil $\dfrac{1}{\sqrt{n}}$ mesure la fluctuation habituelle : la proportion des échantillons vérifiant $|f - p| \leqslant \dfrac{1}{\sqrt{n}}$ est proche de $1$, les exceptions étant rares.
[/solution]
[/etape]

QCM : Simulation Python et fluctuation

[enonce]
Ce QCM porte sur la simulation Python d'un échantillon d'une expérience à deux issues et sur la fluctuation mesurée par le seuil $\dfrac{1}{\sqrt{n}}$. Pour chaque question, choisir la bonne réponse parmi les 4 propositions.
[/enonce]

[etape]
On exécute la ligne Python ci-dessous, qui simule un lancer de dé à six faces :

from random import randint
tirage = randint(1, 6)

Quelles sont toutes les valeurs que la variable tirage peut prendre ?
[qcm]
[option]$1, 2, 3, 4, 5$[/option]
[option correct="true"]$1, 2, 3, 4, 5, 6$[/option]
[option]$0, 1, 2, 3, 4, 5, 6$[/option]
[option]$2, 3, 4, 5$[/option]
[reponse statut="correct"]Exact !
La fonction randint(a, b) renvoie un entier au hasard entre $a$ et $b$, bornes incluses. Ici randint(1, 6) donne donc l'une des six valeurs $1, 2, 3, 4, 5$ ou $6$, comme un dé.[/reponse]
[reponse motif="$1, 2, 3, 4, 5$"]Non.
Attention à la borne supérieure : randint(a, b) inclut bien la valeur $b$. Vérifier si $6$ peut sortir.[/reponse]
[reponse motif="$0, 1, 2, 3, 4, 5, 6$"]Non.
La borne inférieure est ici $1$, pas $0$ : repérer le premier argument de randint.[/reponse]
[reponse motif="$2, 3, 4, 5$"]Non.
randint inclut ses deux bornes ; aucune n'est exclue. Relire les deux arguments de la fonction.[/reponse]
[reponse statut="incorrect"]Non.
randint(a, b) tire un entier entre $a$ et $b$ : se demander si $a$ et $b$ font eux-mêmes partie des résultats possibles.[/reponse]
[/qcm]
[/etape]

[etape]
Dans la fonction ci-dessous, le succès est « obtenir un $6$ » et on simule un échantillon de taille n :

from random import randint

def simulation(n):
    succes = 0
    for i in range(n):
        if randint(1, 6) == 6:
            succes = succes + 1
    return succes / n

Que renvoie l'appel simulation(200) ?
[qcm]
[option]Le nombre de $6$ obtenus sur les $200$ lancers[/option]
[option correct="true"]La fréquence des $6$ sur les $200$ lancers[/option]
[option]La probabilité théorique d'obtenir un $6$[/option]
[option]Le nombre total de lancers, c'est-à-dire $200$[/option]
[reponse statut="correct"]Bonne réponse !
La dernière ligne renvoie succes / n : on divise le nombre de succès par la taille de l'échantillon. C'est donc la fréquence observée des $6$, un nombre compris entre $0$ et $1$.[/reponse]
[reponse motif="Le nombre de $6$ obtenus sur les $200$ lancers"]Non.
Ce nombre est stocké dans succes, mais ce n'est pas lui qui est renvoyé : observer l'opération effectuée dans la ligne return.[/reponse]
[reponse motif="La probabilité théorique d'obtenir un $6$"]Non.
La probabilité théorique vaut $\dfrac{1}{6}$ et ne dépend d'aucune simulation. Ici la valeur renvoyée est calculée à partir des $200$ tirages effectués.[/reponse]
[reponse motif="Le nombre total de lancers, c'est-à-dire $200$"]Non.
$200$ est la valeur de n, pas le résultat renvoyé. Regarder ce que produit le calcul succes / n.[/reponse]
[reponse statut="incorrect"]Non.
Le mot-clé return renvoie le résultat de succes / n : se demander ce que représente une division du nombre de succès par la taille de l'échantillon.[/reponse]
[/qcm]
[/etape]

[etape]
On reprend la fonction précédente. Dans la boucle, quel est le rôle exact de la ligne ci-dessous ?

if randint(1, 6) == 6:
            succes = succes + 1

[qcm]
[option]Elle relance le dé jusqu'à obtenir un $6$[/option]
[option]Elle ajoute le résultat du dé à la variable succes[/option]
[option correct="true"]Elle augmente succes de $1$ seulement lorsque le dé donne $6$[/option]
[option]Elle remet succes à zéro à chaque tour[/option]
[reponse statut="correct"]C'est bien ça !
La condition randint(1, 6) == 6 teste si le lancer est un succès. Lorsqu'elle est vraie, succes = succes + 1 incrémente le compteur de $1$ ; sinon, le compteur reste inchangé.[/reponse]
[reponse motif="Elle relance le dé jusqu'à obtenir un $6$"]Non.
Un if effectue un seul test, sans répétition. La répétition des lancers est assurée par la boucle for, pas par la condition.[/reponse]
[reponse motif="Elle ajoute le résultat du dé à la variable succes"]Non.
On n'ajoute pas la valeur du dé : on ajoute $1$. Regarder précisément ce qui est écrit à droite du signe $=$.[/reponse]
[reponse motif="Elle remet succes à zéro à chaque tour"]Non.
La remise à zéro succes = 0 a lieu une seule fois, avant la boucle. Ici l'instruction modifie succes dans l'autre sens.[/reponse]
[reponse statut="incorrect"]Non.
Observer la condition du if et la valeur exacte ajoutée à succes quand cette condition est vérifiée.[/reponse]
[/qcm]
[/etape]

[etape]
On souhaite simuler le lancer d'une pièce équilibrée, en codant « pile » par $1$ et « face » par $0$, chacun avec la même probabilité. Quelle ligne convient ?
[qcm]
[option correct="true"]tirage = randint(0, 1)[/option]
[option]tirage = randint(1, 2)[/option]
[option]tirage = randint(0, 2)[/option]
[option]tirage = random(0, 1)[/option]
[reponse statut="correct"]Parfait !
randint(0, 1) renvoie $0$ ou $1$ avec la même probabilité, ce qui code exactement les deux issues équiprobables « face » et « pile ».[/reponse]
[reponse motif="tirage = randint(1, 2)"]Non.
Cette ligne renvoie bien deux valeurs équiprobables, mais ce sont $1$ et $2$, alors que l'énoncé impose de coder par $0$ et $1$.[/reponse]
[reponse motif="tirage = randint(0, 2)"]Non.
Les bornes étant incluses, cette ligne produit trois valeurs ($0$, $1$ et $2$) : il y aurait trois issues, et non deux.[/reponse]
[reponse motif="tirage = random(0, 1)"]Non.
La fonction du module qui renvoie un entier entre deux bornes ne s'appelle pas ainsi. Vérifier le nom exact de la fonction importée.[/reponse]
[reponse statut="incorrect"]Non.
Il faut une fonction renvoyant un entier, avec deux valeurs possibles seulement, codées $0$ et $1$ : vérifier le nom de la fonction et ses deux bornes.[/reponse]
[/qcm]
[/etape]

[etape]
Pour étudier la fluctuation, un programme calcule le seuil de la façon suivante, pour un échantillon de taille $n = 400$ :

n = 400
seuil = 1 / n ** 0.5

Quelle valeur la variable seuil contient-elle après ces deux lignes ?
[qcm]
[option]$0{,}0025$[/option]
[option correct="true"]$0{,}05$[/option]
[option]$20$[/option]
[option]$200$[/option]
[reponse statut="correct"]Tu as raison !
L'expression n ** 0.5 calcule $\sqrt{n}$, et 1 / n ** 0.5 vaut donc $\dfrac{1}{\sqrt{n}}$. Ici $\dfrac{1}{\sqrt{400}} = \dfrac{1}{20} = 0{,}05$.[/reponse]
[reponse motif="$0{,}0025$"]Non.
$0{,}0025 = \dfrac{1}{400} = \dfrac{1}{n}$ : l'exposant 0.5 correspond à une racine carrée, pas à une division par $n$. Calculer d'abord $\sqrt{n}$.[/reponse]
[reponse motif="$20$"]Non.
$20 = \sqrt{400}$ : c'est la racine carrée de $n$, mais la ligne demande son inverse, puisqu'on divise $1$ par cette racine.[/reponse]
[reponse motif="$200$"]Non.
$200$ correspondrait à $\dfrac{n}{2}$, ce que la ligne ne calcule pas. L'opération ** 0.5 est une racine carrée.[/reponse]
[reponse statut="incorrect"]Non.
n ** 0.5 est la racine carrée de n ; la ligne renvoie ensuite l'inverse de ce nombre. Calculer $\sqrt{400}$ puis prendre son inverse.[/reponse]
[/qcm]
[/etape]

[etape]
Dans une simulation de $N$ échantillons de taille $n = 100$, le succès a pour probabilité $p = 0{,}2$. Pour un échantillon, le programme évalue la condition ci-dessous :

n = 100
p = 0.2
seuil = 1 / n ** 0.5
abs(f - p) <= seuil

Pour laquelle de ces fréquences observées $f$ cette condition est-elle vraie ?
[qcm]
[option correct="true"]$f = 0{,}26$[/option]
[option]$f = 0{,}35$[/option]
[option]$f = 0{,}05$[/option]
[option]$f = 0{,}4$[/option]
[reponse statut="correct"]Correct !
Le seuil vaut $\dfrac{1}{\sqrt{100}} = 0{,}1$. La condition $|f - p| \leqslant 0{,}1$ est vérifiée pour les fréquences situées entre $0{,}1$ et $0{,}3$. Avec $f = 0{,}26$, l'écart $|0{,}26 - 0{,}2| = 0{,}06$ ne dépasse pas $0{,}1$ : la condition est vraie.[/reponse]
[reponse motif="$f = 0{,}35$"]Non.
Calculer l'écart $|0{,}35 - 0{,}2|$ et le comparer au seuil $\dfrac{1}{\sqrt{100}}$ : cet écart dépasse-t-il $0{,}1$ ?[/reponse]
[reponse motif="$f = 0{,}05$"]Non.
L'écart se mesure dans les deux sens : $|0{,}05 - 0{,}2|$ se calcule comme une distance, toujours positive. Comparer ensuite cette distance au seuil.[/reponse]
[reponse motif="$f = 0{,}4$"]Non.
Mesurer l'écart $|0{,}4 - 0{,}2|$ puis le comparer au seuil $\dfrac{1}{\sqrt{100}} = 0{,}1$ : reste-t-il sous ce seuil ?[/reponse]
[reponse statut="incorrect"]Non.
Calculer d'abord le seuil $\dfrac{1}{\sqrt{100}}$, puis l'écart $|f - p|$ pour chaque fréquence : la condition est vraie quand cet écart ne dépasse pas le seuil.[/reponse]
[/qcm]
[/etape]

Lire une fonction Python de simulation

Une roue de loterie est partagée en secteurs : la probabilité de tomber sur un secteur gagnant est $p = 0{,}2$. On souhaite étudier la fréquence de gains observée sur un échantillon de $n$ parties.
Pour simuler ces parties, on utilise la fonction randint du module random : randint(a, b) renvoie un entier aléatoire compris (au sens large) entre $a$ et $b$. On dispose de la fonction suivante.

from random import randint

def frequence_gains(n):
    succes = 0
    for i in range(n):
        if randint(1, 5) == 1:
            succes = succes + 1
    return succes / n
  1. Expliquer le rôle de la variable succes et celui de la boucle for.
  2. À chaque tour de boucle, la condition randint(1, 5) == 1 est testée.

    1. Combien de valeurs différentes randint(1, 5) peut-il renvoyer ?
    2. Quelle est la probabilité que la condition soit vraie ? Expliquer pourquoi cette modélisation est cohérente avec l'énoncé.
  3. Que représente la valeur renvoyée par frequence_gains(n) ?
  4. On exécute l'instruction print(frequence_gains(10)) et l'on obtient $0.3$. Combien de parties gagnantes ont été simulées lors de cet appel ?
  5. On exécute deux fois de suite print(frequence_gains(1000)). On obtient $0.196$ puis $0.213$. Comment expliquer que les deux résultats soient différents ? De quelle valeur ces résultats sont-ils proches, et pourquoi ?

Corrigé

  1. La variable succes est un compteur : initialisée à $0$, elle augmente de $1$ chaque fois qu'une partie est gagnée. La boucle for i in range(n) répète l'expérience $n$ fois, ce qui simule un échantillon de $n$ parties.
    1. randint(1, 5) renvoie un entier au hasard parmi $1, 2, 3, 4, 5$, soit $5$ valeurs possibles.
    2. Une seule de ces cinq valeurs ($1$) rend la condition vraie, et les cinq valeurs ont la même chance d'apparaître. La probabilité que la condition soit vraie est donc $\dfrac{1}{5}$ = $\mathbf{0{,}2}$. Cette probabilité est égale à $p = 0{,}2$ : choisir « obtenir $1$ parmi $1$ à $5$ » modélise bien un secteur gagnant de probabilité $0{,}2$.
  2. À la fin de la boucle, succes contient le nombre de parties gagnées sur les $n$ simulées. L'instruction return succes / n renvoie donc la fréquence de gains observée sur l'échantillon de taille $n$.
  3. La fréquence renvoyée est $0{,}3 = \dfrac{k}{10}$, où $k$ est le nombre de parties gagnantes. On a $k = 0{,}3 \times 10$, soit $3$ parties gagnantes.
  4. Les deux appels reposent sur le hasard : d'un échantillon à l'autre, le nombre de gains change, donc la fréquence aussi. C'est la fluctuation d'échantillonnage. Comme la taille $n = 1\,000$ est grande, les deux fréquences restent proches de la probabilité $p = 0{,}2$, conformément à la loi des grands nombres.

Pour réviser : Simuler des échantillons en Python

Fluctuation et loi des grands nombres

Un horticulteur sait que ses graines de tournesol germent avec une probabilité $p = 0{,}8$. Pour chaque graine semée, l'expérience a deux issues : « la graine germe » (succès) ou « la graine ne germe pas » (échec). Il étudie la germination sur des échantillons de graines prélevés au hasard.

  1. L'horticulteur sème quatre échantillons de $25$ graines chacun. Le nombre de graines qui germent dans chaque échantillon est le suivant.

    1. Calculer la fréquence de germination observée dans chacun des quatre échantillons.
    2. Ces quatre échantillons ont la même taille. Comment expliquer que les fréquences obtenues ne soient pas toutes identiques ?
  2. Pour un échantillon de taille $n$, on considère qu'un écart entre la fréquence observée $f$ et la probabilité $p$ est courant lorsqu'il ne dépasse pas $\dfrac{1}{\sqrt{n}}$.

    1. Calculer ce seuil pour les échantillons de la question 1.
    2. Pour chacun des quatre échantillons, indiquer si l'écart entre la fréquence observée et $p = 0{,}8$ est courant ou, au contraire, inhabituel.
  3. L'horticulteur sème ensuite un grand échantillon de $400$ graines : $332$ d'entre elles germent.

    1. Calculer la fréquence de germination observée et le seuil $\dfrac{1}{\sqrt{n}}$ pour cet échantillon.
    2. Comparer l'écart obtenu à celui d'un échantillon de $25$ graines. Quel résultat du cours cela illustre-t-il ?
  4. L'horticulteur simule des échantillons à l'aide de la fonction Python suivante.

    from random import randint
    
    def frequence_germination(n):
        succes = 0
        for i in range(n):
            if randint(1, 10) <= 8:
                succes = succes + 1
        return succes / n

    Expliquer pourquoi la condition randint(1, 10) <= 8 modélise correctement la germination d'une graine, puis indiquer ce que représente la valeur renvoyée par frequence_germination(n).

Corrigé

La fréquence de succès dans un échantillon de taille $n$ est $f = \dfrac{k}{n}$, où $k$ est le nombre de graines germées.

    1. On divise le nombre de graines germées par la taille $25$ de chaque échantillon :

      $f_A = \dfrac{21}{25} = 0{,}84 \quad ; \quad f_B = \dfrac{14}{25} = 0{,}56$
      $f_C = \dfrac{23}{25} = 0{,}92 \quad ; \quad f_D = \dfrac{19}{25} = 0{,}76$

      Les fréquences observées sont $0{,}84$ ; $0{,}56$ ; $0{,}92$ et $0{,}76$.

    2. La germination de chaque graine dépend du hasard : d'un échantillon à l'autre, le nombre de graines qui germent change, donc la fréquence observée aussi. C'est le phénomène de fluctuation d'échantillonnage.
    1. Les échantillons ont pour taille $n = 25$, donc le seuil vaut :

      $\dfrac{1}{\sqrt{25}} = \dfrac{1}{5}$ = $\mathbf{0{,}2}$
    2. On compare l'écart $|f - 0{,}8|$ au seuil $0{,}2$ pour chaque échantillon :

      1. Échantillon A : $|0{,}84 - 0{,}8| = 0{,}04 \leqslant 0{,}2$, l'écart est courant.
      2. Échantillon B : $|0{,}56 - 0{,}8| = 0{,}24 > 0{,}2$, l'écart est inhabituel.
      3. Échantillon C : $|0{,}92 - 0{,}8| = 0{,}12 \leqslant 0{,}2$, l'écart est courant.
      4. Échantillon D : $|0{,}76 - 0{,}8| = 0{,}04 \leqslant 0{,}2$, l'écart est courant.

      Trois des quatre échantillons présentent un écart courant. L'échantillon B fait exception : un tel écart reste possible, mais il est rare, conformément à la formule « sauf exception » de la loi des grands nombres.

    1. Ici $n = 400$ et $k = 332$ graines germées. La fréquence observée est :

      $f = \dfrac{332}{400} = 0{,}83$

      Le seuil vaut :

      $\dfrac{1}{\sqrt{400}} = \dfrac{1}{20}$ = $\mathbf{0{,}05}$
    2. Pour cet échantillon, l'écart est $|0{,}83 - 0{,}8| = 0{,}03$, inférieur au seuil $0{,}05$. Avec $25$ graines, le seuil était de $0{,}2$, soit quatre fois plus grand. En augmentant la taille de l'échantillon, le seuil $\dfrac{1}{\sqrt{n}}$ diminue et la fréquence observée se rapproche de la probabilité $p = 0{,}8$ : c'est la loi des grands nombres.
  1. La fonction randint(1, 10) renvoie un entier au hasard parmi $1, 2, \dots, 10$, soit $10$ valeurs équiprobables. Parmi elles, $8$ vérifient la condition $\leqslant 8$ (les valeurs $1$ à $8$). La probabilité que la condition soit vraie est donc $\dfrac{8}{10} = 0{,}8$, ce qui est bien la probabilité $p$ de germination : la condition modélise correctement le succès. À la fin de la boucle, la variable succes contient le nombre de graines germées sur les $n$ simulées, et return succes / n renvoie la fréquence de germination observée sur l'échantillon de taille $n$.

Pour réviser : Simuler des échantillons en Python