Kom igångKom igång gratis

Minsta kvadratmetoden med `numpy`

Formlerna nedan är resultatet av den kalkylanalys som presenterades i introduktionen. I den här övningen utgår vi från att kalkylen är korrekt och implementerar formlerna i kod med hjälp av numpy.

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

Den här övningen är en del av kursen

Introduktion till linjär modellering i Python

Visa kurs

Övningsinstruktioner

  • Beräkna medelvärden och avvikelser för de två variablerna x, y från de förinstallerade data.
  • Använd np.sum() för att slutföra minsta kvadrat-formlerna och beräkna de optimala värdena för a0 och a1.
  • Använd model() för att bygga modellvärdena y_model utifrån de optimala värdena för lutning a1 och intercept a0.
  • Använd den fördefinierade funktionen compute_rss_and_plot_fit() för att visuellt bekräfta att den optimala modellen passar data.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)
Redigera och kör kod