Aller au contenu

Leçon 8

Simuler avec Python

Vidéo 8 : Simuler avec Python · 3 min 02 s · sous-titres en français

Le cours écrit

8.1 Une épreuve de Bernoulli

from random import random

def bernoulli(p):
    if random() < p:
        return 1
    return 0

random() renvoie un réel au hasard dans [0 ;1[[0\,;1[ ; il est strictement inférieur à pp avec la probabilité pp (c'est la longueur de l'intervalle [0 ;p[[0\,;p[). La fonction bernoulli renvoie donc 11 avec la probabilité pp, et 00 sinon.

8.2 Une variable de loi binomiale

def binomiale(n, p):
    return sum([bernoulli(p) for i in range(n)])

La liste contient nn résultats indépendants, égaux à 00 ou 11 ; leur somme compte les 11, c'est-à-dire les succès. Chaque appel donne un nouveau résultat au hasard ; une exécution de binomiale(8, 0.5) deux fois de suite a donné 4, puis 5.

8.3 La planche de Galton

Une bille tombe à travers nn rangées de clous. À chaque clou, elle part à droite ou à gauche avec la probabilité 12\frac12, indépendamment des autres clous. Si l'on appelle succès « partir à droite », la case d'arrivée (numérotée de 00 à nn de gauche à droite) est le nombre de succès : elle suit la loi B(n ;12)\mathcal{B}\left(n\,;\frac12\right). La case kk est atteinte avec la probabilité (nk)2n\frac{\binom{n}{k}}{2^n} : les billes s'accumulent au centre. La planche porte le nom de l'Anglais Galton, qui a étudié la répartition des données autour de la moyenne.

8.4 Un échantillon d'une variable aléatoire

Un échantillon de taille NN d'une variable aléatoire est obtenu en répétant NN fois, de façon indépendante, l'expérience qui la définit. En Python, c'est une liste de NN simulations.

def echantillon(n, p, N):
    return [binomiale(n, p) for i in range(N)]

E = echantillon(8, 0.5, 1000)
print([E.count(k) for k in range(9)])

E.count(k) compte les éléments de la liste égaux à k. Une exécution a affiché [5, 26, 103, 211, 273, 224, 119, 36, 3] : ce sont les nombres de billes dans les neuf cases d'une planche de Galton à 88 rangées.

Case kk 00 11 22 33 44 55 66 77 88
Fréquence 0,0050{,}005 0,0260{,}026 0,1030{,}103 0,2110{,}211 0,2730{,}273 0,2240{,}224 0,1190{,}119 0,0360{,}036 0,0030{,}003
P(X=k)P(X = k) 0,0040{,}004 0,0310{,}031 0,1090{,}109 0,2190{,}219 0,2730{,}273 0,2190{,}219 0,1090{,}109 0,0310{,}031 0,0040{,}004

Les fréquences sont proches des probabilités, sans leur être égales ; une autre exécution donne d'autres nombres. Le chapitre 16 (loi des grands nombres) expliquera pourquoi l'écart reste petit quand NN est grand.

Lire le cours complet du chapitre

Exercices 15 et 16

  • Exercice 15 : une planche de Galton à six rangées
  • Exercice 16 : simuler un échantillon

Exercices du chapitre (PDF, 149 Ko)

Corrigés

Cherche d'abord les exercices sur ta feuille, puis compare avec le corrigé détaillé.

Corrigés du chapitre (PDF, 140 Ko)

Tu es hors connexion. Les chapitres téléchargés restent disponibles dans Hors connexion.