Začněte nyníZačněte zdarma

Metoda nejmenších čtverců s `numpy`

Níže uvedené vzorce jsou výsledkem výpočtu pomocí diferenciálního počtu, který byl popsán v úvodu. V tomto cvičení budeme předpokládat, že výpočet je správný, a tyto vzorce implementujeme v kódu pomocí numpy.

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

Toto cvičení je součástí kurzu

Úvod do lineárního modelování v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Vypočítej průměry a odchylky obou proměnných x, y z předem načtených dat.
  • Pomocí np.sum() dokonči vzorce pro metodu nejmenších čtverců a urči optimální hodnoty a0 a a1.
  • Pomocí model() sestav modelové hodnoty y_model z optimálního sklonu a1 a průsečíku a0.
  • Pomocí předpřipravené funkce compute_rss_and_plot_fit() vizuálně ověř, že tento optimální model odpovídá datům.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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)
Upravit a spustit kód