我有一个连续值,我想计算一个指数移动平均线。通常我会为此使用标准公式:
- S n = αY + (1-α)S n-1
其中 S n是新的平均值,α 是 alpha,Y 是样本,S n-1是之前的平均值。
不幸的是,由于各种问题,我没有一致的采样时间。我可能知道我最多可以采样一次,例如每毫秒一次,但由于我无法控制的因素,我可能无法一次采样几毫秒。然而,一个可能更常见的情况是,我稍微早一点或晚一点地进行简单采样:而不是在 0、1 和 2 毫秒进行采样。我在 0、0.9 和 2.1 ms 采样。我确实预计,无论延迟如何,我的采样频率都会远远高于奈奎斯特极限,因此我不必担心混叠。
我认为我可以根据自上次采样以来的时间长度,通过适当地改变 alpha 以或多或少合理的方式处理这个问题。
我认为这会起作用的部分原因是 EMA 在前一个数据点和当前数据点之间“线性插值”。如果我们考虑以间隔 t 计算以下样本列表的 EMA:[0,1,2,3,4]。如果我们使用区间 2t,我们应该得到相同的结果,其中输入变为 [0,2,4],对吧?如果 EMA 假设,在 t 2时,该值自 t 0以来一直为 2 ,那将与在 [0,2,2,4,4] 上计算的间隔 t 计算相同,但它没有这样做。或者这完全有意义吗?
有人可以告诉我如何适当地改变 alpha 吗?“请展示你的作品。” 即,向我展示证明您的方法确实在做正确的事情的数学。