我正在尝试使用pandas计算EWMA,但结果与我的预期不符。我认为第四个元素应该是13.179,但pandas给出的是13.121。我按照文档中指定的公式将衰减因子(a)转换为质心。我是否有什么误解?
In[222]: y
Out[222]:
0 NaN
1 NaN
2 13.192161
3 13.109292
4 12.623850
5 12.150520
Name: data, dtype: float64
In[223]: pd.ewma(y, com = 1.0 / a - 1)
Out[223]:
0 NaN
1 NaN
2 13.192161
3 13.120667
4 12.701206
5 12.237839
dtype: float64
In[224]: a
Out[224]: 0.8408964152537145
In[225]: a * 13.192161 + (1 - a) * 13.109292
Out[225]: 13.17897624503566
yt = a*yt1 + (1-a)*xt
是正确的公式。我已经在github页面上留下了评论。 - unutbu