我有一个15分钟的滑动窗口,并且可以在此窗口内的任何给定时间聚合此数据。由于内存限制,我无法增加窗口的大小。我仍然认为我应该能够在一天/一周内获得聚合(如基本上是频率计等的趋势项目)。
它不一定是非常准确的计数,只需要过滤掉前3-5位。
答案 0 :(得分:0)
我的建议是指数衰减的移动平均线。就像Unix负载平均值一样。 (有关说明,请参阅http://www.howtogeek.com/194642/understanding-the-load-average-on-linux-and-other-unix-like-systems/。)
你做的是选择一个常数0 < k < 1
,然后每5分钟更新一次,如下所示:
moving_average = k * average_over_last_5_min + (1-k) * moving_average
这将表现为过去5/k
分钟内的平均值。因此,如果您设置k = 1/(24.0 * 60.0 / 5.0) = 0.00347222222222222
,那么您将获得大致每日移动平均线。除以7,你得到大致每周移动平均值。
平均值并不准确,但应该能很好地确定最近发生的趋势。