LoslegenKostenlos loslegen

Geschwindigkeit und Konfidenz schätzen

Schauen wir uns weiter die Wanderdaten aus dem Nationalpark an. Manche Distanzen sind negativ, weil in die entgegengesetzte Richtung vom Startpunkt gelaufen wurde; die Daten sind also unaufgeräumt, deshalb konzentrieren wir uns auf den generellen Trend.

In dieser Übung sollst du mit Bootstrap-Resampling die Verteilung der Geschwindigkeitswerte für ein lineares Modell bestimmen und daraus die beste Schätzung für die Geschwindigkeit sowie das 90-%-Konfidenzintervall dieser Schätzung berechnen. Die Geschwindigkeit ist hier der Steigungsparameter aus dem linearen Regressionsmodell, das die Distanz als Funktion der Zeit anpasst.

Zum Starten haben wir distance- und time-Daten vorab geladen sowie eine vordefinierte Funktion least_squares(), mit der für jedes Resample der Geschwindigkeitswert berechnet wird.

Diese Übung ist Teil des Kurses

Einführung in lineares Modellieren mit Python

Kurs anzeigen

Anleitung zur Übung

  • Verwende np.random.choice(), um sample_inds aus population_inds zu ziehen, und erhalte dabei die Paarung von Distanz und Zeit für jedes Datum.
  • Um die Zeitreihenfolge zu erhalten, .sort() die sample_inds und verwende dann sample_inds, um distances und times zu indizieren.
  • Nutze least_squares(times, distances), um die Parameter des linearen Modells zu berechnen, und speichere a1 in resample_speeds.
  • Wende np.mean() und np.percentiles() auf resample_speeds an, berechne die Geschwindigkeit und das Konfidenzintervall ci_90 und gib beides aus.

Interaktive Übung

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

# Resample each preloaded population, and compute speed distribution
population_inds = np.arange(0, 99, dtype=int)
for nr in range(num_resamples):
    sample_inds = np.random.choice(____, size=100, replace=True)
    sample_inds.____()
    sample_distances = distances[____]
    sample_times = times[____]
    a0, a1 = ____(sample_times, sample_distances)
    resample_speeds[nr] = ____

# Compute effect size and confidence interval, and print
speed_estimate = np.mean(____)
ci_90 = np.percentile(____, [5, 95])
print('Speed Estimate = {:0.2f}, 90% Confidence Interval: {:0.2f}, {:0.2f} '.format(____, ____[0], ____[1]))
Code bearbeiten und ausführen