LoslegenKostenlos starten

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>
Kurs ansehen

Übungsanweisungen

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