Интуитивное объяснение экспоненциального скользящего среднего

Простым языком что такое экспоненциальное скользящее среднее?

Понять логику основного алгоритма, используемого в градиентном спуске

Введение

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

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

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

Мотивация

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

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

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

Формула

Для понимания работы экспоненциального скользящего среднего рассмотрим его рекурсивное уравнение:

Exponential moving average formula
  • vₜ – временной ряд, который аппроксимирует заданную переменную. Индекс t соответствует отметке времени t. Так как эта формула рекурсивная, для начальной отметки времени t = 0 требуется значение v₀. На практике v₀ обычно принимается равным 0.
  • θ – наблюдение на текущей итерации.
  • β – гиперпараметр между 0 и 1, который определяет, как вес важности должен быть распределен между предыдущим средним значением vₜ-₁ и текущим наблюдением θ

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

Obtaining formula for the t-th timestamp

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

Exponential moving average for the t-th timestamp

Мы видим, что наиболее последнее наблюдение θ имеет вес 1, предпоследнее наблюдение – β, третье предпоследнее – β² и т. д. Так как 0 < β < 1, множитель βᵏ экспоненциально уменьшается с увеличением k, поэтому более старые наблюдения менее важны. Наконец, каждый суммарный член умножается на (1 – β).

На практике значение для β обычно выбирается близким к 0,9.

Weight distribution for different timestamps (β = 0.9)

Математическая интерпретация

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

Сделав подстановку β = 1 – x, мы можем переписать его в следующей форме:

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

Используя это уравнение, для выбранного значения β мы можем вычислить приблизительное количество временных меток t, необходимых для достижения значения весовых коэффициентов равного 1 / e ≈ 0.368. Это означает, что наблюдения, вычисленные в пределах последних t итераций, имеют весовой коэффициент, превышающий 1 / e, а более старые вычисленные за пределами последних t временных меток имеют веса ниже 1 / e и значительно меньшую значимость.

На практике веса ниже 1 / e оказывают незначительное влияние на экспоненциальное сглаженное среднее. Именно поэтому говорят, что для заданного значения β экспоненциальное сглаженное среднее учитывает последние t = 1 / (1 – β) наблюдений.

Чтобы лучше понять формулу, давайте подставим различные значения для β:

Например, если взять β = 0.9, это означает, что приблизительно через t = 10 итераций вес уменьшится до 1 / e по сравнению с весом текущего наблюдения. Другими словами, экспоненциальное сглаженное среднее в основном зависит только от последних t = 10 наблюдений.

Исправление смещения

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

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

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

Гораздо более гибким решением является использование методики, называемой “коррекция смещения”. Вместо простого использования вычисленных значений vₖ, они делятся на (1 —βᵏ). Полагая, что β выбран близким к 0.9-1, это выражение стремится к 0 для первых итераций, когда k маленький. Таким образом, вместо медленного накопления первых нескольких значений, где v₀ = 0, они теперь делятся на относительно малое число, масштабируя их в большие значения.

Пример вычисления экспоненциального скользящего среднего с использованием и без использования коррекции смещения

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

Заключение

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

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

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