У меня есть временной ряд ежедневных данных за 3 месяца (данные записываются каждые 5 минут). Данные довольно зашумлены.
Я уже пробовал некоторые методы MA. Они работают нормально, и результирующая кривая довольно гладкая, но проблема в том, что пики почти сглажены.
Итак, мой вопрос:
Есть ли способ избавиться от всего этого шума на графике, но сохранить пиковые значения?
Я также кое-что читал о Kalman-Filtering, но я не уверен, как это работает и подходит ли это для моей проблемы.
Я попробовал следующий код:
smooth <- rollapply(PCM4 [,3], width=10, FUN=mean, align = "center", fill=NA)
Я также попробовал несколько разных входных значений ширины окна, что сделало результирующие данные более сглаженными, но также уменьшило пиковые значения, чего я не хочу.
набор данных:
DateTime h v Q T
2014-12-18 11:45:00 0.112 0.515 17.141 15.4
2014-12-18 11:50:00 0.113 0.511 17.007 15.5
2014-12-18 11:55:00 0.114 0.518 17.480 15.5
несглаженный сюжет:
сглаженный участок (ширина=10):
Как видите, второй график сильно искажен, а первый пик, например. составляет около 250 л/с вместо 500 л/с. Причина этого в том, что он вычисляется из скользящего среднего, поэтому он сильно искажается.
Но вопрос в том, есть ли лучшее решение для моих нужд?