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
Övningsinstruktioner
- Använd
np.polyfit()för att utföra en linjär regression och beräkna inbromsningen per delsträcka. Variablernasplit_numberochmean_splitsfinns redan i ditt namnrymdsomfång. Lagra lutningen och skärningspunkten islowdownrespektivesplit_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 ibs_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))