ComeçarComece de graça

Regressão linear do tempo médio por parcial

Vamos supor que os nadadores diminuem o ritmo de forma linear ao longo da prova de 800 m. A desaceleração por parcial é então a inclinação do gráfico do tempo médio por parcial em função do número da parcial. Faça uma regressão linear para estimar a desaceleração por parcial e calcule um intervalo de confiança de 95% com pairs bootstrap para a desaceleração. Também mostre um gráfico com a linha de melhor ajuste.

Observação: Podemos calcular barras de erro para os tempos médios por parcial e usá-las na análise de regressão, mas não vamos considerá-las aqui, pois isso está além do escopo deste curso.

Este exercício faz parte do curso

Estudos de caso em pensamento estatístico

Ver curso

Instruções do exercício

  • Use np.polyfit() para realizar uma regressão linear e obter a desaceleração por parcial. As variáveis split_number e mean_splits já estão no seu ambiente. Guarde o coeficiente angular (slope) e o intercepto, respectivamente, em slowdown e split_3.
  • Use dcst.draw_bs_pairs_linreg() para calcular 10.000 réplicas de pairs bootstrap da desaceleração por parcial. Guarde o resultado em bs_reps. As réplicas bootstrap do intercepto não são relevantes para esta análise, então você pode armazená-las na variável descartável _.
  • Calcule o intervalo de confiança de 95% da desaceleração por parcial.
  • Plote o número da parcial (split_number) versus o tempo médio por parcial (mean_splits) como pontos, junto com a linha de melhor ajuste.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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))
Editar e executar o código