在時(shí)間序列中,我們需要基于該時(shí)間序列當(dāng)前已有的數(shù)據(jù)來預(yù)測(cè)其在之后的走勢(shì),三次指數(shù)平滑(Triple/Three Order Exponential Smoothing,Holt-Winters)算法可以很好的進(jìn)行時(shí)間序列的預(yù)測(cè)。 時(shí)間序列數(shù)據(jù)一般有以下幾種特點(diǎn):1.趨勢(shì)(Trend) 2. 季節(jié)性(Seasonality)。 趨勢(shì)描述的是時(shí)間序列的整體走勢(shì),比如總體上升或者總體下降。下圖所示的時(shí)間序列是總體上升的: 季節(jié)性描述的是數(shù)據(jù)的周期性波動(dòng),比如以年或者周為周期,如下圖: 三次指數(shù)平滑算法可以對(duì)同時(shí)含有趨勢(shì)和季節(jié)性的時(shí)間序列進(jìn)行預(yù)測(cè),該算法是基于一次指數(shù)平滑和二次指數(shù)平滑算法的。 一次指數(shù)平滑算法基于以下的遞推關(guān)系: si=αxi+(1-α)si-1 其中α是平滑參數(shù),si是之前i個(gè)數(shù)據(jù)的平滑值,取值為[0,1],α越接近1,平滑后的值越接近當(dāng)前時(shí)間的數(shù)據(jù)值,數(shù)據(jù)越不平滑,α越接近0,平滑后的值越接近前i個(gè)數(shù)據(jù)的平滑值,數(shù)據(jù)越平滑,α的值通??梢远鄧L試幾次以達(dá)到最佳效果。 一次指數(shù)平滑算法進(jìn)行預(yù)測(cè)的公式為:xi+h=si,其中i為當(dāng)前最后的一個(gè)數(shù)據(jù)記錄的坐標(biāo),亦即預(yù)測(cè)的時(shí)間序列為一條直線,不能反映時(shí)間序列的趨勢(shì)和季節(jié)性。 二次指數(shù)平滑保留了趨勢(shì)的信息,使得預(yù)測(cè)的時(shí)間序列可以包含之前數(shù)據(jù)的趨勢(shì)。二次指數(shù)平滑通過添加一個(gè)新的變量t來表示平滑后的趨勢(shì): si=αxi+(1-α)(si-1+ti-1) ti=?(si-si-1)+(1-?)ti-1 二次指數(shù)平滑的預(yù)測(cè)公式為 xi+h=si+hti 二次指數(shù)平滑的預(yù)測(cè)結(jié)果是一條斜的直線。 三次指數(shù)平滑在二次指數(shù)平滑的基礎(chǔ)上保留了季節(jié)性的信息,使得其可以預(yù)測(cè)帶有季節(jié)性的時(shí)間序列。三次指數(shù)平滑添加了一個(gè)新的參數(shù)p來表示平滑后的趨勢(shì)。 三次指數(shù)平滑有累加和累乘兩種方法,下面是累加的三次指數(shù)平滑 si=α(xi-pi-k)+(1-α)(si-1+ti-1) ti=?(si-si-1)+(1-?)ti-1 pi=γ(xi-si)+(1-γ)pi-k 其中k為周期 累加三次指數(shù)平滑的預(yù)測(cè)公式為: xi+h=si+hti+pi-k+(h mod k) 注意:數(shù)據(jù)之魅P88此處有錯(cuò)誤,根據(jù)Wikipedia修正。 下式為累乘的三次指數(shù)平滑: si=αxi/pi-k+(1-α)(si-1+ti-1) ti=?(si-si-1)+(1-?)ti-1 pi=γxi/si+(1-γ)pi-k 其中k為周期 累乘三次指數(shù)平滑的預(yù)測(cè)公式為: xi+h=(si+hti)pi-k+(h mod k) 注意:數(shù)據(jù)之魅P88此處有錯(cuò)誤,根據(jù)Wikipedia修正。 α,?,γ的值都位于[0,1]之間,可以多試驗(yàn)幾次以達(dá)到最佳效果。 s,t,p初始值的選取對(duì)于算法整體的影響不是特別大,通常的取值為s0=x0,t0=x1-x0,累加時(shí)p=0,累乘時(shí)p=1. 我們使用DataMarket的International Airline Passengers數(shù)據(jù)來測(cè)試?yán)奂雍屠鄢巳沃笖?shù)平滑算法的性能,該數(shù)據(jù)記錄的是每月的國(guó)際航線乘客數(shù): 下圖為使用累加三次指數(shù)平滑進(jìn)行預(yù)測(cè)的效果:其中紅色為源時(shí)間序列,藍(lán)色為預(yù)測(cè)的時(shí)間序列,α,?,γ的取值為0.45,0.2,0.95: 下圖為累乘三次指數(shù)平滑進(jìn)行預(yù)測(cè)的效果,α,?,γ的取值為0.4,0.05,0.9: 可以看到三次指數(shù)平滑算法可以很好的保存時(shí)間序列數(shù)據(jù)的趨勢(shì)和季節(jié)性信息,在International Airline Passengers數(shù)據(jù)集上累乘平滑指數(shù)算法的效果更好。 參考文獻(xiàn): [1]. 數(shù)據(jù)之魅:基于開源工具的數(shù)據(jù)分析 |
|