【发布时间】:2015-08-09 16:12:25
【问题描述】:
我有 3 个月时间序列的每日数据(每 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。 这样做的原因是,它是从滚动平均值计算出来的,所以它变得非常扭曲。
但问题是:有没有更好的解决方案来满足我的需求?
【问题讨论】:
-
对不起 :) 给你!!
-
现在看起来好多了。不过,我对 R 并不精通。只能建议您等待,同时熟悉 SO。 stackoverflow.com/tour
-
做了一点修改。如果你附上一张图表的图片(过滤前后),答案会变得更加可读。
-
非常感谢。我对 R 和这个论坛还很陌生,所以我很感谢你的帮助 :) 但我担心,在获得 10 的声誉之前我不能发布任何图片!否则我以前会这样做!
-
现在你有 11 个了。)
标签: r time-series noise smoothing kalman-filter