移动平均线是否保留二进制系统中总和/计数商的分辨率?

Does a moving average preserve resolution over sum / count quotient in a binary system?

求一组数字的平均值有多种方法。

首先,总和/计数商。将所有值相加并除以值的数量。

二、均线。我在另一个 Stack 答案中找到的函数是:

New average = old average * (n-1)/n + new value /n

只要每次将每个值加到平均值上,此方法就有效。

我担心的是第二种方法对我的处理器执行起来计算起来更复杂,但我也担心第一种方法会导致数据集的分辨率下降,从而导致大数额。例如,在 32 位系统中,存储的浮点值的分辨率会随着数字大小的增加而自动降低。

移动平均线是否保持分辨率?

"moving average" 不计算大区间的平均值。

它以这样的方式平滑数据,即较新的测量产生更大的影响,而较旧的测量权重越来越小。

如果您担心大数额并希望保留所有可能的数据 "bits",请考虑使用特殊方法,例如 Kahan summation 算法