Информационное письмо
Образец оформления статьи
Анкета автора
06.03.2017

Декомпозиция данных временных рядов на тренды и сезонности

Демьянов Руслан Сергеевич
магистрант 2 курса, кафедра информатики, Санкт-Петербургский государственный экономический университет, г. Санкт-Петербург, Российская Федерация
Аннотация: В настоящее время количество информации растет с невероятной скоростью. Обработка таких данных с недавних пор начала приносить реальный результат. Поэтому, одним из приоритетных направлений, на сегодняшний день является машинное обучение. Именно оно помогает автоматизировать процесс построения модели обработки данных для коммерческого использования. Одной из важных составляющих обработки данных в машинном обучении является анализ данных. В данной статье рассмотрены методы декомпозиции временных рядов, которые позволят сделать оценку и увидеть скрытые закономерности, что в результате поможет может определить реализацию модели прогнозирования.
Ключевые слова: временные ряды, данные, тренды, сезонности
Электронная версия
Скачать (951.9 Kb)

Введение

Декомпозиция временных рядов подразумевает под собой серию данных, которая состоит из уровней, трендов, сезонности и различных шумов.

Разложение на составляющие предоставляет полезную абстрактную модель для размышлений о временных рядах в целом и для лучшего понимания проблемы в ходе анализа и прогнозирования.

Компоненты временных рядов

Обычно считается полезным сформировать обструкционную модель для выбора метода прогнозирования, которая будет разделена на систематично и не систематично повторяющиеся компоненты. [1]

  • Систематичные компоненты – это такие компоненты, которые имеют консистенцию или рекурентность и могут быть описаны и смоделированы.
  • Не систематичные компоненты – это компоненты, которые не могут быть смоделированы.

Установлено, что в рассматриваемых временных рядах обычно есть три систематичных компонента, такие как, уровни, тренды, сезонности и один не систематичный компонент – шум.

Эти компоненты определяются следующим образом:

  • Уровень – это среднее значение ряда.
  • Тренд – это повышение или понижение значения ряда.
  • Сезонность – это повторяющийся краткосрочный цикл в ряде.
  • Шум – это случайная вариация в ряде.

Объединение компонентов временного ряда

Ряд считается агрегированием или комбинацией этих четырех компонентов. У каждого ряда есть уровень и шум, а вот сезонность и тренды – это опциональные компоненты. Поэтому очень полезно думать о компонентах, как о аддитивном или мультипликативном соединении.

Аддитивная модель

Аддитивная модель предполагает, что компоненты соединены вместе следующим образом:

γ(t) =Уровни + Тренды + Сезонности + Шум 

Данная модель является линейной, где временные изменения последовательно меняются на ту же сумму. Сам же линейный тренд представляет из себя прямую линию. А линейная сезонность имеет одинаковую частоту (ширину цикла) и амплитуду (высоту цикла).

Мультипликативная модель

Мультипликативная модель предполагает, что компоненты перемножаются между собой следующим образом:

γ(t) = Уровни * Тренды * Сезонности * Шум

Такая модель носит нелинейных характер. Например, может быть квадратичной или экспоненциальной. Изменения увеличиваются или уменьшаются с течением времени. Тренды же имеют вид кривой, а сезонность, со временем уменьшает или увеличивает частоту и/или амплитуду.

Декомпозиция как инструмент

Сама абстракция очень полезна. Прямое назначение декомпозиции для временных рядов, как инструмента анализа, это использование при разработке модели прогнозирования, что обеспечивает структурированный способ мышления и позволяет максимально эффективно использовать каждый компонент в модели данных. [2]

Каждый из этих компонентов, это основные составляющие, при выделении которых, существенно повышается понимание проблемы прогнозирования.

Конечно, существует возможность, что модель не будет чисто аддитивной или мультипликативной. Реальные данные беспорядочные и зашумленные могут содержать как аддитивные, так и мультипликативные компоненты. Так же может встречается увеличение тренда после понижения и неповторяющиеся циклы, смешанные в повторяющихся компонентах сезонности.

Однако, эти абстрактные модели представляют из себя простую структуру, которую можно использовать для анализа проблемы прогнозирования.

Автоматическая декомпозиция временных рядов

Существует методы автоматической декомпозиции временных
рядов. [3]

Библиотека statsmodels предоставляет классический метод декомпозиции в функции seasonal_decompose(). Для того, чтобы воспользоваться данной функцией, требуется указать вид модели: аддитивная или мультипликативная. Результат функция выведет вне зависимости какую модель указать, именно поэтому необходимо достаточно аккуратно его интерпретировать. Обзор построенного графика временного ряда и суммарной статистики может быть хорошим стартом для понимания к какому виду модели относится конкретный пример.

Функция sesonal_decompose() возвращает объект в качестве результата. Сам объект содержит четыре массива данных.

В следующем примере кода (рисунок 1) показано как декомпозировать ряд на тренд, сезонность и остаточные компоненты используя аддитивную модель.

Рисунок 1 – Пример работы с библиотекой statsmodels

 Рисунок 1 – Пример работы с библиотекой statsmodels

Этот объект дает доступ к трендам и сезонностям как к массивам. Так же предоставляет доступ к данным, которые остались после извлечения основных компонентов. И наконец, оригинальные данные так же присутствуют и храниться отдельно.

Пример декомпозиции аддитивной модели

Для создания временного ряда с трендом, повышающимся линейно были использованы значения от 1 до 99 с добавлением случайных шумов, после чего данная модель была декомпозирована как аддитивная.

Временной ряд был создан искусственно и был представлен из массива чисел, необходимо указать частоту наблюдений (аргумент freq=1).

Рисунок 2 – Пример декомпозиции временного ряда

Рисунок 2 – Пример декомпозиции временного ряда

На рисунке 2 показано, что весь ряд был взят как тренд, а сезонность отсутствует. Так же отсутствует и остаточные данные после извлечения тренда. Это отличный пример того, что классическая декомпозиция не смогла отделить шум, который был добавлен к линейному тренду.

Таким образом установлено, что метод классической декомпозиции очень прост, и существует более продвинутые методы декомпозиции сезонности и трендов, например, STL декомпозиция (так же известная как Loess). [3]

Пример декомпозиции мультипликативной модели

Для реализации данной модели был взят квадрат шага по времени от 1 до 99, а затем декомпозировали как мультипликативную модель (рисунок 3). 

Рисунок 3 – Пример мультипликативной модели

Рисунок 3 – Пример мультипликативной модели

На данной модели так же тренд был легко извлечен и полностью характеризует весь временной ряд. В данном примере, квадратичный тренд может быть линейным, путем извлечения квадратного корня, а экспоненциальное развитие сезонности можно сделать линейным взяв натуральный логарифм.

Ранее установлено, что это важное представление декомпозиции, как потенциально полезный инструмент анализа, но нужно рассматривать множество различных путей применения к конкретной задаче прогнозирования, как например применения на данных после трансформации или на остаточных данных после декомпозиции.

Пример декомпозиции на реальных данных

В качестве рольного примера был выбран набор данных в котором описывается общее число пассажиров одной авиакомпании за период времени. За каждую единицу наблюдения была принята одна тысяча человек. Общее время наблюдения 144 месяца начиная с 1949 года по 1960 год.

Прежде всего, для начала анализа данных временных рядов был построен общий график данных (рисунок 4).

Рисунок 4 – Общий график зависимости количества пассажиров от времени
Рисунок 4 – Общий график зависимости количества пассажиров от времени

Рассмотрев данный график, можно согласится с тем, что тут присутствуют линейные тренды, но на глаз это увидеть не всегда возможно. Так же присутствует сезонность, и как можно заметить, амплитуда циклов растет. Согласно этим наблюдениям модель можно считать мультипликативной.

Именно поэтому была использованная декомпозиция на мультипликативной модели (рисунок 5). 

Рисунок 5 – Построение графиков декомпозиции данных

Рисунок 5 – Построение графиков декомпозиции данных

Как можно увидеть, информация о трендах и сезонности извлечена довольно точно, но и остаточные данные выглядят очень интересно, показывая периоды высокой изменчивости в начале и последние годы предоставленных данных наблюдения.

Выводы

Рассмотрен ряд прикладных инструментов, на основе которого, были декомпозированы реальные данные наблюдения числа пассажиров авиакомпании на протяжении одиннадцати лет.

Продемонстрированы составляющие, на которые можно декомпозировать временные ряды при анализе. Также предоставлены примеры работы автоматической декомпозиции для аддитивной и мультипликативной модели, описаны их свойства и особенности.

Установлено, что декомпозиция данных временных рядов является мощным инструментом анализа временных рядов при реализации модели прогнозирования. Рассмотренный метод позволяет структурировать данные и показать скрытые на первый взгляд особенности набора наблюдений.

Список литературы:

1. Шмойлова Р.А. Общая теория статистики: Учебник. // М.: Финансы и статистика, 2008. – С. 10 – 14.

2. Shasha, D. High Performance Discovery in Time Series // Springer – 2004. – С. 114 – 116.

3. Rob J Hyndman, George Athanasopoulos. Forecasting: principles and practice // University of Western Australia. ISBN-13: 978-0987507105 – 2013. – С. 52 – 57

4. Мишулина О.А. Статистический анализ и обработка временных рядов. // М.: МИФИ, 2004. – С. 180.

5. Fox, Emily B., et al. An HDP-HMM for systems with state persistence. // Proceedings of the 25th international conference on Machine learning. ACM – 2008. – С. 312 – 319.

6. Cowpertwait P.S.P., Metcalfe A.V. Introductory Time Series with R // Springer – 2009. – С. 45 – 66.

7. Shumway R.H., Stoffer, Time Series Analysis and its Applications// Springer – 2011. – С. 47 – 78.

8. Woodward, W.A., Gray, H. L. & Elliott, A. C. Applied Time Series Analysis // CRC Press. – 2012. – С. 197 – 230.

9. Klaus Greff; Rupesh Kumar Srivastava; Jan Koutník; Bas R. Steunebrink; Jürgen Schmidhuber. LSTM: A Search Space Odyssey. arXiv: 1503.04069 freely accessible. – 2015. / [Электронный ресурс] – Режим доступа. – URL: https://arxiv.org/pdf/1503.04069.pdf – С. 1 – 6.

10. Griewank, Andreas and Walther, A. Principles and Techniques of Algorithmic Differentiation, Second Edition. // SIAM, – 2008. – C. 31 – 59.

11. Jürgen Schmidhuber. Deep learning in neural networks: An overview. //Neural Networks 61 – 2015. – C. 85 – 117

12. Barnett, A.G.; Dobson, A.J. Analysing Seasonal Health Data. // Springer. ISBN 978-3-642-10747-4. – 2010. – С. 1 – 6.

13. Lin, Jessica; Keogh, Eamonn; Lonardi, Stefano; Chiu, Bill. "A symbolic representation of time series, with implications for streaming algorithms". // Proceedings of the 8th ACM SIGMOD workshop on Research issues in data mining and knowledge discovery. New York: ACM Press. doi:10.1145/882082.882086 – 2003. – C. 1 – 10.

14. Boashash, B. (ed.), Time-Frequency Signal Analysis and Processing: A Comprehensive Reference // Elsevier Science, Oxford, 2003 ISBN ISBN 0-08-044335-4 – 2003. – С. 521 – 546.