LoslegenKostenlos loslegen

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)

Kurs anzeigen

Anleitung zur Übung

  • Ziehe 10000 Bootstrap-Replikate des mittleren jährlichen Niederschlags mit deiner Funktion draw_bs_reps() und dem Array rainfall. Hinweis: Übergib np.mean an func, um den Mittelwert zu berechnen.
    • Zur Erinnerung: draw_bs_reps() akzeptiert 3 Argumente: data, func und size.
  • Berechne und gib den Standardfehler des Mittelwerts von rainfall aus.
    • Die Formel dafür ist np.std(data) / np.sqrt(len(data)).
  • Berechne und gib die Standardabweichung deiner Bootstrap-Replikate bs_replicates aus.
  • Erstelle ein Histogramm der Replikate mit dem Keyword-Argument normed=True und 50 Bins.
  • 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()
Code bearbeiten und ausführen