历史版本3 :求移动平均 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

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)计算三月移动平均,如下图所示:

33.png

第一行公式:求前三个月的总销售额。

第一行公式分解描述函数帮助文档
SUM_AGG(销售额)对销售额求和SUM_AGG
DEF_ADD(SUM_AGG(销售额),[])将数据按当前维度分组,再对分组后的销售额求和DEF_ADD
DEF_ADD(SUM_AGG(销售额),[],[序号<=EARLIER(序号),序号>=EARLIER(序号-2)])

对序号进行过滤,过滤出前三个月对应的序号

获得结果即为对前三个月销售额进行求和

EARLIER-获取当前行的值

第二行公式:求有多少个月。由于不是所有月份都有前三个月(比如说第一个月和第二个月),所以不能直接除以3。我们可以用函数获取[序号<=EARLIER(序号),序号>=EARLIER(序号-2)]此范围内有多少个月。

第二行公式分解
描述函数帮助文档
DEF_ADD(COUNTD_AGG(序号),[])对序号去重计数,求有多少个月DEF_ADD
DEF_ADD(COUNTD_AGG(序号),[],[序号<=EARLIER(序号),序号>=EARLIER(序号-2)])获得在这个过滤范围内有多少个序号,即过滤范围内有多少个月EARLIER-获取当前行的值

两行公式相除,可以获得月平均值。

3)将「三个月移动平均」拖入图表,如下图所示:

35.png

2.4 预期效果

详细请参见 1.2 节