À quelle fréquence observe-t-on des matchs sans coup sûr?
Le nombre de matchs disputés entre chaque match sans coup sûr à l'ère moderne (1901-2015) de la Major League Baseball est stocké dans le tableau nohitter_times.
Si vous supposez que les matchs sans coup sûr suivent un processus de Poisson, alors l'intervalle de temps entre deux événements suit une loi exponentielle. Comme vous l'avez vu, la loi exponentielle n'a qu'un seul paramètre, que nous appellerons \(\tau\), l'intervalle typique. La valeur du paramètre \(\tau\) qui fait le mieux correspondre la loi exponentielle aux données est le temps d'intervalle moyen (où le temps est exprimé en nombre de matchs) entre les matchs sans coup sûr.
Calculez la valeur de ce paramètre à partir des données. Ensuite, utilisez np.random.exponential() pour « rejouer » l'historique de la Major League Baseball en tirant des temps inter-événements à partir d'une loi exponentielle avec le \(\tau\) obtenu, puis tracez l'histogramme comme approximation de la PDF.
NumPy, pandas, matplotlib.pyplot et seaborn ont été importés pour vous sous les alias np, pd, plt et sns.
Cette activité fait partie du cours
Réflexion statistique en Python (partie 2)
Instructions de l’exercice
- Initialisez le générateur de nombres aléatoires avec
42. - Calculez le temps moyen (en nombre de matchs) entre les matchs sans coup sûr.
- Tirez 100 000 échantillons d'une loi exponentielle avec le paramètre que vous avez calculé à partir de la moyenne des temps inter-événements.
- Tracez la PDF théorique avec
plt.hist(). N'oubliez pas d'utiliser les arguments nommésbins=50,density=Trueethisttype='step'. Assurez-vous d'indiquer des étiquettes pour vos axes. - Affichez votre graphique.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Seed random number generator
____
# Compute mean no-hitter time: tau
tau = ____
# Draw out of an exponential distribution with parameter tau: inter_nohitter_time
inter_nohitter_time = ____(____, 100000)
# Plot the PDF and label axes
_ = ____(inter_nohitter_time,
____, ____, ____)
_ = plt.xlabel('Games between no-hitters')
_ = plt.ylabel('PDF')
# Show the plot
plt.show()