Kom igångKom igång gratis

Linjär regression av genomsnittlig delsträcketid

Vi antar att simmarnas hastighet minskar linjärt under loppets gång på 800 m. Inbromsningen per delsträcka motsvarar då lutningen i ett diagram över genomsnittlig delsträcketid mot delsträckenummer. Utför en linjär regression för att uppskatta inbromsningen per delsträcka och beräkna ett pairs bootstrap-konfidensintervall på 95 % för inbromsningen. Rita också upp den bäst passande linjen.

Obs: Det går att beräkna felstaplar för de genomsnittliga delsträcketiderna och använda dem i regressionsanalysen, men det tar vi inte hänsyn till här, eftersom det ligger utanför kursens ramar.

Den här övningen är en del av kursen

Fallstudier i statistiskt tänkande

Visa kurs

Övningsinstruktioner

  • Använd np.polyfit() för att utföra en linjär regression och beräkna inbromsningen per delsträcka. Variablerna split_number och mean_splits finns redan i ditt namnrymdsomfång. Lagra lutningen och skärningspunkten i slowdown respektive split_3.
  • Använd dcst.draw_bs_pairs_linreg() för att beräkna 10 000 pairs bootstrap-replikat av inbromsningen per delsträcka. Lagra resultatet i bs_reps. Bootstrap-replikaten för skärningspunkten är inte relevanta för den här analysen, så du kan lagra dem i den tillfälliga variabeln _.
  • Beräkna 95%-konfidensintervallet för inbromsningen per delsträcka.
  • Rita delsträckenummer (split_number) mot genomsnittlig delsträcketid (mean_splits) som punkter, tillsammans med den bäst passande linjen.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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))
Redigera och kör kod