Openstack DevOps and IBM/Informix Certified DBA... · 21 мар 2022
Обычно этот вопрос звучит так - Как находить временные паттерны во временных рядах. Я могу адресовать именно 2-ую версию, а не то как собственно вопрос поставлен.
==============================
"Декомпозиция временных рядов" ( Time Series Decomposition in Python )— это метод, который разбивает временной ряд на несколько компонентов, каждый из которых представляет базовую категорию модели, тренд, сезонность и шум. Далее будет показано, как автоматически разложить временной ряд с помощью Python.
Для начала давайте немного поговорим о компонентах временного ряда:
Сезонность (season) : описывает периодический сигнал в вашем временном ряду.
Тенденция(trend): описывает, является ли временной ряд убывающим, постоянным или увеличивающимся с течением времени.
Шум: описывает то, что остается за выделением сезонности и тренда из временного ряда. Другими словами, это изменчивость данных, которую модель не может объяснить.
Для этого примера мы будем использовать данные из "Air Passengers Data from Kaggle."
В Season_decompose мы должны установить модель. Мы можем установить модель как аддитивную или мультипликативную. Эмпирическое правило для выбора правильной модели заключается в том, чтобы увидеть на нашем графике, являются ли тренд и сезонные изменения относительно постоянными во времени, другими словами, линейными. Если да, то мы выберем аддитивную модель. В противном случае, если тенденция (trend) и сезонные колебания (season) увеличиваются или уменьшаются со временем, мы используем мультипликативную модель.
Обратите внимание: наш индекс здесь имеет месячную периодичность. Если x не имеет частоты, нам нужно установить период. Мы можем получить каждый компонент следующим образом:
Часто при просмотре данных временных рядов сложно вручную выделить тренд или определить сезонность. К счастью, мы можем автоматически разложить временной ряд и получить более четкое представление о компонентах, поскольку анализ тренда проще, если мы удалим сезонность из наших данных, и наоборот.
Если стоит чисто практическая цель такого анализа с построением прогноза, то я бы прибег к методу prophet: Automatic Forecasting Procedure от фейсбука https://github.com/facebook/prophet
А сама по себе с точки зрения теории... Читать далее