У меня есть непрерывное значение, для которого я бы хотел рассчитать экспоненциальную скользящую среднюю . Обычно я просто использую стандартную формулу для этого:
- S n= & alpha; Y + (1- & alpha;) S n-1
где S n - это новое среднее значение & alpha; это альфа, Y - образец, а S n-1 - это предыдущее среднее значение.
К сожалению, из-за различных проблем у меня нет постоянного времени выборки. Я могу знать, что я могу опробовать максимум, скажем, один раз в миллисекунду, но из-за неконтролируемых мною факторов я не могу брать образец за несколько миллисекунд за раз. Скорее всего, более распространенный случай, однако, заключается в том, что я простой пример немного рано или поздно: вместо выборки в 0, 1 и 2 мс. Я выбираю значение 0, 0,9 и 2,1 мс. Я ожидаю, что, независимо от задержек, моя частота дискретизации будет далеко, намного выше предела Найквиста, и поэтому мне не нужно беспокоиться об псевдониме.
Я считаю, что я могу справиться с этим более или менее разумно, изменяя альфу соответствующим образом, исходя из времени, прошедшего с момента последнего образца.
Часть моих рассуждений о том, что это будет работать, заключается в том, что EMA "интерполирует линейно" между предыдущей точкой данных и текущей. Если мы рассмотрим вычисление EMA следующего списка выборок с интервалами t: [0,1,2,3,4]. Мы должны получить тот же результат, если использовать интервал 2t, где входные данные становятся [0,2,4], верно? Если бы EMA предположил, что при t 2 значение было равно 2, поскольку t 0, это будет то же самое, что и расчет интервала t, вычисляемый на [0,2, 2,4,4], чего он не делает. Или это имеет смысл вообще?
Может ли кто-нибудь сказать мне, как правильно изменить альфа? "Пожалуйста, покажи свою работу". I.e., покажите мне математику, которая доказывает, что ваш метод действительно поступает правильно.