Simuler une loi géométrique
Exercice d'entraînement · niveau 2 · mathématiques appliquées (ECG 1re année), chapitre 10 — Probabilités — variables aléatoires réelles · Simulation
Énoncé
Écrire une fonction Python qui simule une loi géométrique de paramètre en comptant les épreuves jusqu'au premier succès, à l'aide de rd.random. Estimer son espérance sur simulations pour et comparer à la valeur théorique. Comparer aussi avec rd.geometric.
Corrigé
Le code.
import numpy.random as rd
def geometrique(p):
# rang du premier succes : on compte jusqu'a reussir
k = 1
while rd.random() >= p: # echec : on recommence
k = k + 1
return k
N = 100000
p = 0.2
X = [geometrique(p) for _ in range(N)]
print(sum(X) / N, 1 / p) # ~5.0 5.0
Y = rd.geometric(p, N) # la meme loi, en une ligne
print(sum(Y) / N) # ~5.0
Pourquoi ce code simule bien . L'appel rd.random() rend un réel tiré uniformément dans ; l'événement « ce réel est » a donc la probabilité . Chaque tour de boucle est ainsi une épreuve de Bernoulli de paramètre , indépendante des précédentes, et la variable k compte les épreuves jusqu'au premier succès inclus : c'est la définition même du rang d'apparition du premier succès.
Ce qu'on attend. Le cours donne et , donc . La moyenne empirique de tirages a un écart-type de l'ordre de : on doit donc lire une valeur comprise entre et environ. Un écart de cet ordre ne signale aucune erreur.
Le test plutôt que . L'événement « rd.random() vaut exactement » a une probabilité nulle en théorie : les deux écritures donnent la même loi. Ce qui compte est que l'échec soit le complémentaire exact du succès, sans quoi la boucle ne compterait plus la bonne chose.
La boucle se termine-t-elle ? À chaque tour, la probabilité de sortir vaut ; la probabilité de faire encore tours est , qui tend vers . L'arrêt n'est donc pas garanti au sens strict, mais il est presque sûr — la nuance à laquelle une simulation de loi géométrique oblige.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.