Спринт 17/24 → Тема 2/5: Анализ временных рядов → Урок 1/8

Введение

Разберём, что такое временные ряды и как их анализировать.

Чему вы научитесь

  • Познакомитесь с ресемплированием рядов.
  • Изучите тренды и сезонность рядов.
  • Узнаете, что такое стационарные ряды.

Сколько времени это займёт

8 уроков по 10-15 минут

Постановка задачи

Проанализируем данные о потреблении электроэнергии.

Спринт 17/24 → Тема 2/5: Анализ временных рядов → Урок 2/8
 
Кратко:
  • Временные ряды - это последовательности чисел на оси времени.
  • Примеры временных рядов: цена акций, объем продаж, количество игроков в онлайне.
  • Интервал между значениями ряда постоянный: день, час или 10 минут.
  • Пример работы с датами и временем в Pandas: данные американской энергетической компании PJM East.
  • Пример использования Pandas для анализа временных рядов: привести данные к удобному формату и построить график.

ВР.17/24.2/5.2/8.Задача 1

ВР.17/24.2/5.2/8.Задача 2

ВР.17/24.2/5.2/8.Задача 3

ВР.17/24.2/5.2/8.Задача 4

ВР.17/24.2/5.2/8.Задача 5

Спринт 17/24 → Тема 2/5: Анализ временных рядов → Урок 3/8

Кратко:
  • Ресемплирование - изменение интервала временного ряда.
  • Выбирают новую длину интервала, группируют значения.
  • В каждой группе вычисляется агрегированное значение ряда (медиана, среднее, максимум, минимум).
  • Функция resample() аналогична groupby().
  • После группировки можно вызвать функции mean() и max() для агрегации значений.

ВР.17/24.2/5.3/8.Задача 1

ВР.17/24.2/5.3/8.Задача 2

Спринт 17/24 → Тема 2/5: Анализ временных рядов → Урок 4/8

Кратко:
  • Скользящее среднее - метод сглаживания временных рядов.
  • Суть метода: поиск средних арифметических значений, менее подверженных колебаниям.
  • Размер окна (англ. window size) - интервал, в котором выполняется усреднение.
  • Чем больше интервал, тем сильнее сглаживание.
  • Окно "скользит" почти от начала ряда к его концу, вычисляя среднее значение в каждой точке.
  • В Pandas скользящее среднее вычисляется с помощью функций rolling() и mean().

ВР.17/24.2/5.4/8.Задача 1

Спринт 17/24 → Тема 2/5: Анализ временных рядов → Урок 5/8

Кратко:
  • Тренд - плавное изменение среднего значения ряда без повторяющихся закономерностей.
  • Сезонность - циклично повторяющиеся закономерности во временном ряде.
  • Тренды и сезонность зависят от масштаба данных.
  • Функция seasonal_decompose() раскладывает временной ряд на три составляющие: тренд, сезонность и остаток.
  • Сезонная составляющая - циклично повторяющиеся закономерности во временном ряде.

ВР.17/24.2/5.5/8.Задача 1

ВР.17/24.2/5.5/8.Задача 2

Спринт 17/24 → Тема 2/5: Анализ временных рядов → Урок 6/8

Кратко:
  • Стационарные ряды помогают прогнозировать данные.
  • Стохастический процесс - случайная величина с изменяющимся распределением.
  • Стационарный процесс - распределение не меняется со временем.
  • Нестационарный процесс - распределение меняется.
  • Стационарные ряды - ряды с неизменяющимися средним и стандартным отклонением.
  • Нестационарные ряды сложнее прогнозировать из-за быстрого изменения свойств.

Спринт 17/24 → Тема 2/5: Анализ временных рядов → Урок 7/8

Кратко:
  • Разности временного ряда - это набор разностей между соседними элементами временного ряда.
  • Метод shift() сдвигает все значения вдоль временной оси на один шаг вперёд.
  • При сдвиге последнего значения ряда, оно пропадает, поэтому нужно добавить аргумент для заполнения недостающих значений.
  • Разности временного ряда более стационарны, чем сам ряд, так как нелинейный тренд преобразуется в линейный.

ВР.17/24.2/5.7/8.Задача 1

Спринт 17/24 → Тема 2/5: Анализ временных рядов → Урок 8/8

Заключение

Теперь вы умеете:

  • Выполнять ресемплирование рядов;
  • Раскладывать ряд на тренд, сезонность и остаток;
  • Вычислять разности временных рядов.

Заберите с собой

Чтобы ничего не забыть, скачайте шпаргалку и конспект темы.

В следующей теме вы научитесь прогнозировать временные ряды.