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)
Instructions de l’exercice
- Générez
10000répliques bootstrap de la moyenne des précipitations annuelles en utilisant votre fonctiondraw_bs_reps()et le tableaurainfall. Indice : passeznp.meanàfuncpour calculer la moyenne.- Rappel :
draw_bs_reps()accepte 3 arguments :data,funcetsize.
- Rappel :
- Calculez et affichez l'erreur type 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épliques bootstrap
bs_replicates. - Faites un histogramme des répliques en utilisant le paramètre
normed=Trueet50classes (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()