指數平滑演算法演算法
❶ 指數平滑法的具體應用
指數平滑法一般有一次指數平滑法、二次指數平滑法和三次指數平滑法。指數平滑法的預測模型為:
初始值的確定,即第一期的預測值。一般原數列的項數較多時(大於15項),可以選用第一期的觀察值或選用比第一期前一期的觀察值作為初始值。如果原數列的項數較少時(小於15項),可以選取最初幾期(一般為前三期)的平均數作為初始值。指數平滑方法的選用,一般可根據原數列散點圖呈現的趨勢來確定。如呈現直線趨勢,選用二次指數平滑法;如呈現拋物線趨勢,選用三次指數平滑法。或者,當時間序列的數據經二次指數平滑處理後,仍有曲率時,應用三次指數平滑法。 指數平滑法的計算中,關鍵是α的取值大小,但α的取值又容易受主觀影響,因此合理確定α的取值方法十分重要,一般來說,如果數據波動較大,α值應取大一些,可以增加近期數據對預測結果的影響。如果數據波動平穩,α值應取小一些。理論界一般認為有以下方法可供選擇:
經驗判斷法。這種方法主要依賴於時間序列的發展趨勢和預測者的經驗做出判斷。
1、當時間序列呈現較穩定的水平趨勢時,應選較小的α值,一般可在0.05~0.20之間取值;
2、當時間序列有波動,但長期趨勢變化不大時,可選稍大的α值,常在0.1~0.4之間取值;
3、當時間序列波動很大,長期趨勢變化幅度較大,呈現明顯且迅速的上升或下降趨勢時,宜選擇較大的α值,如可在0.6~0.8間選值,以使預測模型靈敏度高些,能迅速跟上數據的變化;
4、當時間序列數據是上升(或下降)的發展趨勢類型,α應取較大的值,在0.6~1之間。
試演算法。根據具體時間序列情況,參照經驗判斷法,來大致確定額定的取值范圍,然後取幾個α值進行試算,比較不同α值下的預測標准誤差,選取預測標准誤差最小的α。
在實際應用中預測者應結合對預測對象的變化規律做出定性判斷且計算預測誤差,並要考慮到預測靈敏度和預測精度是相互矛盾的,必須給予二者一定的考慮,採用折中的α值。 以某軟體公司A為例,給出2000-2005年的歷史銷售資料,將數據代入指數平滑模型,預測2006年的銷售額,作為銷售預算編制的基礎。
根據經驗判斷法,A公司2000-2005年銷售額時間序列波動很大,長期趨勢變化幅度較大,呈現明顯且迅速的上升趨勢,宜選擇較大的α值,可在0.5~0.8間選值,以使預測模型靈敏度高些,結合試演算法取0.5,0.6,0.8分別測試。經過第一次指數平滑後,數列散點圖呈現直線趨勢,故選用二次指數平滑法即可。
根據偏差平方的均值(MSE)最小,即各期實際值與預測值差的平方和除以總期數,以最小值來確定α的取值的標准,經測算當α=0.6時,MSE1=1445.4;當α=0.8時,MSE2=10783.7;當α=0.5時,MSE3=1906.1。因此選擇α=0.6來預測2006年4個季度的銷售額。
❷ 指數平均數基礎演算法
要計算變數X的N日指數平滑移動平均,可以使用EMA函數,其公式表述為:EMA(X, N) = [2*X + (N-1)*Y']/(N+1),其中Y'代表上一周期的EMA值。
直觀地理解,想像X是一個連續變化的序列,每天的值不同,用X1, X2, X3, ... Xn表示。例如:
- 當N=1時,EMA(X, 1)簡化為X1,即簡單算術平均。
- 當N=2時,EMA(X, 2)計算為(2/3)X2 + (1/3)X1,表示近兩天的平均值,近值權重更大。
- 對於N=3,EMA(X, 3)計算為(1/2)X3 + (1/3)X2 + (1/6)X1,權重逐漸向後遞減。
- 類似地,N=4時,為2/5*X4 + 3/10*X3 + 1/5*X2 + 1/10*X1,權重分配更偏向於近期值。
隨著N值增加,近期內的X值權重逐漸增大,這反映了EMA函數對近期數據的重視,使得它能更及時地反映X值的波動趨勢。
(2)指數平滑演算法演算法擴展閱讀
指數平均數(EXPMA),其構造原理是對股票收盤價進行算術平均,並根據計算結果來進行分析,用於判斷價格未來走勢的變動趨勢。