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

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

Mnoho pythonových knihoven nabízí pohodlná abstrahovaná rozhraní, takže nemusíš vždy explicitně pracovat s celou optimalizační mašinérií modelu.

V tomto cvičení jako příklad použiješ knihovnu statsmodels ve víceúrovňovém, zobecněném pracovním postupu pro sestavení modelu pomocí optimalizace metodou nejmenších čtverců (minimalizace RSS).

Aby ses mohl/a rovnou pustit do práce, data z x_data, y_data = load_data() jsme pro tebe předem načetli a uložili do pandas DataFrame s názvy sloupců x_column a y_column pomocí df = pd.DataFrame(dict(x_column=x_data, y_column=y_data))

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

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

Zobrazit kurz

Pokyny k cvičení

  • Sestav model ols() s formulí formula="y_column ~ x_column" a daty data=df, a poté ho přizpůsob datům pomocí .fit().
  • Pomocí model_fit.predict() získej hodnoty y_model.
  • S využitím připravené funkce plot_data_with_model() vykresli y_data spolu s y_model.
  • Extrahuj hodnoty parametrů modelu a0 a a1 z model_fit.params.
  • Pomocí compute_rss_and_plot_fit() ověř, že tyto výsledky jsou konzistentní s analytickými vzorci implementovanými v numpy.

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

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

# Pass data and `formula` into ols(), use and `.fit()` the model to the data
model_fit = ols(____="y_column ~ x_column", ____=df).____()

# Use .predict(df) to get y_model values, then over-plot y_data with y_model
y_model = model_fit.____(df)
fig = plot_data_with_model(x_data, ____, ____)

# Extract the a0, a1 values from model_fit.params
a0 = model_fit.____['Intercept']
a1 = model_fit.____['x_column']

# Visually verify that these parameters a0, a1 give the minimum RSS
fig, rss = compute_rss_and_plot_fit(a0, a1)
Upravit a spustit kód