移動平均(MovingAverage),就是對前N期的歷史數據進行平均,消除時間序列中的不規則波動的影響,以便呈現出總體發展趨勢,並根據總體趨勢來進行未來的走向預測。

移動平均在數據分析中十分常用,本文就來介紹在PowerBI中如何進行移動平均分析。

實際銷售額折線圖

假設分析的數據為某公司的銷售額,先來看看每日銷售額的時間序列。在折現圖中展現,

每日銷售額呈現明顯的不規則波動,很難通過這些折現看出總體趨勢,所以需要對銷售額進行移動平均。

15天移動平均銷售額

假設進行15天的移動平均,寫度量值如下,

15天移動平均 =

AVERAGEX( DATESINPERIOD( 日期表[日期], MIN(日期表[日期]), -15, DAY ), [銷售金額]

)

該度量值利用之前介紹過的時間智能函數DATESINPERIOD,返回過去15天的日期,然後利用迭代函數AVERAGEX計算出過去15天的平均值。

將該度量值放入折線圖中,

通過15天均線,銷售額的趨勢變得平滑了很多,可以大致看出銷售額的周期性波動,並有上升的趨勢。

60天移動平均銷售額

如果把計算移動平均的天數再延長一些,比如計算60天的均線,依然可以利用上面的度量值公式,只是把DATESINPERIOD函數的第三個參數,-15改成-60就可以了,60天均線也放進來,

60天均線更加平滑,幾乎沒有波動,呈現出緩慢的上升趨勢。天數越長,平滑效果越好,但是也導致移動平均數據對實際數據越不敏感,所以並不是越平滑越好,移動平均天數不宜太長。

如果我們還想看30天的均線、45天的均線,難道都要分別寫一個度量值嗎,當然不用,在PowerBI中可以把天數參數化,製作一個動態的移動平均天數。

動態移動平均

在之前的文章中,也介紹過參數的用法(創建PowerBI「參數」輕鬆搞定動態分析),新建一個參數,

點擊確定以後,會自動生成一個度量值和切片器,為了更加清晰,把度量值名稱更改為[移動平均天數]。

然後用該度量值替換掉上面DAX表達式中的天數15,

動態移動平均 =

AVERAGEX( DATESINPERIOD( 日期表[日期], MIN(日期表[日期]), -[移動平均天數], DAY

),

[銷售金額])

把這個度量值放入折線圖中,根據切片器天數的選擇可以觀察不同天數的均線。

這樣動態的移動平均分析就做好了。

利用移動平均進行預測

進行移動平均分析的目的是為了預測未來。

如果不用移動平均數據,在原始每日銷售額折線圖的基礎上進行預測,預測線是這樣的,

預測的數據依然是劇烈不規則的波動,並且預測區間很大,這樣的預測結果並不能起到該有的決策支持作用。

如果我們按30天均線來進行預測,

預測的趨勢非常明確,並且區間也非常小,這樣預測才有實際借鑒意義。所以利用移動平均分析可以更有效的預測未來趨勢,前提是擁有大量且可靠的歷史數據。

利用移動平均進行預測也有缺陷,比如滯後性,當實際的趨勢發生反轉時,移動平均數據反應比較遲鈍,需要過一段時間才能反映出來。但是並不能因此就否定它的作用,這只是其中一個分析方式而已,需要結合其他的定量和定性分析,才能更好的把握未來趨勢,再說也沒有工具能準確預測未來。

微信公眾號PowerBI星球,回復「PowerBI」獲取145頁PowerBI入門指南,2019年,送你一個技能。

THE END

.


推薦閱讀:
相关文章