Вибір правильної моделі

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

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Визначення порядку моделі AR

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

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

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

Побудова PACF у Python

  • Як і ACF, але використайте plot_pacf замість plt_acf
  • Імпортуйте модуль
    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...