IniziaInizia gratis

Minimi quadrati con `numpy`

Le formule qui sotto derivano dal calcolo visto nell’introduzione. In questo esercizio ci fidiamo che il calcolo sia corretto e implementiamo queste formule in codice usando numpy.

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

Questo esercizio fa parte del corso

Introduzione alla modellazione lineare in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Calcola le medie e le deviazioni delle due variabili x, y dai dati già caricati.
  • Usa np.sum() per completare le formule dei minimi quadrati e impiegale per calcolare i valori ottimali di a0 e a1.
  • Usa model() per costruire i valori del modello y_model a partire da quei valori ottimali di pendenza a1 e intercetta a0.
  • Usa la funzione predefinita compute_rss_and_plot_fit() per confermare visivamente che questo modello ottimale si adatta ai dati.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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)
Modifica ed esegui il codice