ComenzarEmpieza gratis

Estimación de velocidad y confianza

Sigamos con los datos de rutas de senderismo en Parques Nacionales. Observa que algunas distancias son negativas porque caminaron en dirección opuesta al inicio del sendero; los datos están desordenados, así que centrémonos en la tendencia general.

En este ejercicio, tu objetivo es usar remuestreo bootstrap para obtener la distribución de valores de velocidad para un modelo lineal y, a partir de esa distribución, calcular la mejor estimación de la velocidad y el intervalo de confianza del 90% de esa estimación. Aquí, la velocidad es el parámetro de pendiente del modelo de regresión lineal que ajusta la distancia en función del tiempo.

Para empezar, hemos precargado los datos de distance y time, junto con una función least_squares() predefinida para calcular el valor de la velocidad en cada remuestreo.

Este ejercicio forma parte del curso

Introducción al modelado lineal en Python

Ver curso

Instrucciones del ejercicio

  • Usa np.random.choice() para extraer sample_inds de population_inds, preservando el emparejamiento distancia-tiempo de cada dato.
  • Para conservar el orden temporal, aplica .sort() a sample_inds y luego usa sample_inds para indexar distances y times.
  • Usa least_squares(times, distances) para calcular los parámetros del modelo lineal y guarda a1 en resample_speeds.
  • Aplica np.mean() y np.percentiles() a resample_speeds para calcular la velocidad y el intervalo de confianza ci_90, y luego imprime ambos.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Resample each preloaded population, and compute speed distribution
population_inds = np.arange(0, 99, dtype=int)
for nr in range(num_resamples):
    sample_inds = np.random.choice(____, size=100, replace=True)
    sample_inds.____()
    sample_distances = distances[____]
    sample_times = times[____]
    a0, a1 = ____(sample_times, sample_distances)
    resample_speeds[nr] = ____

# Compute effect size and confidence interval, and print
speed_estimate = np.mean(____)
ci_90 = np.percentile(____, [5, 95])
print('Speed Estimate = {:0.2f}, 90% Confidence Interval: {:0.2f}, {:0.2f} '.format(____, ____[0], ____[1]))
Editar y ejecutar código