Simuler une densité par sa fonction de répartition
Exercice d'entraînement · niveau 3 (difficile) · mathématiques (ECT 2e année), chapitre 12 — Informatique et travaux pratiques · Simulation de lois
Énoncé
Soit de densité sur , nulle ailleurs. Déterminer , en déduire une expression de à partir d'un tirage uniforme sur , écrire le programme qui simule valeurs et affiche moyenne et écart-type, puis donner les valeurs exactes attendues.
Corrigé
La fonction de répartition. Pour , avec avant et après .
Le principe de la méthode. On cherche à quelle valeur de correspond une aire cumulée donnée, c'est-à-dire on résout : la racine positive étant la seule de . Si est uniforme sur , alors a donc pour fonction de répartition — car pour .
Le programme.
import numpy as np
import numpy.random as rd
rd.seed(4)
n = 100000
u = rd.random(n)
x = np.sqrt(u)
print(np.mean(x), np.std(x))
# 0.66633 0.23631
Les valeurs exactes attendues. donc .
La comparaison. La machine affiche et , contre et : l'accord porte sur trois décimales, ce qui est le mieux qu'on puisse espérer avec cent mille tirages. C'est une corroboration, non une preuve.
Le point délicat. C'est bien la fonction de répartition qu'on inverse, pas la densité. Écrire ou donnerait une loi différente, ce que la moyenne simulée signalerait aussitôt.
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.