НачатьНачать бесплатно

Определение порядка модели: информационные критерии

Ещё один способ определить порядок модели — использовать информационный критерий Акаике (AIC) и байесовский информационный критерий (BIC). Эти меры оценивают качество подгонки модели с учётом оцененных параметров, но при этом вводят штраф за количество параметров в модели. Возьмите смоделированные данные AR(2) из предыдущего упражнения, сохранённые как simulated_data_2, и вычислите BIC, варьируя порядок p в модели AR(p) от 0 до 6.

Это упражнение является частью курса

Анализ временных рядов на Python

Посмотреть курс

Инструкции к упражнению

  • Импортируйте модуль ARIMA для оценки параметров и вычисления BIC.
  • Инициализируйте массив numpy BIC, в котором будут храниться значения BIC для каждой модели AR(p).
  • Выполните цикл по порядку p для p = 0,…,6.
    • Для каждого p подберите модель AR порядка p к данным.
    • Для каждого p сохраните значение BIC с помощью атрибута .bic (без скобок) объекта res.
  • Постройте график BIC как функции от p (при построении пропустите p=0 и отобразите значения для p=1,…,6).

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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

# Fit the data to an AR(p) for p = 0,...,6 , and save the BIC
BIC = np.zeros(7)
for p in range(7):
    mod = ARIMA(simulated_data_2, order=(___,___,___))
    res = mod.fit()
# Save BIC for AR(p)    
    BIC[p] = res.___
    
# Plot the BIC as a function of p
plt.plot(range(1,7), BIC[1:7], marker='o')
plt.xlabel('Order of AR Model')
plt.ylabel('Bayesian Information Criterion')
plt.show()
Редактировать и запускать код