Я до сих пор использовал эту формулу (на странице 10 в документе ниже), чтобы вычислить простое экспоненциальное скользящее среднее:
http://www.eckner.com/papers/Algorithms%20for%20Unevenly%20Spaced%20Time%20Series.pdf
time_interval = (сейчас - last_update) /tau
w = exp (-time_interval)
w2 = (1 - w) / time_interval
new_ema = old_ema * w + current_value * (1 - w2) + previous_value* (w2 - w)
(Преимущество этого метода заключается в том, что, если временной интервал очень большой, предполагается, что значение изменяется линейно от предыдущего_значения до текущего_значения.)
Если бы ярасширить этот метод до двойного экспоненциального сглаживания, как мне это сделать?
Стандартный двойной EMA:
dema_new = dema_old * alpha + (current_value + previous_trend) * (1-alpha)
current_trend = old_trend * beta + (dema_new - dema_old) * (1-beta)