Реализация двойного экспоненциального сглаживания, также известного как двойная экспоненциальная скользящая средняя (DEMA)

Если у меня есть данные временного ряда - список пар {x, y} - и, чтобы сгладить его, я могу использовать экспоненциальную скользящую среднюю следующим образом:

EMA[data_, alpha_:.1] := 
  Transpose @ {#1, ExponentialMovingAverage[#2, alpha]}& @@ Transpose@data

Как бы вы реализовали двойное экспоненциальное сглаживание ?

DEMA[data_, alpha_, gamma_] := (* unstub me! *)

Если бы он сам определил хорошие значения для альфа и гаммы, это было бы очень хорошо.


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

Экспоненциальное скользящее среднее, выборка в разное время

6
задан Community 23 May 2017 в 11:53
поделиться