Bootstrap-Replikate des Mittelwerts und des SEM
In dieser Übung berechnest du eine Bootstrap-Schätzung der Wahrscheinlichkeitsdichtefunktion des mittleren jährlichen Niederschlags an der Sheffield Weather Station. Denk daran: Wir schätzen den mittleren jährlichen Niederschlag, 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 zeichnest die PDF als Histogramm und wirst sehen, dass sie normalverteilt ist.
Tatsächlich lässt sich theoretisch zeigen, dass unter nicht allzu restriktiven Bedingungen der Wert des Mittelwerts 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 (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-Statistik 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
Statistical Thinking in Python (Teil 2)
Anleitung zur Übung
- Ziehe
10000Bootstrap-Replikate des mittleren jährlichen Niederschlags mit deiner Funktiondraw_bs_reps()und dem Arrayrainfall. Hinweis: Übergibnp.meananfunc, um den Mittelwert zu berechnen.- Zur Erinnerung:
draw_bs_reps()akzeptiert 3 Argumente:data,funcundsize.
- Zur Erinnerung:
- Berechne und gib den Standardfehler des Mittelwerts von
rainfallaus.- Die Formel dafür ist
np.std(data) / np.sqrt(len(data)).
- Die Formel dafür ist
- Berechne und gib die Standardabweichung deiner Bootstrap-Replikate
bs_replicatesaus. - Erstelle ein Histogramm der Replikate mit dem Keyword-Argument
normed=Trueund50Bins. - Klicke auf Antwort senden, um das Diagramm zu sehen!
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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()