Функция автокорреляции

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

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Функция автокорреляции

  • Функция автокорреляции (ACF): автокорреляция как функция лага
  • Равна единице при лаге ноль
  • Полезная информация за пределами лага один
Анализ временных рядов на Python

Пример ACF 1: простая функция автокорреляции

  • Для прогнозирования можно использовать два последних значения ряда
Анализ временных рядов на Python

Пример ACF 2: сезонная прибыль

  • Прибыль H&R Block
  • ACF для H&R Block
Анализ временных рядов на Python

Пример ACF 3: применение для выбора модели

  • Выбор модели

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

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

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

Доверительный интервал ACF

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

Доверительный интервал ACF

  • Аргумент alpha задаёт ширину доверительного интервала
  • Пример: alpha=0.05
    • 5% вероятность того, что истинная автокорреляция, равная нулю, выйдет за пределы синей полосы
  • Доверительные полосы шире, если:
    • Значение alpha меньше
    • Меньше наблюдений
  • При некоторых упрощающих допущениях 95%-е доверительные полосы равны $\pm 2/\sqrt{N}$
  • Чтобы убрать полосы с графика, задайте alpha=1
Анализ временных рядов на Python

Значения ACF без графика

from statsmodels.tsa.stattools import acf
print(acf(x))
[ 1.         -0.6765505   0.34989905 -0.01629415 -0.02507013  0.01930354
 -0.03186545  0.01399904 -0.03518128  0.02063168 -0.02620646 -0.00509828
...
  0.07191516 -0.12211912  0.14514481 -0.09644228  0.05215882]
Анализ временных рядов на Python

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

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

Preparing Video For Download...