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

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

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

Пример: температура θt по дням, вычислить скользящие средние.

Математическое обозначение «подстрочный индекс», «надстрочный индекс»

Vt: скользящее среднее значение в день «t».

Vsub00 = 0
Vsub1 = 0.9Vsub0 + 0.1θsub1
Vsub1 = 0.9Vsub1 + 0.1θsub2
..
Vt = 0.9Vt − 1 + 0.1θt

if β = 0.9
Vt=βVt−1+(1−β)θt

Что значит и что значит

Vt: усреднение за 1/1 − β дней (приблизительно)

Например, , Для β = 0,9, 1/1-β ~ = 10;
β = 0,9 в среднем за 10 дней (плавная кривая: красная линия)

Для β = 0,98, ~ = 50;
β = 0,98 в среднем за 50 дней (более плавная кривая: зеленая линия) - не очень точное представление

Для β = 0,5, ~ = 2;
β = 0,5 в среднем за 2 дня (изменения: желтая линия) - намного шумнее

Правильное значение - β, рассчитанное с помощью настройки гиперпараметров.

В обратном направлении от V100,
Vsub100 = 0,1θsub100 + 0,9Vsub99
Vsub99 = 0,1θsub99 + 0,9Vsub98
Подставляя Vsub99,
Vsub100 = 0,1θsub100 + 0,9 (0,1θsub99 + 0,9Vsub98 )
или Vsub100 = 0,1θsub100 + 0,9 (0,1θsub99 + 0,9 (0,1θsub98 + 0,9Vsub97))

Обобщая,
Vsub100 = 0,1θsub100 + 0,1 ∗ 0,9 ∗ θsub99 + 0,1 ∗ (0,9) ²θsub98 + 0,1 ∗ (0,9) ³θsub97 + 0,1 ∗ (0,9) ⁴θsub96 +… ..

Vsub100 - это, по сути, поэлементное вычисление двух показателей / функций: одна - функция экспоненциального затухания, содержащая убывающие значения (0,9, 0,9²², 0.⁹³, ……, а другая - со всеми элементами θt.

Применение экспоненциально взвешенного среднего

Vsubθ: v вычисляет экспоненциально взвешенное среднее значение параметра θ.

день 0: Vsubθ = 0 день 1: Vsubθ = βv + (1 − β) θsub1
день 2: Vsubθ = βv + (1 − β) θsub2

Алгоритмы: Vsubθ = 0 Повтор: {

Получить следующий θt

Vθ: = βVsubθ + (1 − β) θt

}

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

Коррекция смещения в экспоненциально взвешенной скользящей средней

Повышение точности EWMA - поскольку кривая начинается с 0, в первые дни не так много значений для усреднения. Таким образом, кривая сначала оказывается ниже правильного значения, а затем движется в соответствии с ожидаемыми значениями.

Рисунок: Идеальная кривая должна быть ЗЕЛЕНОЙ, но она начинается с ФИОЛЕТОВОЙ кривой, поскольку изначально значения равны нулю.

Пример: Начиная с t = 0 и двигаясь вперед,
Vsub0 = 0Vsub1 = 0,98Vsub 0 + 0,02θsub1 = 0,020θsub1
Vsub2 = 0,98Vsub1 + 0,02θsub2 = 0,0196θsub1 + 0,02θsub2

Начальные значения Vt будут очень низкими, что необходимо компенсировать.
Сделайте Vt = Vt / 1 − βsupt
для t = 2, 1 − βsupt = 1−0.9⁸² = 0,0396 (коэффициент коррекции смещения)

Vsub2 = V2 / 0,0396 = 0,0196θsub1 + 0,02θsub2 / 0,0396

Когда t велико, 1/1-βsupt = 1, следовательно, поправочный коэффициент смещения не влияет, когда t достаточно велико.

Кредиты:

Эндрю Нг