La fonction de répartition empirique
Exercice d'entraînement · niveau 3 (difficile) · mathématiques (ECT 2e année), chapitre 12 — Informatique et travaux pratiques · Simulation de lois
Énoncé
La durée d'un appel, en minutes, suit une loi exponentielle de paramètre . Écrire le programme qui simule durées, calcule pour valeurs de entre et la proportion d'appels de durée au plus , et superpose cette courbe à la fonction de répartition théorique.
Corrigé
Ce qu'est la fonction de répartition empirique. Elle associe à un réel la proportion d'observations inférieures ou égales à . C'est la version observée de , qui vaut ici
Le piège de syntaxe. rd.exponential attend la moyenne , et non : pour , on écrit rd.exponential(1 / 0.4).
Le programme.
import numpy as np
import numpy.random as rd
import matplotlib.pyplot as plt
rd.seed(11)
n = 5000
lam = 0.4
ech = rd.exponential(1 / lam, n)
t = np.linspace(0, 10, 200)
emp = np.zeros(200)
for i in range(200):
emp[i] = np.mean(ech <= t[i])
plt.plot(t, emp)
plt.plot(t, 1 - np.exp(-lam * t))
plt.show()
Comment la ligne centrale fonctionne. ech <= t[i] rend un tableau de booléens, et np.mean en calcule la moyenne en comptant True pour : on obtient exactement la proportion cherchée.
Ce que l'on observe. Les deux courbes se superposent presque partout. La courbe empirique est en escalier — elle monte de à chaque observation — mais avec les marches sont invisibles à l'œil.
Deux contrôles chiffrés. En , la théorie donne ; en , . La courbe empirique doit passer tout près de ces deux valeurs.
Le regard critique. L'écart entre les deux courbes se réduit quand grandit : c'est la loi faible des grands nombres, appliquée pour chaque à la variable valant si l'observation est sous .
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.