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>Instructions de l’exercice
- Générez
10000réplicats bootstrap de la moyenne des précipitations annuelles à l'aide de votre fonctiondraw_bs_reps()et du 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 à utiliser est
np.std(data) / np.sqrt(len(data)).
- La formule à utiliser est
- Calculez et affichez l'écart type de vos réplicats bootstrap
bs_replicates. - Tracez un histogramme des réplicats en utilisant l'argument
density=Trueet50bins. - 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()