CommencerCommencez gratuitement

Réplicats bootstrap de la moyenne et de l'SEM

Dans cet exercice, vous allez calculer une estimation bootstrap de la fonction de densité de probabilité de la moyenne des précipitations annuelles à la station météo de Sheffield. Rappelez‑vous : nous cherchons à estimer la moyenne des précipitations annuelles que nous obtiendrions si la station de Sheffield pouvait répéter toutes les mesures de 1883 à 2015 encore et encore. Il s'agit d'une estimation probabiliste de la moyenne. Vous tracerez la PDF sous forme d'histogramme et vous verrez qu'elle est normale.

En fait, on peut montrer théoriquement que, sous des conditions pas trop restrictives, la valeur de la moyenne suit toujours une loi normale. (Ce n'est pas vrai en général, seulement pour la moyenne et quelques autres statistiques.) L'écart type de cette distribution, appelé l'erreur standard de la moyenne ou SEM, est donné par l'écart type des données divisé par la racine carrée du nombre de points. Autrement dit, pour un ensemble de données : sem = np.std(data) / np.sqrt(len(data)). Avec les « hacker stats », vous obtenez ce même résultat sans avoir à le démontrer, mais vous le vérifierez ici à partir de vos réplicats bootstrap.

Le jeu de données a été préchargé pour vous dans un tableau appelé rainfall.

Cet exercice fait partie du cours

<cours>Réflexion statistique en Python (Partie 2)</cours>
Voir le cours

Instructions de l’exercice

  • Générez 10000 réplicats bootstrap de la moyenne des précipitations annuelles à l'aide de votre fonction draw_bs_reps() et du tableau rainfall. Indice : passez np.mean à func pour calculer la moyenne.
    • Pour rappel, draw_bs_reps() accepte 3 arguments : data, func et size.
  • Calculez et affichez l'erreur standard de la moyenne de rainfall.
    • La formule à utiliser est np.std(data) / np.sqrt(len(data)).
  • Calculez et affichez l'écart type de vos réplicats bootstrap bs_replicates.
  • Tracez un histogramme des réplicats en utilisant l'argument density=True et 50 bins.
  • Cliquez sur Soumettre pour afficher le graphique !

Exercice interactif pratique

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

# Take 10,000 bootstrap replicates of the mean: bs_replicates
bs_replicates = ____

# Compute and print SEM
sem = ____ / np.sqrt(____)
print(sem)

# Compute and print standard deviation of bootstrap replicates
bs_std = ____
print(bs_std)

# Make a histogram of the results
_ = plt.hist(____, ____=50, ____=True)
_ = plt.xlabel('mean annual rainfall (mm)')
_ = plt.ylabel('PDF')

# Show the plot
plt.show()
Modifier et exécuter le code