理解指数移动平均(ema)

浅谈 ema 中我给出了一个指数移动平均的自然解释,但还是不够自然,如果把 V n = ( 1 − β ) ∗ V n − 1 + β ∗ C V_n=(1-\beta)*V_{n-1}+\beta*C Vn=(1β)Vn1+βC 变个形式:

V n = V n − 1 + β ∗ ( C − V n − 1 ) V_n=V_{n-1}+\beta*(C-V_{n-1}) Vn=Vn1+β(CVn1)

其中 C - Vn-1 可理解为误差,这是个典型纠错式,在估值 Vn-1 的基础上加上误差。采样值 C 本身就有噪声,这误差是个估计误差,乘以系数 beta 可抗噪。

如果当前采样 C 是个噪点,系数 beta < 1 将它的影响压缩,如果 C 正常采样,beta 将延后 V 收敛到均值,因此 beta 越小,抗噪能力越强,滞后性越大。

直观上,如果 C 无噪声,需要 1 / beta 的时间能收敛到均值。将迭代式展开后,n 趋向无穷大时,所有 n 个采样的综合影响力为:

β + β ∗ ( 1 − β ) 1 + β ( 1 − β ) 2 + . . . = β ∗ ( 1 + ( 1 − β ) 1 + ( 1 − β ) 2 + . . . ) = β ∗ 1 β = 1 \beta+\beta*(1-\beta)^1+\beta(1-\beta)^2+...=\beta*(1+(1-\beta)^1+(1-\beta)^2+...)=\beta*\dfrac{1}{\beta}=1 β+β(1β)1+β(1β)2+...=β(1+(1β)1+(1β)2+...)=ββ1=1

一切归一,收敛结束后,正好 1 / beta 次 beta 倍误差缩放。

这还可作为设置 beta 的指导。全部权重中,第 n 项后的所有权重之和为:

β ∗ ( ( 1 − β ) n + ( 1 − β ) n + 1 + . . . ) = β ∗ ( 1 − β ) n ( 1 + ( 1 − β ) + ( 1 − β ) 2 + . . . ) = ( 1 − β ) n \beta*((1-\beta)^n+(1-\beta)^{n+1}+...)=\beta*(1-\beta)^n(1+(1-\beta)+(1-\beta)^2+...)=(1-\beta)^n β((1β)n+(1β)n+1+...)=β(1β)n(1+(1β)+(1β)2+...)=(1β)n

如果只要保留 30% 的权重,只要 ( 1 − β ) n = 0.7 (1-\beta)^n=0.7 (1β)n=0.7 即可,因此 β = 1 − e ln ⁡ 0.7 n \beta=1-e^{\frac{\ln {0.7}}{n}} β=1enln0.7,剩下的就看影响周期了。

和普遍的 ema 式子的理解方式侧重于衰减不同,用缩放误差表示的式子展示了另一种校准的过程,因此在整个过程中,不光关注采样值,还可以调整误差缩放系数 beta 本身,比如,在 tcp(or 别的可靠传输协议) retrans 阶段,将 srtt 的 beta 调大以提高灵敏度。

浙江温州皮鞋湿,下雨进水不会胖。

你可能感兴趣的:(ema)