Visualiser les minima du RSS
Dans cet exercice, vous allez calculer et visualiser comment le RSS varie selon différentes valeurs de paramètres du modèle. Commencez par garder l'ordonnée à l'origine constante, puis faites varier la pente ; pour chaque valeur de pente, vous calculerez les valeurs du modèle et le RSS correspondant. Une fois que vous avez un tableau de valeurs de RSS, vous déterminerez la valeur minimale du RSS, en code, puis à partir de ce minimum, vous trouverez la pente qui a produit ce RSS minimal.
Servez-vous des tableaux de données préchargés x_data, y_data, ainsi que du conteneur vide rss_list pour commencer.

Cette activité fait partie du cours
Introduction aux modèles linéaires en Python
Instructions de l’exercice
- Pour chaque valeur d'essai
a1dansa1_array, utilisezmodel()pour prédire la valeur du modèle, puiscompute_rss()avecy_data, y_model, et enregistrez la sortierss_valuedansrss_list. - Convertissez
rss_listennp.array(), puis utiliseznp.min()pour trouver la valeur minimale dansrss_array. - Utilisez
np.where()pour trouver la valeur d'essai correspondante et affectez le résultat àbest_a1. - Utilisez
plot_rss_vs_parameters()pour confirmer visuellement que vos valeurs concordent avec la figure affichée.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Loop over all trial values in a1_array, computing rss for each
a1_array = np.linspace(15, 35, 101)
for a1_trial in a1_array:
y_model = model(x_data, a0=150, a1=____)
rss_value = compute_rss(y_data, ____)
rss_list.append(____)
# Find the minimum RSS and the a1 value from whence it came
rss_array = np.array(____)
best_rss = np.min(____)
best_a1 = a1_array[np.where(rss_array==____)]
print('The minimum RSS = {}, came from a1 = {}'.format(best_rss, best_a1))
# Plot your rss and a1 values to confirm answer
fig = plot_rss_vs_a1(a1_array, rss_array)