Как детрендировать данные (с примерами)

Как детрендировать данные (с примерами)

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

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

Удаление тренда данных временного ряда

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

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

Пример данных временного ряда с удалением тренда

Существует два распространенных метода, используемых для удаления тренда данных временных рядов:

1. Удаление тренда путем дифференцирования

2. Удаление тренда путем подбора модели

В этом руководстве дается краткое объяснение каждого метода.

Метод 1: удаление тренда путем дифференцирования

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

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

Чтобы получить первое значение данных временного ряда без тренда, мы вычисляем 13 – 8 = 5. Затем, чтобы получить следующее значение, мы вычисляем 18-13 = 5 и так далее.

Удаление тренда данных временных рядов путем разности

На следующем графике показаны данные исходного временного ряда:

Удаление тренда данных временного ряда

И этот график показывает данные без тренда:

Пример данных временного ряда с удалением тренда

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

Метод 2: удаление тренда с помощью подбора модели

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

Например, предположим, что у нас есть один и тот же набор данных:

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

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

Удаление тренда путем подгонки модели

Если мы создадим график данных без тренда, мы сможем гораздо проще визуализировать сезонный или циклический тренд в данных:

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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.