Inizia subitoInizia gratis

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

Visualizza corso

Istruzioni dell'esercizio

  • Usa np.polyfit() per eseguire una regressione lineare e ottenere il rallentamento per split. Le variabili split_number e mean_splits sono già nel tuo namespace. Salva rispettivamente pendenza e intercetta in slowdown e split_3.
  • Usa dcst.draw_bs_pairs_linreg() per calcolare 10.000 repliche bootstrap a coppie del rallentamento per split. Salva il risultato in bs_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))
Modifica ed esegui il codice