你知道任何并行修改的移动平均算法吗?
我想快速计算移动平均线,但不使用顺序算法。我想使用并行算法,但我仍然没有找到解决方案。
我发现的最好的算法是用于测量计算机性能的顺序算法修改移动平均值:
new_avg = alfa(new_time, previous_time) * new_value + (1-alfa(new_time, previous_time)) * previous_avg
alfa(new_time, previous_time) = 1- exp(-(new_time - previous_time)/moving_period)
其他一些算法也不错,但我还没有找到并行算法。
这是一个很难的问题,我需要一些帮助。
考虑到我想要计数以随机时间顺序出现的事件 - 早期事件可能会晚于晚期事件 - 您可以假设在处理晚期事件(或超时)后早期事件可以被跳过/变得过时。不假设事件的顺序时间顺序,并且来自同一时间的事件将与同一时间发生。
我不想使用任何需要记住许多样本(尤其是所有样本)的算法,它应该只记住时间和以前的平均值,可能是一些附加值,而不是所有或相同的样本。考虑到算法可能会产生一些小错误,如果它的原因是一些性能提升,则不需要完美。
如果它会使用分片但不是必需的,那将是非常好的。