Zacznij terazZacznij za darmo

Metoda najmniejszych kwadratów z `statsmodels`

Wiele bibliotek Pythona udostępnia wygodne, abstrakcyjne interfejsy, dzięki którym nie musisz za każdym razem ręcznie zarządzać całą maszynerią optymalizacji modelu.

W tym ćwiczeniu użyjesz biblioteki statsmodels w bardziej ogólnym, wysokopoziomowym przepływie pracy – do budowy modelu metodą najmniejszych kwadratów (minimalizacja RSS).

Aby ułatwić ci start, dane zostały wcześniej wczytane za pomocą x_data, y_data = load_data() i zapisane w ramce danych pandas z kolumnami x_column i y_column przy użyciu df = pd.DataFrame(dict(x_column=x_data, y_column=y_data))

To ćwiczenie jest częścią kursu

Wprowadzenie do modelowania liniowego w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zbuduj model ols() z formułą formula="y_column ~ x_column" i danymi data=df, a następnie dopasuj go do danych metodą .fit().
  • Użyj model_fit.predict(), aby uzyskać wartości y_model.
  • Za pomocą dostarczonej funkcji plot_data_with_model() nanieś y_model na wykres z y_data.
  • Wyodrębnij wartości parametrów modelu a0 i a1 z model_fit.params.
  • Użyj compute_rss_and_plot_fit(), aby sprawdzić, czy wyniki są zgodne z analitycznymi wzorami zaimplementowanymi w numpy.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod