移动平均与预测


工坊的小伙伴们大家好,又是活力满满的一天~

在大家的实际工作中计算均值一定很常用,有时需要计算移动平均,下面我们通过一个例子来直观地体验一下移动平均算法的作用。

例如,我们手中有每天对各客户的发货数据,如下:

file

构造发货量度量值如下:

发货量 =
SUM ( '发货量'[值] )

使用日期做为轴,以上度量值在图表中的表现如下:

file

曲线变化起伏比较大,不利于做预测分析。我们使用如下度量值对发货量做移动平均处理,这里我们针对每个日期计算过去60天的平均发货量,如下:

移动平均 =
IF (
    HASONEVALUE ( 'calendar'[Date] ), //如果当前筛选上下文存在确定的日期
    AVERAGEX (
        FILTER(
            ALL ( 'calendar'[Date]),//限制日期在过去60天内
            'calendar'[Date] <= VALUES( 'calendar'[Date] )
                && 'calendar'[Date]
                    >=VALUES ( 'calendar'[Date]) - 60
        ),
        CALCULATE( SUM ( '发货量'[值] ) )//针对过去60天每日发货数量做平均
    )
)

以上度量值针对每个日期做平均,但每个日期对应的客户发货量是做加法的,逻辑上符合业务需求。另外,还可以使用DATESBETWEEN时间智能函数改写此表达式,有兴趣的友友可以尝试进行改写。

我们先来看一下在图中的效果:

file

我们发现,经过移动平均处理之后,曲线变得相对平滑,不同日之间起伏波动较小。另外,有未发生的日期,该度量值进行了计算并返回了值,在此处我们给度量值添加一个条件:

IF([发货量]<> BLANK (),…)

添加此条件后,图形中的表现为:

file

下面我们利用移动平均的度量值进行预测,这里用到了Power BI的预测功能,预测功能目前在折线图中支持,且仅支持一条折线,如下,我们仅保留移动平均法计算出来的发货量:

file

在“分析”一栏找到“预测”选项:

file

点击添加,并输入预测长度,此处的预测长度即预测的天数,设置为“60”,图形结果为:

file

可以发现,图形呈现的预测结果相对宽泛,为了缩小预测范围即阴影部分面积,我们将置信区间调整为75%,如下:

file

阴影部分有所收窄,一般发货会存在规律或者周期,比如我们以30天为一个发货周期,那么在“预测”选项中只需要将“季节性”设置为30点即可,设置之后的结果如下:

file

此时,图形呈现的预测结果可信度已相对较高。实际应用中大家可以根据实际情况调整预测的参数设置。
以上,
再见~


如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”。


长按下方二维码关注“Power Pivot工坊”获取更多微软Power BI、PowerPivot相关文章、资讯,欢迎小伙伴儿们转发分享~

Power Pivot工坊