CommencezCommencez gratuitement

Extrapolation : franchir la limite

Dans cet exercice, nous examinons les dangers de l'extrapolation. Voici le profil d'un sentier de randonnée sur une montagne. Une portion du sentier, en noir, semble linéaire et a servi à bâtir un modèle. Toutefois, on constate que la droite de meilleur ajustement, en rouge, ne convient pas à l'extérieur du « domaine » d'origine, puisqu'elle s'étend dans de nouvelles données externes, en bleu.

Si nous voulons utiliser le modèle pour prédire l'altitude, tout en demeurant précis à l'intérieur d'une certaine tolérance, quelles sont les plus petites et les plus grandes valeurs de la variable indépendante x auxquelles nous pouvons nous permettre d'appliquer le modèle ?

Ici, utilisez les objets préchargés x_data, y_data, y_model et plot_data_model_tolerance() pour compléter votre solution.

Cette activité fait partie du cours

Introduction aux modèles linéaires en Python

Voir le cours

Instructions de l’exercice

  • Utilisez np.abs() pour calculer les résidus comme les différences y_data - y_model.
  • Trouvez les valeurs .min() et .max() de x pour lesquelles les residuals sont inférieurs à une tolerance = 100 mètres.
  • Utilisez np.min() et np.max() pour afficher l'intervalle (les plus grande et plus petite) des valeurs x_good.
  • Utilisez la fonction prédéfinie plot_data_model_tolerance() pour comparer les données, le modèle et l'intervalle de valeurs x_goodresiduals < tolerance vaut True.

Exercice interactif pratique

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

# Compute the residuals, "data - model", and determine where [residuals < tolerance]
residuals = np.abs(____ - ____)
tolerance = 100
x_good = x_data[____ < ____]

# Find the min and max of the "good" values, and plot y_data, y_model, and the tolerance range
print('Minimum good x value = {}'.format(np.____(____)))
print('Maximum good x value = {}'.format(np.____(____)))
fig = plot_data_model_tolerance(x_data, y_data, y_model, tolerance)
Modifier et exécuter le code