胡仁飛
(浙江移動溫州分公司,溫州 325000)
時間序列是指同一種現象在不同時間上的相繼觀察值排列而成的一組數字排列。時間序列預測的基本原理是基于以往的數據表征客觀現象隨時間變化的規律,并將規律應用到未來,對該客觀現象的未來作出預測。
為了進行時間序列的預測必須要進行相空間的重構。而相空間的重構中有一個最為關鍵的參數就是嵌入維數,即指能夠完全包容吸引子的最小子空間維數。選擇一個合適的嵌入維數,對能否正確重構相空間進而進行時間序列預測有著非常重大的影響。進行相空間的重構,目前普遍采用的是時間序列延遲向量構造法。假設一時間序列為x1,x2……,xn,則可由該序列采用時延技術生成一個d維位移相量族

把相量組放入d維相空間中,即可重構出原系統的運動軌線。當嵌入維數選的太小,會造成相空間軌跡的折疊。為了打開吸引子的軌跡而嵌入維數太大就會增加計算量。因此,選取一個恰當的嵌入維數d使吸引子能完全打開,又不引起過多的噪聲,就顯得十分必要。
CAO算法一種較為優秀的求取最小嵌入維的算法,核心就是根據E1(d)的不變以及E2(d)不為1來斷定時間序列的最小嵌入維。具體實現流程為:根據初始嵌入維數生成時序延遲向量→尋找當前向量的最鄰近向量,并求取Euclidian距離→計算ED值與EE值→計算E1(d)值與E2(d)值。
如以企業某種商品212周的銷售數據為樣本,根據樣本數據,用CAO算法計算得到E1(d)與E2(d)的值序列,根據算法的思想,觀察計算兩列值的變動情況,在第三十五個點處,E2(35)不等于1,而且從第三十五點開始,E1(d)只在一個很小的范圍內波動,趨向于不變,可得數據時間序列的最小嵌入維為36。
時間序列的預測是復雜非線性系統預測與建模的一種重要方法。時間序列預測主要就是根據以往數據序列探索映射f:Rx→Ry 擬合數據中的隱含非線性機制,這樣就可以將f作為合適的預測方法使用。對于已知的時間序列{x1,x2,…,xN},假設已知x(i)預測x(i+1),則可建立映射f:Rx→R滿足x(i+1)=f(x(i),x(i-1),…,x(i-(x-1))),其中的x就是本文中所重點論述的嵌入維數。
生產中主要的預測算法有支持向量機、決策樹、邏輯回歸、神經網絡、樸素貝葉期,隨機森林等,本文利用支持向量機進行非線性預測的擬合。只要選擇合適的嵌入維數,即讓支持向量機(svm)有最優的輸入維數,就可以有最優的預測器結構。
使用支持向量機來進行時間序列的預測,就要對時間序列的數據做一些處理。對時間序列{x1,x2,…,xN}進行模型預測,將序列分成訓練集與驗證集,其中前n個作為訓練集,訓練預測器參數,剩余的數據作為驗證集,驗證模型的有效性。為了更有效地進行預測模型建設,將一維的時間序列轉化成矩陣形式,相空間重構獲得數據間的相關性,使挖掘到的信息量最大化,并建立滑動時間窗口(自相關輸入)xi={xi-1,xi-2,…,xi-a}與輸出yi之間r映射關系f:Ra→R,其中a值反映了轉換后矩陣所包含的知識量。a的定義即是嵌入維,這同樣說明了本文所論述的嵌入維對時間序列預測的重要性。
現代企業對營銷的控制和預算管理越來越規范,而銷售預算一般都是在企業自身因素、長期趨勢、市場狀況等因素的影響下制定的,若依據時間序列來建立銷售預算預測模型則可提升預算制定的科學性。
主要的過程:根據企業歷史212周的的銷售量,求取銷售量時間序列的最小嵌入維。如上文對銷售量時間序列求取了最小嵌入維(36),即起碼要以前36周銷售數據來預測第37周的,也即SVM輸入屬性中有36個是歷史數據。為了正確的預測銷售量,我們還引入銷售價格、季節因子、是否促銷等額外維度。得到測試集合的預測結果后,利用平均絕對百分比偏差與絕對平均偏差來判別預測的效果。根據預測結果求得MAPE=0.038,MAD=17.6??梢钥闯?,在求得最小嵌入維后,再利用SVM進行預測,所得的預測結果較為理想。
結語:通過最小嵌入維的確定,為時間序列預測算法提供了最優的數據輸入,即減少了模型預測計算量又提升預測準確率,是時間序列模型預測的一個重要調優參數。