Если у меня есть данные временных рядов - список пар {x, y} - и я хочу его сгладить, я могу использовать экспоненциальную скользящую среднюю следующим образом:
EMA[data_, alpha_:.1] :=
Transpose @ {#1, ExponentialMovingAverage[#2, alpha]}& @@ Transpose@data
Как бы вы реализовали двойное экспоненциальное сглаживание?
DEMA[data_, alpha_, gamma_] := (* unstub me! *)
Если бы он сам определил хорошие значения для альфа и гаммы, это было бы очень хорошо.
Связанный с этим вопрос о том, как справиться со случаем, когда во временном ряду есть пробелы, т.е. выборки не распределены равномерно во времени:
Экспоненциальное скользящее среднее, выбранное в разное время