LoslegenKostenlos loslegen

Bootstrap-Stichproben visualisieren

In dieser Übung erzeugst du Bootstrap-Stichproben aus den jährlichen Niederschlagsdaten der Sheffield Weather Station im Vereinigten Königreich von 1883 bis 2015. Die Daten liegen in der NumPy-Array rainfall in Millimetern (mm) vor. Durch die grafische Darstellung der Bootstrap-Stichproben mit einer ECDF bekommst du ein Gefühl dafür, wie Bootstrap-Sampling probabilistische Beschreibungen von Daten ermöglicht.

Diese Übung ist Teil des Kurses

Statistical Thinking in Python (Teil 2)

Kurs anzeigen

Anleitung zur Übung

  • Schreibe eine for-Schleife, um 50 Bootstrap-Stichproben der Niederschlagsdaten zu erzeugen und ihre ECDF zu plotten.
    • Verwende np.random.choice(), um eine Bootstrap-Stichprobe aus dem NumPy-Array rainfall zu erzeugen. Achte darauf, dass die size des resampleten Arrays len(rainfall) ist.
    • Verwende die Funktion ecdf(), die du im Vorgängerkurs geschrieben hast, um die x- und y-Werte für die ECDF der Bootstrap-Stichprobe bs_sample zu erzeugen.
    • Plotte die ECDF-Werte. Gib zusätzlich zu den Keyword-Argumenten marker='.' und linestyle='none' auch color='gray' (für graue Punkte) und alpha=0.1 (für halbtransparente Punkte, da wir so viele überlagern) an.
  • Verwende ecdf(), um x- und y-Werte für die ECDF der ursprünglichen Niederschlagsdaten im Array rainfall zu erzeugen.
  • Plotte die ECDF-Werte der Originaldaten.
  • Klicke auf Antwort senden, um die Stichproben zu visualisieren!

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

for _ in range(50):
    # Generate bootstrap sample: bs_sample
    bs_sample = ____(____, size=____)

    # Compute and plot ECDF from bootstrap sample
    x, y = ____
    _ = plt.plot(____, ____, ____='.', ____='none',
                 ____='gray', ____=0.1)

# Compute and plot ECDF from original data
x, y = ____
_ = plt.plot(____, ____, ____='.')

# Make margins and label axes
plt.margins(0.02)
_ = plt.xlabel('yearly rainfall (mm)')
_ = plt.ylabel('ECDF')

# Show the plot
plt.show()
Code bearbeiten und ausführen