Введение во временные ряды и стационарность

Модели ARIMA в Python

James Fulton

Climate informatics researcher

Мотивация

Временные ряды повсюду

  • Наука
  • Технологии
  • Бизнес
  • Финансы
  • Политика
Модели ARIMA в Python

Содержание курса

Вы научитесь

  • Структура моделей ARIMA
  • Как обучить модель ARIMA
  • Как оптимизировать модель
  • Как строить прогнозы
  • Как оценивать неопределённость предсказаний
Модели ARIMA в Python

Загрузка и визуализация

import pandas as pd
import matplotlib as plt

df = pd.read_csv('time_series.csv', index_col='date', parse_dates=True)
date            values
2019-03-11    5.734193    
2019-03-12    6.288708    
2019-03-13    5.205788    
2019-03-14    3.176578
Модели ARIMA в Python

Тренд

fig, ax = plt.subplots()
df.plot(ax=ax)
plt.show()

Модели ARIMA в Python

Сезонность

Модели ARIMA в Python

Цикличность

Модели ARIMA в Python

Белый шум

Белый шум — ряд с некоррелированными значениями

  • Орёл, орёл, орёл, решка, орёл, решка, ...
  • 0,1; −0,3; 0,8; 0,4; −0,5; 0,9; ...
Модели ARIMA в Python

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

Стационарный

  • Стационарность по тренду: тренд равен нулю

Нестационарный

Модели ARIMA в Python

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

Стационарный

  • Стационарность по тренду: тренд равен нулю
  • Дисперсия постоянна

Нестационарный

Модели ARIMA в Python

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

Стационарный

  • Стационарность по тренду: тренд равен нулю
  • Дисперсия постоянна
  • Автокорреляция постоянна

Нестационарный

Модели ARIMA в Python

Разбивка на обучающую и тестовую выборки

# Train data - all data up to the end of 2018
df_train = df.loc[:'2018']

# Test data - all data from 2019 onwards
df_test = df.loc['2019':]
Модели ARIMA в Python

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

Модели ARIMA в Python

Preparing Video For Download...