Задать вопрос
@yggthris

Как рассчитать экспоненциальное скользящее среднее с учётом различных по длине временных интервалов?

я хочу рассчитать экспоненциальное скользящее среднее по следующей формуле
63e354685e04c245398516.png

но у меня нет всех данных, у меня есть только некоторые данные с большим разрывом во времени.

например timestamps=[43439, 43628, 43753, 43974, 44136] для data=[5, 4, 4, 5, 5]

я использовал стандартное значение для сглаживания - α = 2 / (n + 1)

но из-за неравных интервалов мне кажется, что это неправильно.

я читал про обработку неполных временных рядов - заполнение средним, интерполяция и так далее, но не знаю, стоит ли ими пользоваться - интервалы времени действительно очень большие, и данные зависят не только от времени.

я видел этот вопрос, но я не понимаю, как получить α аналогичным образом для моего случая
  • Вопрос задан
  • 176 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
Maksim_64
@Maksim_64
Data Analyst
Без заполнения отсутствующих данных решения нет и быть не может. Экспоненциальное скользящее среднее дает меньше и меньше веса для данных которые отдалены по времени и соответствено большие веса для последних дат (в пределах окна). То есть это всего лишь один из методов нахождение среднего с весами для каждой точки данных.

Вы собираетесь решать задачу где вы не можете сформировать окна по причине отсутствия данных, это бесполезно, вы должны заполнить эти данные.
я читал про обработку неполных временных рядов - заполнение средним, интерполяция и так далее, но не знаю, стоит ли ими пользоваться - интервалы времени действительно очень большие, и данные зависят не только от времени.
Вот здесь вы дело говорите. Неполные временные ряды заполняют, средними или медианным в зависимости от дистрибуции, иногда ближайшими значениями (в вашем случае слабо верится это имеет смысл), экстраполируют (тоже специфический кейс слабо верится это имеет смысл).

Все остальное вы верно делаете стандартный слаживающий фактор все так, затем он будет использован для подсчета каждого индивидуального веса w_i = (1 - alpha)^i для каждой ваше точки данных в пределах окна. Просто вы ищете математического решения там где его нет, это вопрос как правильно заполнить недостающие данные.
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
Вот подумалось что для того чтоб расчитать экспоненциальное скользящее среднее c gaps нужно все равно расчитать какое-то скользящее среднее.

Рекурсия получается.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы