CommencezCommencez gratuitement

Répliques bootstrap de la moyenne et de la SEM

Dans cet exercice, vous allez estimer par bootstrap la fonction de densité de probabilité de la moyenne des précipitations annuelles à la station météo de Sheffield. Rappelez-vous : nous estimons la moyenne annuelle que nous obtiendrions si la station 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 dé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 pour toutes les statistiques, mais pour la moyenne et quelques autres seulement.) L'écart type de cette distribution, appelé l'erreur type de la moyenne, ou SEM, est donné par l'écart type des données divisé par la racine carrée du nombre de points de données. Autrement dit, pour un jeu de données, sem = np.std(data) / np.sqrt(len(data)). En statistiques de pirate (hacker stats), vous obtenez le même résultat sans avoir à le démontrer, et vous le vérifierez ici à partir de vos répliques bootstrap.

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

Cette activité fait partie du cours

Réflexion statistique en Python (partie 2)

Voir le cours

Instructions de l’exercice

  • Générez 10000 répliques bootstrap de la moyenne des précipitations annuelles en utilisant votre fonction draw_bs_reps() et le tableau rainfall. Indice : passez np.mean à func pour calculer la moyenne.
    • Rappel : draw_bs_reps() accepte 3 arguments : data, func et size.
  • Calculez et affichez l'erreur type de la moyenne de rainfall.
    • La formule est np.std(data) / np.sqrt(len(data)).
  • Calculez et affichez l'écart type de vos répliques bootstrap bs_replicates.
  • Faites un histogramme des répliques en utilisant le paramètre normed=True et 50 classes (bins).
  • Appuyez sur Soumettre pour voir 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