Visualiser des échantillons bootstrap
Dans cet exercice, vous allez générer des échantillons bootstrap à partir des données annuelles de précipitations mesurées à la station météo de Sheffield, au Royaume-Uni, de 1883 à 2015. Les données sont stockées dans le tableau NumPy rainfall en millimètres (mm). En affichant graphiquement les échantillons bootstrap avec une ECDF, vous pouvez vous faire une idée de la façon dont l’échantillonnage bootstrap permet une description probabiliste des données.
Cet exercice fait partie du cours
Réflexion statistique en Python (Partie 2)
Instructions
- Écrivez une boucle
forpour obtenir50échantillons bootstrap des données de précipitations et tracez leur ECDF.- Utilisez
np.random.choice()pour générer un échantillon bootstrap à partir du tableau NumPyrainfall. Assurez-vous que lasizedu tableau rééchantillonné estlen(rainfall). - Utilisez la fonction
ecdf()que vous avez écrite dans la première partie de ce cours pour générer les valeursxetyde l’ECDF de l’échantillon bootstrapbs_sample. - Tracez les valeurs de l’ECDF. Spécifiez
color='gray'(pour obtenir des points gris) etalpha=0.1(pour les rendre semi-transparents, car nous superposons de nombreuses courbes) en plus des argumentsmarker='.'etlinestyle='none'.
- Utilisez
- Utilisez
ecdf()pour générer les valeursxetyde l’ECDF des données originales de précipitations disponibles dans le tableaurainfall. - Tracez les valeurs de l’ECDF des données originales.
- Cliquez sur Soumettre la réponse pour visualiser les échantillons !
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
for _ in range(50):
# Generate bootstrap sample: bs_sample
bs_sample = ____(____, size=____)
# Compute and plot ECDF from bootstrap sample
x, y = ____
_ = plt.plot(____, ____, ____='.', ____='none',
____='gray', ____=0.1)
# Compute and plot ECDF from original data
x, y = ____
_ = plt.plot(____, ____, ____='.')
# Make margins and label axes
plt.margins(0.02)
_ = plt.xlabel('yearly rainfall (mm)')
_ = plt.ylabel('ECDF')
# Show the plot
plt.show()