LoslegenKostenlos loslegen

Bootstrap und Standardfehler

Stell dir einen Nationalpark vor, in dem Ranger täglich wandern, um die Wege zu pflegen. Sie nehmen nicht immer dieselbe Route, aber sie notieren ihre finale Distanz und Zeit. Wir möchten ein statistisches Modell der täglichen Distanzvariationen auf Basis einer begrenzten Stichprobe von einer Rangerin bzw. einem Ranger erstellen.

Dein Ziel ist es, mittels Bootstrap-Resampling eine Verteilung von Mittelwerten zu erzeugen, indem du für jedes Resample einen Mittelwert berechnest, und anschließend den Standardfehler zu bestimmen. So quantifizierst du die „Unsicherheit“ der Stichprobenstatistik als Schätzer für die Populationsstatistik.

Verwende das vorab geladene Array sample_data mit 500 unabhängigen Messungen der zurückgelegten Distanz. Für den Moment nutzen wir ein simuliertes Datenset, um diese Lektion zu vereinfachen. Später schauen wir uns realistischere Daten an.

Diese Übung ist Teil des Kurses

Einführung in lineares Modellieren mit Python

Kurs anzeigen

Anleitung zur Übung

  • Weise sample_data als Modell für die Grundgesamtheit zu.

  • Iteriere num_resamples-mal:

    • Verwende jedes Mal np.random.choice(), um ein bootstrap_sample der Größe size=resample_size aus dem population_model zu erzeugen, und gib replace=True an.
    • Berechne und speichere jedes Mal den Stichprobenmittelwert.
  • Berechne und gib np.mean() und np.std() von bootstrap_means aus.

  • Nutze die vordefinierte Funktion plot_data_hist() und visualisiere die Verteilung der bootstrap_means.

Interaktive Übung

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

# Use the sample_data as a model for the population
population_model = ____

# Resample the population_model 100 times, computing the mean each sample
for nr in range(num_resamples):
    bootstrap_sample = np.random.____(population_model, size=____, replace=____)
    bootstrap_means[nr] = np.____(bootstrap_sample)

# Compute and print the mean, stdev of the resample distribution of means
distribution_mean = np.mean(____)
standard_error = np.std(____)
print('Bootstrap Distribution: center={:0.1f}, spread={:0.1f}'.format(____, ____))

# Plot the bootstrap resample distribution of means
fig = plot_data_hist(____)
Code bearbeiten und ausführen