7.8 使用滚动时间窗口
问题描述
计算一个时间序列数据针对某个滚动时间的统计量。
解决方案


讨论
滚动(有时候也称为移动)时间窗口的概念很简单,但刚接触它的时候理解起来可能会有点困难。假设我们对股票价格的观察值是以月为单位的。如果拥有一个确定月份数量的时间窗口,并且在所有的观察值中移动这个窗口,那么计算时间窗口中所有观察值的统计量是很有价值的。
例如,如果有一个宽度为3个月的时间窗口,要求滚动平均值,可以这样计算:
1.求1月、2月和3月的平均值。
2.求2月、3月和4月的平均值。
3.求3月、4月和5月的平均值。
4.依此类推。
也就是说,我们用一个宽度为3个月的时间窗口“走”过了所有的观察值,每走一步,都会计算这个窗口内所有观察值的平均值。
pandas的rolling可以通过window参数指定窗口的大小,同时还能很方便地计算一些常见的统计值,包括最大值(max())、平均值(mean())、计数(count())和滚动相关性(corr())。
滚动平均值常被用于对时间序列数据做平滑处理,因为使用整个时间窗口的平均值能削弱短期波动的影响。
延伸阅读
● pandas文档:滚动窗口(http://bit.ly/2HTIicA)
●《什么是移动平均或平滑技术》(http://bit.ly/2HRRHBn)



本书评论