時間序列挖掘-預測演算法-三次指數平滑法(Holt-Winters)——三次指數平滑演算法可以很好的儲存時間序列資料的趨勢和季節性資訊

來源:互聯網
上載者:User

標籤:描述   時間序列資料   ima   注意   參考   display   資料集   end   mod   

from:http://www.cnblogs.com/kemaswill/archive/2013/04/01/2993583.html

  在時間序列中,我們需要基於該時間序列當前已有的資料來預測其在之後的走勢,三次指數平滑(Triple/Three Order Exponential Smoothing,Holt-Winters)演算法可以很好的進行時間序列的預測。

  時間序列資料一般有以下幾種特點:1.趨勢(Trend)  2. 季節性(Seasonality)。

  趨勢描述的是時間序列的整體走勢,比如總體上升或者總體下降。所示的時間序列是總體上升的:

  季節性描述的是資料的周期性波動,比如以年或者周為周期,如:

  三次指數平滑演算法可以對同時含有趨勢和季節性的時間序列進行預測,該演算法是基於一次指數平滑和二次指數平滑演算法的。

  一次指數平滑演算法基於以下的遞推關係:

  si=αxi+(1-α)si-1 

  其中α是平滑參數,si是之前i個資料的平滑值,取值為[0,1],α越接近1,平滑後的值越接近目前時間的資料值,資料越不平滑,α越接近0,平滑後的值越接近前i個資料的平滑值,資料越平滑,α的值通常可以多嘗試幾次以達到最佳效果。

  一次指數平滑演算法進行預測的公式為:xi+h=si,其中i為當前最後的一個資料記錄的座標,亦即預測的時間序列為一條直線,不能反映時間序列的趨勢和季節性。

  二次指數平滑保留了趨勢的資訊,使得預測的時間序列可以包含之前資料的趨勢。二次指數平滑通過添加一個新的變數t來表示平滑後的趨勢:

  si=αxi+(1-α)(si-1+ti-1)

  ti=?(si-si-1)+(1-?)ti-1

  二次指數平滑的預測公式為  xi+h=si+hti  二次指數平滑的預測結果是一條斜的直線。

  三次指數平滑在二次指數平滑的基礎上保留了季節性的資訊,使得其可以預測帶有季節性的時間序列。三次指數平滑添加了一個新的參數p來表示平滑後的趨勢。

  三次指數平滑有累加和累乘兩種方法,下面是累加的三次指數平滑

  si=α(xi-pi-k)+(1-α)(si-1+ti-1)

  ti=?(si-si-1)+(1-?)ti-1

  pi=γ(xi-si)+(1-γ)pi-k  其中k為周期

  累加三次指數平滑的預測公式為: xi+h=si+hti+pi-k+(h mod k)  注意:資料之魅P88此處有錯誤,根據Wikipedia修正。

  下式為累乘的三次指數平滑:

 si=αxi/pi-k+(1-α)(si-1+ti-1)

  ti=?(si-si-1)+(1-?)ti-1

  pi=γxi/si+(1-γ)pi-k  其中k為周期

  累乘三次指數平滑的預測公式為: xi+h=(si+hti)pi-k+(h mod k)   注意:資料之魅P88此處有錯誤,根據Wikipedia修正。

  α,?,γ的值都位於[0,1]之間,可以多實驗幾次以達到最佳效果。

  s,t,p初始值的選取對於演算法整體的影響不是特別大,通常的取值為s0=x0,t0=x1-x0,累加時p=0,累乘時p=1.

  我們使用DataMarket的International Airline Passengers資料來測試累加和累乘三次指數平滑演算法的效能,該資料記錄的是每月的國際航線乘客數:

  為使用累加三次指數平滑進行預測的效果:其中紅色為源時間序列,藍色為預測的時間序列,α,?,γ的取值為0.45,0.2,0.95:

  為累乘三次指數平滑進行預測的效果,α,?,γ的取值為0.4,0.05,0.9:

  可以看到三次指數平滑演算法可以很好的儲存時間序列資料的趨勢和季節性資訊,在International Airline Passengers資料集上累乘平滑指數演算法的效果更好。

參考文獻:

  [1]. 資料之魅:基於開源工具的資料分析

  [2]. DataMarket: International Airline Passengers

  [3]. Wikipedia: Exponential Smoothing 

時間序列挖掘-預測演算法-三次指數平滑法(Holt-Winters)——三次指數平滑演算法可以很好的儲存時間序列資料的趨勢和季節性資訊

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.