ÎncepețiÎncepe gratuit

Cele mai mici pătrate cu `statsmodels`

Mai multe biblioteci Python oferă interfețe abstracte convenabile, astfel încât nu trebuie să gestionezi întotdeauna explicit mecanismele de optimizare a modelului.

Ca exemplu, în acest exercițiu vei folosi biblioteca statsmodels într-un flux de lucru mai general și de nivel înalt pentru construirea unui model prin optimizarea celor mai mici pătrate (minimizarea RSS).

Pentru a te ajuta să începi, am pre-încărcat datele din x_data, y_data = load_data() și le-am stocat într-un DataFrame pandas cu coloanele x_column și y_column, folosind df = pd.DataFrame(dict(x_column=x_data, y_column=y_data))

Acest exercițiu face parte din cursul

Introducere în modelarea liniară în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Construiește un model ols() cu formula formula="y_column ~ x_column" și datele data=df, apoi aplică .fit() pentru a-l ajusta pe date.
  • Folosește model_fit.predict() pentru a obține valorile y_model.
  • Folosind funcția plot_data_with_model() furnizată, suprapune y_data cu y_model.
  • Extrage valorile parametrilor modelului a0 și a1 din model_fit.params.
  • Folosește compute_rss_and_plot_fit() pentru a confirma că aceste rezultate sunt consistente cu formulele analitice implementate cu numpy.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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)
Editează și rulează codul