? 在時間序列中,我們需要基于該時間序列當前已有的數(shù)據(jù)來預測其在之后的走勢,三次指數(shù)平滑(Triple/Three Order Exponential Smoothing,Holt-Winters)算法可以很好的進行時間序列的預測。
? 時間序列數(shù)據(jù)一般有以下幾種特點:1.趨勢(Trend) ?2. 季節(jié)性(Seasonality)。
? 趨勢描述的是時間序列的整體走勢,比如總體上升或者總體下降。下圖所示的時間序列是總體上升的:
? 季節(jié)性描述的是數(shù)據(jù)的周期性波動,比如以年或者周為周期,如下圖:
? 三次指數(shù)平滑算法可以對同時含有趨勢和季節(jié)性的時間序列進行預測,該算法是基于一次指數(shù)平滑和二次指數(shù)平滑算法的。
? 一次指數(shù)平滑算法 基于以下的遞推關(guān)系:
? si=αx i +(1-α)s i-1?
? 其中α是 平滑參數(shù) ,s i 是之前i個數(shù)據(jù)的平滑值,取值為[0,1],α越接近1,平滑后的值越接近當前時間的數(shù)據(jù)值,數(shù)據(jù)越不平滑,α越接近0,平滑后的值越接近前i個數(shù)據(jù)的平滑值,數(shù)據(jù)越平滑,α的值通常可以多嘗試幾次以達到最佳效果。
? 一次指數(shù)平滑算法進行預測的公式為:x i+h =s i ,其中i為當前最后的一個數(shù)據(jù)記錄的坐標,亦即預測的時間序列為一條直線,不能反映時間序列的趨勢和季節(jié)性。
? 二次指數(shù)平滑 保留了趨勢的信息,使得預測的時間序列可以包含之前數(shù)據(jù)的趨勢。二次指數(shù)平滑通過添加一個新的變量t來表示平滑后的趨勢:
? s i =αx i +(1-α)(s i-1 +t i-1 )
? t i =?(s i -s i-1 )+(1-?)t i-1
? 二次指數(shù)平滑的預測公式為 ?x i+h =s i +ht i ? 二次指數(shù)平滑的預測結(jié)果是一條斜的直線。
? 三次指數(shù)平滑在二次指數(shù)平滑的基礎(chǔ)上保留了季節(jié)性的信息,使得其可以預測帶有季節(jié)性的時間序列。三次指數(shù)平滑添加了一個新的參數(shù)p來表示平滑后的趨勢。
? 三次指數(shù)平滑有累加和累乘兩種方法,下面是累加的三次指數(shù)平滑
??s i =α(x i- p i-k )+(1-α)(s i-1 +t i-1 )
? t i =?(s i -s i-1 )+(1-?)t i-1
? p i =γ(x i -s i )+(1-γ)p i-k ?其中k為周期
? 累加三次指數(shù)平滑的預測公式為: x i+h =s i +ht i +p i-k+(h mod k) ? 注意:數(shù)據(jù)之魅P88此處有錯誤,根據(jù)Wikipedia修正。
? 下式為累乘的三次指數(shù)平滑:
?s i =αx i /p i-k +(1-α)(s i-1 +t i-1 )
? t i =?(s i -s i-1 )+(1-?)t i-1
? p i =γx i /s i +(1-γ)p i-k ??其中k為周期
? 累乘三次指數(shù)平滑的預測公式為: x i+h =(s i +ht i )p i-k+(h mod k) ? ?注意:數(shù)據(jù)之魅P88此處有錯誤,根據(jù)Wikipedia修正。
? α,?,γ的值都位于[0,1]之間,可以多試驗幾次以達到最佳效果。
? s,t,p初始值的選取對于算法整體的影響不是特別大,通常的取值為s 0 =x 0 ,t 0 =x 1 -x 0 ,累加時p=0,累乘時p=1.
? ?我們使用DataMarket的International Airline Passengers數(shù)據(jù)來測試累加和累乘三次指數(shù)平滑算法的性能,該數(shù)據(jù)記錄的是每月的國際航線乘客數(shù):
?
?下圖為使用累加三次指數(shù)平滑進行預測的效果:其中紅色為源時間序列,藍色為預測的時間序列,α,?,γ的取值為0.45,0.2,0.95:
? 下圖為累乘三次指數(shù)平滑進行預測的效果,α,?,γ的取值為0.4,0.05,0.9:
? 可以看到三次指數(shù)平滑算法可以很好的保存時間序列數(shù)據(jù)的趨勢和季節(jié)性信息,在International Airline Passengers數(shù)據(jù)集上累乘平滑指數(shù)算法的效果更好。
參考文獻:
? [1]. 數(shù)據(jù)之魅:基于開源工具的數(shù)據(jù)分析
? [2]. DataMarket: International Airline Passengers
更多文章、技術(shù)交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
