Réplicats bootstrap de la moyenne et de la 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 estimons la moyenne des précipitations annuelles que l’on obtiendrait si la station pouvait répéter indéfiniment toutes les mesures de 1883 à 2015. 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 est toujours distribuée normalement. (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 jeu 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 allez le vérifier à 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
Réflexion statistique en Python (Partie 2)
Instructions
- Générez
10000réplicats bootstrap de la moyenne des précipitations annuelles en utilisant votre fonctiondraw_bs_reps()et le tableaurainfall. Indice : passeznp.meanàfuncpour calculer la moyenne.- Pour rappel,
draw_bs_reps()accepte 3 arguments :data,funcetsize.
- Pour rappel,
- Calculez et affichez l’erreur standard de la moyenne de
rainfall.- La formule est
np.std(data) / np.sqrt(len(data)).
- La formule est
- Calculez et affichez l’écart-type de vos réplicats bootstrap
bs_replicates. - Réalisez un histogramme des réplicats en utilisant l’argument
normed=Trueet50classes (bins). - Cliquez sur Soumettre pour afficher le graphique !
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()