LoslegenKostenlos loslegen

Lineare Regression der durchschnittlichen Splitzeit

Wir nehmen an, dass die Schwimmerinnen und Schwimmer über die 800 m linear langsamer werden. Die Verlangsamung pro Split entspricht dann der Steigung der Kurve „mittlere Splitzeit“ gegen „Splitnummer“. Führe eine lineare Regression durch, um die Verlangsamung pro Split zu schätzen, und berechne ein Pairs-Bootstrap-95%-Konfidenzintervall für die Verlangsamung. Zeige außerdem eine Grafik der Best-Fit-Gerade.

Hinweis: Wir könnten für die mittleren Splitzeiten Fehlerschranken berechnen und sie in der Regressionsanalyse verwenden. Das lassen wir hier außen vor, da es den Rahmen dieses Kurses sprengen würde.

Diese Übung ist Teil des Kurses

Fallstudien zum statistischen Denken

Kurs anzeigen

Anleitung zur Übung

  • Verwende np.polyfit(), um eine lineare Regression durchzuführen und die Verlangsamung pro Split zu erhalten. Die Variablen split_number und mean_splits sind bereits in deinem Namespace. Speichere Steigung und Achsenabschnitt jeweils in slowdown und split_3.
  • Verwende dcst.draw_bs_pairs_linreg(), um 10.000 Pairs-Bootstrap-Replikate der Verlangsamung pro Split zu berechnen. Speichere das Ergebnis in bs_reps. Die Bootstrap-Replikate des Achsenabschnitts sind für diese Analyse nicht relevant, daher kannst du sie in der Wegwerfvariablen _ speichern.
  • Berechne das 95%-Konfidenzintervall der Verlangsamung pro Split.
  • Plotte die Splitnummer (split_number) gegen die mittlere Splitzeit (mean_splits) als Punkte, zusammen mit der Best-Fit-Gerade.

Interaktive Übung

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

# Perform regression
____, ____ = ____

# Compute pairs bootstrap
bs_reps, _ = ____

# Compute confidence interval
conf_int = ____

# Plot the data with regressions line
_ = ____(____, ____, marker='.', linestyle='none')
_ = ____(____, ____ * ____ + ____, '-')

# Label axes and show plot
_ = plt.xlabel('split number')
_ = plt.ylabel('split time (s)')
plt.show()

# Print the slowdown per split
print("""
mean slowdown: {0:.3f} sec./split
95% conf int of mean slowdown: [{1:.3f}, {2:.3f}] sec./split""".format(
    slowdown, *conf_int))
Code bearbeiten und ausführen