Regressione lineare del tempo medio per split
Assumiamo che i nuotatori rallentino in modo lineare nel corso della gara degli 800 m. Il rallentamento per split è quindi la pendenza del grafico del tempo medio per split rispetto al numero di split. Esegui una regressione lineare per stimare il rallentamento per split e calcola un intervallo di confidenza bootstrap a coppie al 95% sul rallentamento. Mostra anche un grafico della retta di best fit.
Nota: Potremmo calcolare le barre di errore per i tempi medi degli split e usarle nell'analisi di regressione, ma qui non le considereremo, perché è oltre lo scopo di questo corso.
Questo esercizio fa parte del corso
Casi di studio nel pensiero statistico
Istruzioni dell'esercizio
- Usa
np.polyfit()per eseguire una regressione lineare e ottenere il rallentamento per split. Le variabilisplit_numberemean_splitssono già nel tuo namespace. Salva rispettivamente pendenza e intercetta inslowdownesplit_3. - Usa
dcst.draw_bs_pairs_linreg()per calcolare 10.000 repliche bootstrap a coppie del rallentamento per split. Salva il risultato inbs_reps. Le repliche bootstrap dell'intercetta non sono rilevanti per questa analisi, quindi puoi salvarle nella variabile di scarto_. - Calcola l'intervallo di confidenza al 95% del rallentamento per split.
- Traccia il numero di split (
split_number) rispetto al tempo medio per split (mean_splits) come punti, insieme alla retta di best fit.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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))