ПочатиПочніть безкоштовно

Метод найменших квадратів у `statsmodels`

Декілька бібліотек Python надають зручні абстрактні інтерфейси, щоб вам не доводилося щоразу явно керувати всіма деталями оптимізації моделі.

У цій вправі як приклад ви використаєте бібліотеку statsmodels у більш високорівневому, узагальненому робочому процесі для побудови моделі з оптимізацією методом найменших квадратів (мінімізація RSS).

Щоб ви швидше стартували, ми заздалегідь завантажили дані за допомогою x_data, y_data = load_data() і зберегли їх у датафреймі pandas з назвами стовпців x_column і y_column, використавши df = pd.DataFrame(dict(x_column=x_data, y_column=y_data))

Ця вправа є частиною курсу

Вступ до лінійного моделювання в Python

Переглянути курс

Інструкції до вправи

  • Побудуйте модель ols() із формулою formula="y_column ~ x_column" і даними data=df, а потім застосуйте .fit() до даних.
  • Скористайтеся model_fit.predict(), щоб отримати значення y_model.
  • За допомогою наданої функції plot_data_with_model() накладіть y_model на y_data.
  • Витягніть значення параметрів моделі a0 та a1 з model_fit.params.
  • Використайте compute_rss_and_plot_fit(), щоб підтвердити, що ці результати узгоджуються з аналітичними формулами, реалізованими в numpy.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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)
Редагувати та запускати код