Стаціонарність

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

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Що таке стаціонарність?

  • Сильна стаціонарність: повний розподіл даних не змінюється в часі
  • Слабка стаціонарність: середнє, дисперсія та автокореляція сталi в часі (тобто для автокореляції corr$\large (X_t, X_{t-\tau})$ залежить лише від $\large \tau$)
Аналіз часових рядів у Python

Навіщо це потрібно?

  • Якщо параметри змінюються з часом, параметрів надто багато для оцінювання
  • Можна оцінити лише ощадну модель з небагатьма параметрами
Аналіз часових рядів у Python

Приклади нестаціонарних рядів

  • Випадкове блукання
Аналіз часових рядів у Python

Приклади нестаціонарних рядів

  • Сезонність у ряді
Аналіз часових рядів у Python

Приклади нестаціонарних рядів

  • Зміна середнього або стандартного відхилення з часом
Аналіз часових рядів у Python

Перетворення нестаціонарних рядів на стаціонарні

  • Випадкове блукання
    plot.plot(SPY)
    
  • Перша різниця
    plot.plot(SPY.diff())
    
Аналіз часових рядів у Python

Перетворення нестаціонарних рядів на стаціонарні

  • Сезонність
    plot.plot(HRB)
    
  • Сезонна різниця
    plot.plot(HRB.diff(4))
    
Аналіз часових рядів у Python

Перетворення нестаціонарних рядів на стаціонарні

  • Квартальні доходи AMZN
    plt.plot(AMZN)
    
# Log of AMZN Revenues
plt.plot(np.log(AMZN))

# Log, then seasonal difference
plt.plot(np.log(AMZN).diff(4))

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

Давайте потренуємось!

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

Preparing Video For Download...