Aller au contenu principal
Première

Simuler une variable aléatoire, moyenne d'un échantillon — Exercices d'application

1. Simuler une variable aléatoire

↩ Revoir le cours

Exercice 1 — ⭐

On a importé from random import random, randint. Décris la loi de la variable aléatoire simulée par chaque fonction.

def f():
    return randint(1, 6) + randint(1, 6)

def g():
    if random() < 0.3:
        return 1
    else:
        return 0

def h():
    return 10 * randint(0, 1)
Voir le corrigé
  • f simule la somme de deux dés équilibrés (valeurs entières de 22 à 1212, non équiprobables).
  • g renvoie 11 avec la probabilité 0,30{,}3 et 00 avec la probabilité 0,70{,}7 : c’est une variable de Bernoulli de paramètre 0,30{,}3.
  • h renvoie 00 ou 1010 avec la même probabilité 12\dfrac12.

Exercice 2 — ⭐⭐

À un jeu, on mise 11 € et on reçoit 44 € avec la probabilité 0,20{,}2 (rien sinon). On note XX le gain net.

  1. Donne la loi de XX et calcule E(X)E(X).
  2. Écris une fonction Python jeu() qui simule une partie et renvoie le gain net.
  3. Quelle formule de tableur simule une partie ?
Voir le corrigé
  1. X=3X = 3 avec la probabilité 0,20{,}2 ; X=−1X = -1 avec la probabilité 0,80{,}8. E(X)=0,6−0,8=−0,2E(X) = 0{,}6 - 0{,}8 = -0{,}2.
  2. from random import random
    
    def jeu():
        if random() < 0.2:
            return 3
        else:
            return -1
  3. =SI(ALEA()<0,2;3;-1).

2. Échantillon et moyenne d’un échantillon

↩ Revoir le cours

Exercice 3 — ⭐⭐

  1. Complète la fonction suivante pour qu’elle renvoie la moyenne des gains sur nn parties du jeu de l’exercice 2.
    def moyenne_gains(n):
        total = ...
        for i in range(...):
            total = total + ...
        return ...
  2. Vers quelle valeur la moyenne renvoyée devrait-elle se rapprocher quand nn est très grand ?
Voir le corrigé
  1. def moyenne_gains(n):
        total = 0
        for i in range(n):
            total = total + jeu()
        return total / n
  2. Vers l’espérance E(X)=−0,2E(X) = -0{,}2 : sur un grand nombre de parties, on perd en moyenne 0,200{,}20 € par partie.

3. La moyenne se rapproche de l’espérance

↩ Revoir le cours

Exercice 4 — ⭐⭐⭐

On lance moyenne_echantillon(n) (moyenne de nn lancers de dé, voir le cours) pour trois valeurs de nn et on obtient : 2,92{,}9 pour n=10n = 10, 3,623{,}62 pour n=100n = 100 et 3,4973{,}497 pour n=10 000n = 10\,000.

  1. Ces résultats sont-ils cohérents avec le cours ? Explique.
  2. Un camarade relance le programme avec n=10n = 10 et obtient 4,14{,}1. A-t-il fait une erreur ?
  3. La moyenne de 1010 lancers peut-elle valoir 66 ? Avec quelle probabilité ?
Voir le corrigé
  1. Oui : plus nn est grand, plus la moyenne est proche de l’espérance 3,53{,}5 (écarts 0,60{,}6 ; 0,120{,}12 ; 0,0030{,}003).
  2. Non : pour un petit échantillon, la moyenne fluctue beaucoup d’une simulation à l’autre.
  3. Oui, si les 1010 lancers donnent 66 : probabilité (16)10\left(\dfrac16\right)^{10} (environ 1,7×10−81{,}7 \times 10^{-8}), c’est possible mais extrêmement rare.

4. Dispersion des moyennes de N échantillons

↩ Revoir le cours

Exercice 5 — ⭐⭐⭐

On reprend le jeu de l’exercice 2 (X=3X = 3 avec probabilité 0,20{,}2, X=−1X = -1 sinon).

  1. Calcule V(X)V(X) avec la formule de König-Huygens, puis σ(X)\sigma(X).
  2. Calcule 2σn\dfrac{2\sigma}{\sqrt n} pour n=64n = 64 puis pour n=256n = 256, et donne dans chaque cas l’intervalle [μ−2σn ; μ+2σn]\left[\mu - \dfrac{2\sigma}{\sqrt n}\,;\,\mu + \dfrac{2\sigma}{\sqrt n}\right].
  3. Que se passe-t-il pour la largeur de l’intervalle quand nn est multiplié par 44 ?
Voir le corrigé
  1. E(X2)=0,2×9+0,8×1=2,6E(X^2) = 0{,}2 \times 9 + 0{,}8 \times 1 = 2{,}6 ; V(X)=2,6−(−0,2)2=2,56V(X) = 2{,}6 - (-0{,}2)^2 = 2{,}56 ; σ(X)=1,6\sigma(X) = 1{,}6.
  2. n=64n = 64 : 2×1,68=0,4\dfrac{2 \times 1{,}6}{8} = 0{,}4, intervalle [−0,6 ; 0,2][-0{,}6\,;\,0{,}2]. n=256n = 256 : 3,216=0,2\dfrac{3{,}2}{16} = 0{,}2, intervalle [−0,4 ; 0][-0{,}4\,;\,0].
  3. 4n=2n\sqrt{4n} = 2\sqrt n : la largeur est divisée par 22.

Exercice 6 — ⭐⭐⭐⭐

  1. En t’inspirant de la fonction proportion du cours, écris une fonction proportion_jeu(N, n) qui simule NN échantillons de nn parties du jeu de l’exercice 2 et renvoie la proportion de ceux dont la moyenne est dans l’intervalle [μ−2σ/n ; μ+2σ/n][\mu - 2\sigma/\sqrt n\,;\,\mu + 2\sigma/\sqrt n].
  2. Quelle valeur approximative attend-on ?
  3. Un joueur affirme avoir gagné en moyenne 0,500{,}50 € par partie sur 256256 parties. Qu’en penses-tu ?
Voir le corrigé
  1. from math import sqrt
    
    def proportion_jeu(N, n):
        mu = -0.2
        sigma = 1.6
        compteur = 0
        for k in range(N):
            if abs(moyenne_gains(n) - mu) <= 2 * sigma / sqrt(n):
                compteur = compteur + 1
        return compteur / N
  2. Environ 0,950{,}95.
  3. Pour n=256n = 256, l’intervalle est [−0,4 ; 0][-0{,}4\,;\,0] : une moyenne de +0,50+0{,}50 en est très éloignée. Ce n’est pas impossible, mais c’est tellement improbable qu’on peut douter de l’affirmation (ou des règles annoncées du jeu).