Python中如何解析这个函数的原理?

在 stackoverflow 里找到一个 numpy 版指数移动平均的函数,但实在看不懂,还有当 window 少于等于 7 时不能得到正确的结果。
def numpy_ewma_vectorized_v2(data, window):
alpha = 2 /(window + 1.0)
alpha_rev = 1-alpha
n = data.shape[0]
pows = alpha_rev**(np.arange(n+1))
scale_arr = 1/pows[:-1]
offset = data[0]pows[1:]
pw0 = alpha
alpha_rev**(n-1)
mult = datapw0scale_arr
cumsums = mult.cumsum()
out = offset + cumsums*scale_arr[::-1]
return out
Python中如何解析这个函数的原理?


4 回复

代码这么乱, 没有看下去的欲望。。


我无法理解你的问题。

类似这种问题,应该先看数学原理。而不是上来看代码,看到懵逼。

回到顶部