gpt4 book ai didi

java - 小铁杆: Do you know any parallel modified moving average algorithm?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:19:39 26 4
gpt4 key购买 nike

你知道任何并行修正移动平均算法吗?

我想快速计算移动平均线而不是 sequential algorithms .我想使用并行算法,但我仍然没有找到解决方案。

我发现最好的算法是顺序算法 modified moving average for measuring computer performance :

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)

其他一些算法也不错,但我还没有找到并行算法

这个问题很难,我需要一些帮助。

考虑,我想要计数将以随机时间顺序发生的事件 - 早期事件可以晚于晚期事件 - 你可以假设可以跳过早期事件/在处理延迟事件(或超时)后变得过时。 不假设事件的顺序时间顺序并且来自同一时间的事件将在同一时间发生


我不想使用需要记住许多样本(尤其是所有样本)的任何算法,它应该只记住时间和以前的平均值,也许还有一些额外的值,但不是所有或相同的样本。考虑到算法可能会产生一些小错误,如果它的原因是一些性能提升,则不需要是完美的。

如果它会使用分片但不是必需的,那将是非常好的。

最佳答案

事件按顺序到达的移动平均线可以这样完成:

newMovingAverage = ((MovingAverage * (n - 1)) + newSample) / n

其中 n 指示此样本对移动平均线的影响有多大(或多小)。 n越大,影响越小。随着时间的推移,随着新样本的到来,旧样本对移动平均线的影响越来越小。

随着样本乱序的出现,您可以尝试通过让样本的年龄决定它对移动平均线的影响程度来模仿这种行为。这可以例如这样做:

influence = (1 + sampleAge)^2 * n 
newMovingAverage = ((MovingAverage * (influence - 1)) + newSample) / influence

我让 sampleAge 决定 newSample 对移动平均线的影响程度。

关于java - 小铁杆: Do you know any parallel modified moving average algorithm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16426712/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com