我有三个月的每日数据时间序列(数据每5分钟记录一次),数据非常嘈杂。我已经尝试了一些MA方法,它们效果不错,得到的曲线相当平滑,但问题是峰值几乎被平滑掉了。
所以我的问题是:
是否有任何方法可以消除图表中的所有噪音,但保留峰值?
我也阅读了一些关于卡尔曼滤波的内容,但我不确定它是如何工作的,以及它是否适用于我的问题。
我尝试了以下代码:
我也尝试了一些不同的窗口宽度输入值,这使得结果数据更加平滑,但同时也降低了峰值,这并不是我想要的。
数据集:
所以我的问题是:
是否有任何方法可以消除图表中的所有噪音,但保留峰值?
我也阅读了一些关于卡尔曼滤波的内容,但我不确定它是如何工作的,以及它是否适用于我的问题。
我尝试了以下代码:
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 L/s而不是500 L/s。造成这种情况的原因是它是由滚动均值计算出来的,因此它变得相当扭曲。
但问题是:有没有更好的解决方案来满足我的需求?