EmpezarEmpieza gratis

Regresión lineal del tiempo medio por parcial

Supondremos que los nadadores se van ralentizando de forma lineal a lo largo de la prueba de 800 m. La desaceleración por parcial es entonces la pendiente de la gráfica del tiempo medio por parcial frente al número de parcial. Realiza una regresión lineal para estimar la desaceleración por parcial y calcula un intervalo de confianza del 95 % mediante pairs bootstrap para esa desaceleración. Muestra también una gráfica con la recta de mejor ajuste.

Nota: Podríamos calcular barras de error para los tiempos medios por parcial y usarlas en el análisis de regresión, pero aquí no las tendremos en cuenta, ya que está fuera del alcance de este curso.

Este ejercicio forma parte del curso

Casos prácticos de pensamiento estadístico

Ver curso

Instrucciones del ejercicio

  • Usa np.polyfit() para realizar una regresión lineal y obtener la desaceleración por parcial. Las variables split_number y mean_splits ya están en tu espacio de trabajo. Guarda la pendiente y la intersección respectivamente en slowdown y split_3.
  • Usa dcst.draw_bs_pairs_linreg() para calcular 10.000 réplicas de pairs bootstrap de la desaceleración por parcial. Guarda el resultado en bs_reps. Las réplicas bootstrap de la intersección no son relevantes para este análisis, así que puedes guardarlas en la variable desechable _.
  • Calcula el intervalo de confianza del 95 % de la desaceleración por parcial.
  • Dibuja el número de parcial (split_number) frente al tiempo medio por parcial (mean_splits) como puntos, junto con la recta de mejor ajuste.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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 y ejecutar código