CommencerCommencer gratuitement

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)

Afficher le cours

Instructions

  • É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. Spécifiez color='gray' (pour obtenir des points gris) et alpha=0.1 (pour les rendre semi-transparents, car nous superposons de nombreuses courbes) en plus des arguments 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 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()
Modifier et exécuter le code