Этот алгоритм является одним из наиболее важных алгоритмов, используемых в настоящее время. От финансовых временных рядов и обработки сигналов до нейронных сетей он используется довольно широко. Как правило, любые данные, находящиеся в последовательности.
Этот алгоритм в основном использовался для уменьшения зашумленных данных временных рядов. Его также называют «сглаживанием» данных.
Мы достигаем этого, по сути, взвешивая количество наблюдений и используя их среднее значение. Это называется скользящей средней.
Пример: температура θ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 достаточно велико.
Кредиты:
Эндрю Нг