Simulations d’échantillons (Python ou tableur)

1èreMathematiquesVariables aléatoires réellesSimulations d’échantillons (Python ou tableur)~7 min de lecture

Variables aléatoires réelles : simulations d’échantillons (Python ou tableur)

En faisant répéter une expérience aléatoire des milliers de fois par un ordinateur, on voit la moyenne des résultats se rapprocher de l’espérance, et on mesure de combien elle s’en écarte : environ 95 % des moyennes tombent à moins de \(\frac{2\sigma}{\sqrt{n}}\) de l’espérance.

Objectifs

  • Savoir ce qu’est un échantillon de taille \(n\) d’une variable aléatoire et sa moyenne.
  • Simuler une variable aléatoire (Bernoulli, dé…) avec un tableur ou avec Python.
  • Simuler \(N\) échantillons de taille \(n\) et observer la fluctuation de leurs moyennes.
  • Observer que la proportion des moyennes situées dans \(\left[\mu-\frac{2\sigma}{\sqrt{n}}\,;\,\mu+\frac{2\sigma}{\sqrt{n}}\right]\) est proche de \(0{,}95\).

1. Échantillon d’une variable aléatoire

Soit \(X\) une variable aléatoire d’espérance \(\mu = E(X)\) et d’écart-type \(\sigma = \sigma(X)\).

  • Un échantillon de taille \(n\) de \(X\) est la liste \((X_1, X_2, \dots, X_n)\) des résultats de \(n\) répétitions indépendantes de la même expérience, chaque \(X_i\) ayant la même loi que \(X\).
  • La moyenne de l’échantillon est \[M_n = \frac{X_1 + X_2 + \cdots + X_n}{n}.\]
  • Pour une variable de Bernoulli de paramètre \(p\) (1 en cas de succès, 0 sinon), \(M_n\) est la fréquence des succès dans l’échantillon. On rappelle : \(E(X) = p\) et \(V(X) = p(1-p)\).

On lance 50 fois un dé équilibré et on calcule la moyenne des résultats. Que représente cette moyenne ?

  1. L’espérance exacte de \(X\), toujours égale à 3,5
  2. La moyenne \(M_{50}\) d’un échantillon de taille 50, qui varie d’une série à l’autre
  3. L’écart-type de \(X\)
La moyenne observée sur 50 lancers est celle d’un échantillon : elle est aléatoire et fluctue autour de l’espérance 3,5 sans lui être forcément égale.

2. Simuler avec un tableur

Les fonctions utiles (tableur en français) :

Ce qu’on veut simulerFormule du tableur
Un nombre réel au hasard dans \([0\,;\,1[\)=ALEA()
Une variable de Bernoulli de paramètre \(0{,}3\)=SI(ALEA()<0,3;1;0)
Un lancer de dé équilibré=ALEA.ENTRE.BORNES(1;6) ou =ENT(6*ALEA())+1
La moyenne d’un échantillon placé en A1:A100=MOYENNE(A1:A100)
Compter les moyennes comprises entre deux bornes=NB.SI.ENS(B1:B200;">="&E1;B1:B200;"<="&E2)

Pourquoi =SI(ALEA()<0,3;1;0) simule-t-elle un succès de probabilité \(0{,}3\) ? Parce que ALEA() tombe dans \([0\,;\,0{,}3[\) avec une probabilité égale à la longueur de cet intervalle, soit \(0{,}3\).

flowchart LR
A[Une cellule ALEA] --> B[Un resultat 0 ou 1]
B --> C[Colonne de n resultats]
C --> D[Moyenne de l echantillon]
D --> E[N colonnes donc N moyennes]
E --> F[Compter les moyennes proches de mu]

3. Simuler avec Python

Le module random fournit random() (réel au hasard dans \([0\,;\,1[\)) et randint(a, b) (entier au hasard entre \(a\) et \(b\) inclus).

from random import random
from math import sqrt

def echantillon(n, p):
    """Fréquence des succès dans un échantillon de taille n d'une loi de Bernoulli(p)"""
    succes = 0
    for i in range(n):
        if random() < p:
            succes = succes + 1
    return succes / n

def proportion_proche(N, n, p):
    """Proportion des N moyennes situées à moins de 2*sigma/sqrt(n) de p"""
    sigma = sqrt(p * (1 - p))
    ecart = 2 * sigma / sqrt(n)
    compteur = 0
    for k in range(N):
        f = echantillon(n, p)
        if abs(f - p) <= ecart:
            compteur = compteur + 1
    return compteur / N

print(proportion_proche(1000, 100, 0.3))

En exécutant ce programme plusieurs fois, on obtient des valeurs comme \(0{,}95\), \(0{,}96\), \(0{,}94\)… toujours proches de \(0{,}95\).

Dans la fonction echantillon, que faut-il modifier pour simuler 200 lancers d’une pièce équilibrée et obtenir la fréquence de « pile » ?

  1. Appeler echantillon(200, 0.5)
  2. Remplacer random() par randint(0, 200)
  3. Appeler echantillon(0.5, 200)
Le premier argument est la taille \(n = 200\), le second la probabilité de succès \(p = 0{,}5\) pour une pièce équilibrée.

4. Ce que montrent les simulations

a) Loi des grands nombres (observation)

Quand \(n\) devient grand, la moyenne \(M_n\) d’un échantillon se rapproche de l’espérance \(\mu\) : les moyennes fluctuent de moins en moins.

b) L’écart-type des moyennes

Si l’on simule beaucoup d’échantillons de taille \(n\) et qu’on calcule l’écart-type de leurs moyennes, on observe qu’il vaut environ \[\sigma(M_n) \approx \frac{\sigma}{\sqrt{n}}.\] (Ce résultat sera démontré en Terminale.)

c) La règle des 95 %

Manipule le graphique : l’axe horizontal représente la taille \(n\) de l’échantillon, les deux courbes les bornes \(\mu \pm \frac{2\sigma}{\sqrt{n}}\). Observe que l’intervalle se resserre quand \(n\) augmente, et qu’il est plus large quand \(\sigma\) est grand.

5. Exemples résolus

Exemple 1 : le dé

\(X\) est le résultat d’un dé équilibré. Calcule \(\mu\), \(\sigma\), puis l’intervalle qui doit contenir environ 95 % des moyennes d’échantillons de taille \(n = 100\). Cherche d’abord.

Espérance : \(\mu = \frac{1+2+3+4+5+6}{6} = \frac{21}{6} = 3{,}5\).
Variance : \(E(X^2) = \frac{1+4+9+16+25+36}{6} = \frac{91}{6}\), donc \(V(X) = \frac{91}{6} - 3{,}5^2 = \frac{91}{6} - \frac{147}{12} = \frac{35}{12} \approx 2{,}917\).
Écart-type : \(\sigma = \sqrt{\frac{35}{12}} \approx 1{,}708\).
Demi-largeur : \(\frac{2\sigma}{\sqrt{100}} \approx \frac{2 \times 1{,}708}{10} \approx 0{,}342\).
Intervalle : \([3{,}5 - 0{,}342\,;\,3{,}5 + 0{,}342] \approx [3{,}158\,;\,3{,}842]\). Environ 95 % des moyennes de 100 lancers y tombent.

Exemple 2 : les clients de Fatou

On modélise l’achat d’un beignet par une variable de Bernoulli de paramètre \(p = 0{,}3\). Un tableur simule \(N = 200\) échantillons de taille \(n = 100\) ; 191 fréquences tombent dans l’intervalle à \(2\sigma/\sqrt{n}\) de \(p\). Calcule l’intervalle et dis si la simulation est conforme à la règle des 95 %.

Voir la solution \begin{align} \sigma &= \sqrt{0{,}3 \times 0{,}7} = \sqrt{0{,}21} \approx 0{,}458\\ \frac{2\sigma}{\sqrt{n}} &\approx \frac{2 \times 0{,}458}{10} \approx 0{,}092 \end{align}

L’intervalle est environ \([0{,}208\,;\,0{,}392]\). La proportion observée est \(\frac{191}{200} = 0{,}955\), très proche de \(0{,}95\) : la simulation est conforme.

Pour le dé, on passe d’échantillons de taille 100 à des échantillons de taille 400. Que devient la demi-largeur \(\frac{2\sigma}{\sqrt{n}}\) ?

  1. Elle est multipliée par 4
  2. Elle est divisée par 4
  3. Elle est divisée par 2, environ 0,171
\(\sqrt{400} = 20 = 2 \times \sqrt{100}\) : la demi-largeur est divisée par 2, soit \(\frac{2 \times 1{,}708}{20} \approx 0{,}171\).

Erreurs fréquentes

  • Confondre \(n\) (taille d’un échantillon) et \(N\) (nombre d’échantillons simulés).
  • Utiliser \(\sigma\) au lieu de \(\frac{\sigma}{\sqrt{n}}\) pour l’écart-type des moyennes.
  • Oublier que l’intervalle est centré sur l’espérance \(\mu\), pas sur une moyenne observée.

Récapitulatif

  • Un échantillon de taille \(n\) est fait de \(n\) répétitions indépendantes ; sa moyenne \(M_n\) est aléatoire.
  • Tableur : ALEA(), SI, ALEA.ENTRE.BORNES, MOYENNE ; Python : random(), randint(), boucles for.
  • Plus \(n\) est grand, plus \(M_n\) est proche de \(\mu\) ; l’écart-type des moyennes est environ \(\frac{\sigma}{\sqrt{n}}\).
  • Environ 95 % des moyennes tombent dans \(\left[\mu - \frac{2\sigma}{\sqrt{n}}\,;\,\mu + \frac{2\sigma}{\sqrt{n}}\right]\).
Échantillon de taille n
n répétitions indépendantes de la même expérience aléatoire.
Moyenne d’échantillon
Somme des n résultats divisée par n ; pour Bernoulli, c’est la fréquence des succès.
Bernoulli au tableur
=SI(ALEA()<p;1;0)
Écart-type des moyennes
Environ σ divisé par √n : il diminue quand n augmente.
Règle des 95 %
Environ 95 % des moyennes sont à moins de 2σ/√n de l’espérance μ.

Teste tes connaissances sur ce cours

Crée ton compte gratuitement pour accéder aux quiz associés et suivre ta progression.