CommencezCommencez gratuitement

Estimer la vitesse et la confiance

Poursuivons avec les données de randonnée des parcs nationaux. Remarquez que certaines distances sont négatives parce que les randonneurs sont revenus en sens inverse du départ du sentier; les données sont imparfaites, alors concentrons-nous sur la tendance générale.

Dans cet exercice, votre objectif est d'utiliser le rééchantillonnage bootstrap pour obtenir la distribution des valeurs de vitesse d'un modèle linéaire, puis, à partir de cette distribution, de calculer la meilleure estimation de la vitesse et l'intervalle de confiance à 90 % pour cette estimation. Ici, la vitesse correspond au paramètre de pente du modèle de régression linéaire qui ajuste la distance en fonction du temps.

Pour vous aider à démarrer, nous avons préchargé les données distance et time, ainsi qu'une fonction least_squares() prédéfinie pour calculer la valeur de la vitesse pour chaque rééchantillon.

Cette activité fait partie du cours

Introduction aux modèles linéaires en Python

Voir le cours

Instructions de l’exercice

  • Utilisez np.random.choice() pour tirer sample_inds à partir de population_inds, en préservant l'appariement distance-temps de chaque donnée.
  • Pour préserver l'ordre temporel, appliquez .sort() à sample_inds, puis utilisez sample_inds pour indexer distances et times.
  • Utilisez least_squares(times, distances) pour calculer les paramètres du modèle linéaire et stockez a1 dans resample_speeds.
  • Appliquez np.mean() et np.percentiles() à resample_speeds pour calculer la vitesse et l'intervalle de confiance ci_90, puis affichez les deux.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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]))
Modifier et exécuter le code