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

Яка модель ARMA найкраща?

Пригадайте з Розділу 3, що інформаційний критерій Акаіке (AIC) можна використовувати для порівняння моделей з різною кількістю параметрів. Він оцінює якість підгонки, але накладає штраф на моделі з більшою кількістю параметрів, щоб уникати перенавчання. Нижчі значення AIC — кращі.

Підготуйте модель для температурних даних: AR(1), AR(2) і ARMA(1,1), і визначте, яка з них найкраще підходить за критерієм AIC. Моделі AR(2) та ARMA(1,1) мають на один параметр більше, ніж AR(1).

Річна зміна температури міститься в датафреймі chg_temp.

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

Аналіз часових рядів у Python

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

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

  • Для кожної моделі ARMA створіть екземпляр класу ARIMA, передавши дані та order=(p,d,q). p — порядок авторегресії; q — порядок ковзного середнього; d — кількість разів, які ряд було продиференційовано.
  • Навчіть модель методом .fit().
  • Виведіть значення AIC, яке міститься в елементі результатів .aic.

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

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

# Import the module for estimating an ARIMA model
from statsmodels.tsa.arima.model import ARIMA

# Fit the data to an AR(1) model and print AIC:
mod_ar1 = ARIMA(chg_temp, order=(___, 0, 0))
res_ar1 = mod_ar1.fit()
print("The AIC for an AR(1) is: ", res_ar1.aic)

# Fit the data to an AR(2) model and print AIC:
mod_ar2 = ARIMA(chg_temp, order=(___, ___, ___))
res_ar2 = mod_ar2.___
print("The AIC for an AR(2) is: ", res_ar2.aic)

# Fit the data to an ARMA(1,1) model and print AIC:
mod_arma11 = ___
res_arma11 = ___
print("The AIC for an ARMA(1,1) is: ", ___)
Редагувати та запускати код