Visualiser les minima du RSS
Dans cet exercice, vous allez calculer et visualiser la façon dont le RSS varie selon différentes valeurs des paramètres du modèle. Commencez par fixer l’ordonnée à l’origine, mais faites varier la pente : pour chaque valeur de pente, vous calculerez les valeurs du modèle et le RSS obtenu. Une fois que vous disposez d’un tableau de valeurs de RSS, vous déterminerez la valeur minimale du RSS, dans le code, puis, à partir de ce minimum, la pente ayant conduit à ce RSS minimal.
Utilisez les tableaux de données préchargés x_data, y_data, ainsi que le conteneur vide rss_list pour démarrer.

Cet exercice fait partie du cours
Introduction à la modélisation linéaire en Python
Instructions
- Pour chaque valeur d’essai
a1dansa1_array, utilisezmodel()pour prédire la valeur du modèle, puiscompute_rss()avecy_data, y_model, et stockez 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 correspondent à la figure affichée.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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)