CommencerCommencer gratuitement

Estimation de la vitesse et de la confiance

Continuons avec les données de randonnée du parc national. Remarquez que certaines distances sont négatives, car la marche s’est faite dans le sens opposé au départ du sentier ; les données sont imparfaites, donc concentrons-nous sur la tendance générale.

Dans cet exercice, votre objectif est d’utiliser le bootstrap (rééchantillonnage) pour obtenir la distribution des valeurs de vitesse d’un modèle linéaire, puis, à partir de cette distribution, calculer la meilleure estimation de la vitesse ainsi que l’intervalle de confiance à 90 % de 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 vitesse pour chaque rééchantillonnage.

Cet exercice fait partie du cours

Introduction à la modélisation linéaire en Python

Afficher le cours

Instructions

  • Utilisez np.random.choice() pour tirer sample_inds à partir de population_inds, en préservant l’association 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 cet exemple de code.

# 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