Bootstrap-Replikate des Mittelwerts und der SEM
In dieser Übung berechnest du eine Bootstrap-Schätzung der Wahrscheinlichkeitsdichtefunktion des jährlichen Niederschlagsmittelwerts an der Sheffield Weather Station. Denk daran: Wir schätzen den Mittelwert des jährlichen Niederschlags, den wir erhalten würden, wenn die Sheffield Weather Station alle Messungen von 1883 bis 2015 immer wiederholen könnte. Das ist eine probabilistische Schätzung des Mittelwerts. Du stellst die PDF als Histogramm dar und wirst sehen, dass sie normalverteilt ist.
Tatsächlich lässt sich theoretisch zeigen, dass unter nicht allzu restriktiven Bedingungen der Mittelwert immer normalverteilt ist. (Das gilt nicht allgemein, sondern nur für den Mittelwert und einige wenige andere Statistiken.) Die Standardabweichung dieser Verteilung, der Standardfehler des Mittelwerts oder SEM, ergibt sich als Standardabweichung der Daten geteilt durch die Quadratwurzel der Anzahl der Datenpunkte. Also für einen Datensatz: sem = np.std(data) / np.sqrt(len(data)). Mit Hacker-Statistiken erhältst du dasselbe Ergebnis, ohne es herleiten zu müssen, und du wirst dieses Ergebnis mit deinen Bootstrap-Replikaten überprüfen.
Der Datensatz wurde bereits in ein Array namens rainfall geladen.
Diese Übung ist Teil des Kurses
<Kurs>Statistical Thinking in Python (Teil 2)</Kurs>Übungsanweisungen
- Ziehe
10000Bootstrap-Replikate des Mittelwerts des jährlichen Niederschlags mit deiner Funktiondraw_bs_reps()und dem Arrayrainfall. Hinweis: Übergibnp.meanalsfunc, um den Mittelwert zu berechnen.- Zur Erinnerung:
draw_bs_reps()akzeptiert 3 Argumente:data,funcundsize.
- Zur Erinnerung:
- Berechne und drucke den Standardfehler des Mittelwerts von
rainfall.- Die Formel dafür lautet:
np.std(data) / np.sqrt(len(data)).
- Die Formel dafür lautet:
- Berechne und drucke die Standardabweichung deiner Bootstrap-Replikate
bs_replicates. - Erstelle ein Histogramm der Replikate mit dem Keyword-Argument
density=Trueund50Bins. - Klicke auf Antwort senden, um das Diagramm zu sehen!
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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()