CommencerCommencer gratuitement

Moindres carrés avec `numpy`

Les formules ci-dessous résultent du calcul différentiel présenté dans l’introduction. Dans cet exercice, nous supposerons ce calcul correct et nous implémenterons ces formules en code avec numpy.

$$ a_{1} = \frac{ covariance(x, y) }{ variance(x) } $$ $$ a_{0} = mean(y) - a_{1} mean(x) $$

Cet exercice fait partie du cours

Introduction à la modélisation linéaire en Python

Afficher le cours

Instructions

  • Calculez les moyennes et les écarts des deux variables x, y à partir des données préchargées.
  • Utilisez np.sum() pour compléter les formules des moindres carrés, puis servez-vous-en pour calculer les valeurs optimales de a0 et a1.
  • Utilisez model() pour construire les valeurs du modèle y_model à partir de la pente optimale a1 et de l’ordonnée à l’origine a0.
  • Utilisez la fonction prédéfinie compute_rss_and_plot_fit() pour vérifier visuellement que ce modèle optimal s’ajuste bien aux données.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# prepare the means and deviations of the two variables
x_mean = np.____(x)
y_mean = np.____(y)
x_dev = x - ____
y_dev = y - ____

# Complete least-squares formulae to find the optimal a0, a1
a1 = np.sum(____ * ____) / np.sum( np.square(____) )
a0 = ____ - (a1 * ____)

# Use the those optimal model parameters a0, a1 to build a model
y_model = model(x, ____, ____)

# plot to verify that the resulting y_model best fits the data y
fig, rss = compute_rss_and_plot_fit(a0, a1)
Modifier et exécuter le code