Выбор подходящей модели

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

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Определение порядка модели AR

  • Порядок модели AR(p) обычно неизвестен заранее
  • Два метода определения порядка
    • Частичная автокорреляционная функция
    • Информационные критерии
Анализ временных рядов на Python

Частичная автокорреляционная функция (PACF)

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

Построение PACF в Python

  • Аналогично ACF, но вместо plt_acf используйте plot_pacf
  • Импортируйте модуль
    from statsmodels.graphics.tsaplots import plot_pacf
    
  • Постройте PACF
    plot_pacf(x, lags= 20, alpha=0.05)
    
Анализ временных рядов на Python

Сравнение PACF для разных моделей AR

  • AR(1)

  • AR(3)

  • AR(2)

  • Белый шум

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

Информационные критерии

  • Информационные критерии: корректируют качество подгонки с учётом числа параметров
  • Два популярных скорректированных критерия
    • AIC (критерий Акаике)
    • BIC (байесовский информационный критерий)
Анализ временных рядов на Python

Информационные критерии

  • Результат оценки
Анализ временных рядов на Python

Получение информационных критериев в statsmodels

  • Ранее вы узнали, как подобрать модель AR
    from statsmodels.tsa.arima_model import ARIMA
    mod = ARIMA(simulated_data, order=(1,0))
    result = mod.fit()
    
  • Чтобы получить полный вывод
    result.summary()
    
  • Или только параметры
    result.params
    
  • Чтобы получить AIC и BIC
    result.aic
    result.bic
    
Анализ временных рядов на Python

Информационные критерии

  • Подгоняем смоделированный AR(3) к разным моделям AR(p)
  • Выбираем p с наименьшим BIC
Анализ временных рядов на Python

Давайте потренируемся!

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

Preparing Video For Download...