CommencezCommencez gratuitement

Visualiser des échantillons bootstrap

Dans cet exercice, vous allez générer des échantillons bootstrap à partir de la série des précipitations annuelles 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 saisir comment l'échantillonnage bootstrap permet de décrire les données de façon probabiliste.

Cette activité fait partie du cours

Réflexion statistique en Python (partie 2)

Voir le cours

Instructions de l’exercice

  • Écrivez une boucle for pour obtenir 50 é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 NumPy rainfall. Assurez‑vous que la size du tableau rééchantillonné est len(rainfall).
    • Utilisez la fonction ecdf() que vous avez écrite dans la première partie de ce cours pour générer les valeurs x et y de l'ECDF de l'échantillon bootstrap bs_sample.
    • Tracez les valeurs de l'ECDF. Indiquez color='gray' (pour obtenir des points gris) et alpha=0.1 (pour les rendre semi‑transparents, puisque nous superposons de nombreuses courbes) en plus des arguments nommés marker='.' et linestyle='none'.
  • Utilisez ecdf() pour générer les valeurs x et y de l'ECDF des données originales de précipitations disponibles dans le tableau rainfall.
  • Tracez l'ECDF des données originales.
  • Appuyez sur Soumettre pour visualiser les échantillons !

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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()
Modifier et exécuter le code