1. 概述
1.1 背景
时间移动平均是一种常用的数据平滑方法,用于过滤掉数据的短期波动,突出数据的长期趋势。其实就是基于一定的时间窗口内的数据进行平均处理。例如:5日移动平均、10日移动平均、30日移动平均、3月移动平均等。
举个例子来说明,若时间窗口的大小为 3 个月,那么我们可以按照以下步骤计算3月移动平均。
假设第一个月到第五个月的销售额分别为: M1、M2、M3、M4、M5
第1个月的移动平均=(M1)1/1
第2个月的移动平均=(M1+M2)/2
第3个月的移动平均=(M1+M2+M3)/3
第4个月的移动平均=(M2+M3+M4)/3
第5个月的移动平均=(M3+M4+M5)/3
1.2 预期效果
黄色线条展示的是销售额随月份的波动,观察该线条可以发现波动幅度大,且有很多尖锐的陡峭部分。
为了更好的观察销售额趋势,我们可以采用3月移动平均方法处理,处理后的线条在下图显示为蓝色。
2. 操作步骤
2.1 添加数据
下载示例数据:超市销售数据.xlsx
创建一个分析主题,将下载的示例数据上传至主题。如下图所示:
2.2 处理数据
1)由于我们的初衷是想对月数据进行累加,所以可以在自助数据集中先进行「分组汇总」。将数据按月进行分组方便之后进行计算,且可以有效减少数据量。
2)由于在之后需要使用 earlier 函数进行行间计算(即上下行进行计算),有序号可以方便我们去判断哪行是上行,哪行是下行。
所以在这里我们添加一个序号列。
点击「新增汇总列」,对订单日期进行升序排名,如下图所示:
3)点击「保存并更新」,保存更改。
2.3 制作组件
1)选择图表类型为「折线图」,拖入「销售日期」字段。如下图所示:
2)计算三月移动平均,如下图所示:
公式 | 描述 | 函数帮助文档 |
---|---|---|
AVG_AGG(销售额) | 对销售额求平均 | |
[序号<=EARLIER(序号),序号>=EARLIER(序号-2)] | 作为过滤条件,过滤出前三个月对应的序号 | EARLIER-获取当前行的值 |
DEF_ADD(AVG_AGG(销售额), [],[序号<=EARLIER(序号),序号>=EARLIER(序号-2)]) | 根据过滤条件,过滤前三个月的销售额并求平均 | DEF_ADD |
3)将「三个月移动平均」拖入图表,如下图所示:
2.4 预期效果
详细请参见 1.2 节