Что такое сглаживание временного ряда

Методы анализа временных рядов: сглаживание

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

Оглавление

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

Ряды являются распространенной и важной формой описания данных, так как позволяют наблюдать всю историю изменения интересующего нас значения. Это даёт нам возможность судить о «типичном» поведении величины и об отклонениях от такого поведения.

Передо мной встала задача выбрать набор данных, на котором можно было бы наглядно продемонстрировать особенности временных рядов. Я решил воспользоваться статистикой пассажиропотока на международных авиалиниях, поскольку этот набор данных весьма нагляден и стал своего рода стандартным (http://robjhyndman.com/tsdldata/data/airpass.dat, источник Time Series Data Library, R. J. Hyndman). Ряд описывает количество пассажиров международных авиалиний в месяц (в тысячах) за период с 1949 по 1960 года.

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

Первое, что мы обычно делаем с временным рядом, это отображаем его на графике. Prognoz Platform позволяет построить график, просто «перетащив» ряд в рабочую книгу.

Временной ряд на графике

Символ ‘M’ в конце имени ряда означает, что ряд имеет месячную динамику (интервал между наблюдениями равен одному месяцу).

Уже из графика мы видим, что ряд демонстрирует две особенности:

Наш ряд достаточно «аккуратный», однако часто встречаются ряды, которые помимо двух описанных выше характеристик демонстрируют ещё одну – наличие «шума», т.е. случайных вариаций в той или иной форме. Пример такого ряда можно увидеть на графике ниже. Это синусоидальный сигнал, смешанный со случайной величиной.

Временной ряд с шумом

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

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

Скользящее среднее

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

Ниже можно увидеть результат применения данного алгоритма к двум нашим рядам. По умолчанию предлагаем использовать сглаживание с размером окна в 5 точек (k в нашей формуле выше будет равно 2). Обратите внимание, что сглаженный сигнал уже не так подвержен влиянию шума, однако вместе с шумом, естественно, пропадает и часть полезной информации о динамике ряда. Также видно, что у сглаженного ряда отсутствуют первые (и также последние) k точек. Это связано с тем, что сглаживание выполняется для центральной точки окна (в нашем случае для третьей точки), после чего окно сдвигается на одну точку, и вычисления повторяются. Для второго, случайного ряда, я использовал сглаживание с окном равным 30, чтобы лучше выявить структуру ряда, так как ряд «высокочастотный», точек очень много.

Метод скользящего среднего

Метод скользящего среднего имеет определённые недостатки:

Экспоненциальное сглаживание

Более продвинутый метод сглаживания, который также можно использовать для прогнозирования – экспоненциальное сглаживание, также иногда называемое методом Хольта-Уинтерса (Holt-Winters) в честь имён его создателей.

Существует насколько вариантов данного метода:

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

В простейшем варианте одинарного сглаживания соотношение такое:

Параметр α определяет соотношение между несглаженным значением на текущем шаге и сглаженным значением с предыдущего шага. При α=1 мы будем брать только точки исходного ряда, т.е. никакого сглаживания не будет. При α=0 ряд мы будем брать только сглаженные значения с предыдущих шагов, т.е. ряд превратится в константу.

Чтобы понять, почему сглаживание называется экспоненциальным, нам нужно раскрыть соотношение рекурсивно:

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

Однако, если в данных есть тренд, простое сглаживание будет «отставать» от него (либо придётся брать значения α близкими к 1, но тогда сглаживание будет недостаточным). Нужно использовать двойное экспоненциальное сглаживание.

Двойное сглаживание использует уже два уравнения – одно уравнение оценивает тренд как разницу между текущим и предыдущим сглаженным значениями, потом сглаживает тренд простым сглаживанием. Второе уравнение выполняет сглаживание как в случае простого варианта, но во втором слагаемом используется сумма предыдущего сглаженного значения и тренда.

Тройное сглаживание включает ещё один компонент – сезонность, и использует ещё одно уравнение. При этом различаются два варианта сезонного компонента – аддитивный и мультипликативный. В первом случае амплитуда сезонного компонента постоянна и со временем не зависит от базовой амплитуды ряда. Во втором случае амплитуда меняется вместе с изменением базовой амплитуды ряда. Это как раз наш случай, как видно из графика. С ростом ряда амплитуда сезонных колебаний увеличивается.

Читайте также:  Что такое накручивать себя

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

Источник

Сглаживание временных рядов.

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

Сглаживание временных рядов проводится по следующим причинам:

Существующие методы сглаживания делят на две группы:

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

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

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

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

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

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

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

При нечетном m значение параметра значение параметра p вычисляют следующим образом:

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

Первым сглаженным будет наблюдение , где t=p+1.

3. Интервал сглаживания сдвигается на один член вправо и по формуле находится сглаженное значение для t+1 наблюдения. Затем снова производят сдвиг и т.д.

Процедура продолжается до тех пор, пока в интервал сглаживания не войдет последнее наблюдение временного ряда.

Недостатком метода является невключение в процедуру сглаживания первых и последних p наблюдений временного ряда.

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

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

Пример: если объем продаж товара Х составил (штук):

то прогноз продаж на июль (для 5-ти месячного периода) составит:

(85 + 80 + 92 + 88 + 96) / 5 = 88,2.

Если реальный объем продаж на июль составил 94 штуки, то прогноз продаж на август уже будет равен:

(80 + 92 + 88 + 96 + 94) / 5 = 90

В случае с 5-ти месячной средней старые значения имеют удельный вес 4/5, а текущие – 1/5. В случае с 3-х месячной средней старые значения “весят” 2/3, а текущие – 1/3, т.е. скользящая средняя уже в большей степени зависит от текущего уровня и несколько слабее – от предшествующего.

Источник

Методы анализа временных рядов: сглаживание

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

Ряды являются распространенной и важной формой описания данных, так как позволяют наблюдать всю историю изменения интересующего нас значения. Это даёт нам возможность судить о «типичном» поведении величины и об отклонениях от такого поведения.

Передо мной встала задача выбрать набор данных, на котором можно было бы наглядно продемонстрировать особенности временных рядов. Я решил воспользоваться статистикой пассажиропотока на международных авиалиниях, поскольку этот набор данных весьма нагляден и стал своего рода стандартным (http://robjhyndman.com/tsdldata/data/airpass.dat, источник Time Series Data Library, R. J. Hyndman). Ряд описывает количество пассажиров международных авиалиний в месяц (в тысячах) за период с 1949 по 1960 года.

Читайте также:  Что такое генная инженерия в медицине

Поскольку у меня всегда под рукой Prognoz Platform, в которой есть интересный инструмент «Анализ временных рядов» для работы с рядами, я воспользуюсь именно им.

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

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

Рис.1 Временной ряд

Первое, что мы обычно делаем с временным рядом, это отображаем его на графике. Prognoz Platform позволяет построить график, просто «перетащив» ряд в рабочую книгу.

Рис.2 Временной ряд на графике

Символ ‘M’ в конце имени ряда означает, что ряд имеет месячную динамику (интервал между наблюдениями равен одному месяцу).

Уже из графика мы видим, что ряд демонстрирует две особенности:

Наш ряд достаточно «аккуратный», однако часто встречаются ряды, которые помимо двух описанных выше характеристик демонстрируют ещё одну – наличие «шума», т.е. случайных вариаций в той или иной форме. Пример такого ряда можно увидеть на графике ниже. Это синусоидальный сигнал, смешанный со случайной величиной.

Рис.3 Временной ряд с шумом

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

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

Скользящее среднее

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

где xi – исходный ряд, si – сглаженный ряд.

Ниже можно увидеть результат применения данного алгоритма к двум нашим рядам. Prognoz Platform по умолчанию предлагает использовать сглаживание с размером окна в 5 точек (k в нашей формуле выше будет равно 2). Обратите внимание, что сглаженный сигнал уже не так подвержен влиянию шума, однако вместе с шумом, естественно, пропадает и часть полезной информации о динамике ряда. Также видно, что у сглаженного ряда отсутствуют первые (и также последние) k точек. Это связано с тем, что сглаживание выполняется для центральной точки окна (в нашем случае для третьей точки), после чего окно сдвигается на одну точку, и вычисления повторяются. Для второго, случайного ряда, я использовал сглаживание с окном равным 30, чтобы лучше выявить структуру ряда, так как ряд «высокочастотный», точек очень много.

Рис.4 Сглаживание временного ряда с размером окна в 5 точек Рис.5 Метод скользящего среднего

Метод скользящего среднего имеет определённые недостатки:

Экспоненциальное сглаживание

Более продвинутый метод сглаживания, который также можно использовать для прогнозирования – экспоненциальное сглаживание, также иногда называемое методом Хольта-Уинтерса (Holt-Winters) в честь имён его создателей.

Существует насколько вариантов данного метода:

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

В простейшем варианте одинарного сглаживания соотношение такое:

Параметр α определяет соотношение между несглаженным значением на текущем шаге и сглаженным значением с предыдущего шага. При α=1 мы будем брать только точки исходного ряда, т.е. никакого сглаживания не будет. При α=0 ряд мы будем брать только сглаженные значения с предыдущих шагов, т.е. ряд превратится в константу.

Чтобы понять, почему сглаживание называется экспоненциальным, нам нужно раскрыть соотношение рекурсивно:

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

Однако, если в данных есть тренд, простое сглаживание будет «отставать» от него (либо придётся брать значения α близкими к 1, но тогда сглаживание будет недостаточным). Нужно использовать двойное экспоненциальное сглаживание.

Двойное сглаживание использует уже два уравнения – одно уравнение оценивает тренд как разницу между текущим и предыдущим сглаженным значениями, потом сглаживает тренд простым сглаживанием. Второе уравнение выполняет сглаживание как в случае простого варианта, но во втором слагаемом используется сумма предыдущего сглаженного значения и тренда.

Тройное сглаживание включает ещё один компонент – сезонность, и использует ещё одно уравнение. При этом различаются два варианта сезонного компонента – аддитивный и мультипликативный. В первом случае амплитуда сезонного компонента постоянна и со временем не зависит от базовой амплитуды ряда. Во втором случае амплитуда меняется вместе с изменением базовой амплитуды ряда. Это как раз наш случай, как видно из графика. С ростом ряда амплитуда сезонных колебаний увеличивается.

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

Читайте также:  Что такое орографические осадки

Рис.6 Параметры сезонности временного ряда

Как я вычислил период, мы рассмотрим в следующей статье о временных рядах.

Обычно в качестве первых приближений можно рассматривать значения между 0,2 и 0,4. Prognoz Platform также использует модель с дополнительным параметром ɸ, который дэмпфирует тренд так, что он приближается к константе в будущем. Для ɸ я взял значение 1, что соответствует обычной модели.

Также я сделал прогноз значений ряда данным методом на последние 2 года. На рисунке ниже я пометил точку начала прогноза, проведя через неё черту. Как видно, исходный ряд и сглаженный весьма неплохо совпадают, в том числе и на периоде прогнозирования – неплохо для такого простого метода!

Рис.7 Прогноз значений временного ряда

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

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

Источник

Методы сглаживания временных рядов.

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

Методы сглаживания временных рядов делятся на две основные группы:

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

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

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

Самым простым методом механического сглаживания является метод простой скользящей средней.

2.4.1. Метод простой скользящей средней.

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

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

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

где (при нечетном ); для четных формула усложняется.

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

2.4.2. Метод взвешенной скользящей средней.

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

Используется формула средней арифметической взвешенной:

,

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

1. для полиномов второго и третьего порядков числовая последовательность весов при интервале сглаживания имеет вид: , а при имеет вид: ;

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

Распределение весов на протяжении интервала сглаживания, полученное на основе метода наименьших квадратов см. на диаграмме 1.

2.4.3. Метод экспоненциального сглаживания.

К той же группе методов относится метод экспоненциального сглаживания.

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

Если для исходного временного ряда

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

, (4)

где параметр сглаживания ; величина называется коэффициентом дисконтирования.

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

;

здесь величина, характеризующая начальные условия.

В практических задачах обработки экономических временных рядов рекомендуется выбирать величину параметра сглаживания в интервале от 0,1 до 0,3. Других точных рекомендаций для выбора оптимальной величины параметра нет. В отдельных случаях предлагается [1] определять величину исходя из длины сглаживаемого ряда:

.

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

.

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

Источник

Информационный сайт