張翔
(同濟大學電子與信息工程學院,上海 201804)
時間序列預測問題在包括經濟、工業(yè)等多個領域都有著廣泛的應用,多通過歷史數(shù)據(jù)建模,從而對未來的數(shù)據(jù)進行預測。本文將提出一個基于加權核函數(shù)SVR的算法來對時間序列進行預測。為了驗證算法的有效性,本文使用公開數(shù)據(jù)集UCR時間序列分類數(shù)據(jù)進行時間序列預測。結果表明,加權核函數(shù)SVR對時間序列具有良好的預測性能。
針對時間序列的預測目前主要有兩種方法,第一個是統(tǒng)計學方法,目前最常用的模型是在AR模型和MA模型結合的ARMA模型的基礎上,提出通過使用差分序列的方法解決非平穩(wěn)問題的ARIMA模型[1]。在ARIMA模型的基礎上,文獻[2]提出了結合ARMA模型和分數(shù)維差分噪聲模型(FDA)的分整自回歸移動平均模型(ARFIMA)。這一模型對于長短期時間數(shù)據(jù)都有一定的表達能力。
第二個就是機器學習的方法,隨著人工神經網絡(ANN)被提出,研究者們發(fā)現(xiàn),其對復雜環(huán)境數(shù)據(jù)的表達能力非常強,所以提出通過ANN對時間序列進行預測[3]。例如,文獻[4]利用回歸神經網絡進行外匯和交易誤差的修正,而回聲狀態(tài)網絡[5]被用來實現(xiàn)股票數(shù)據(jù)挖掘。文獻[6-7]通過SVM對金融時間序列進行預測對金融時間序列以及股票進行了預測,并證明了其有效性。
SVM[8]自從被Vapnik提出來就表現(xiàn)出了優(yōu)秀的計算效果。SVM被用于回歸問題的模型被稱作支持向量回歸(SVR),在解決非線性問題時可以將其轉換為高維空間中的線性問題,通過核函數(shù)的計算代替高維空間的復雜計算,是一個非常有效的方法。
SVM模型即為在高維空間中計算得到一個超平面來對樣本點進行區(qū)分。對于線性可分的問題,SVM的分類超平面公式可以表示為:
分類超平面為了在盡量多的數(shù)據(jù)上保持分類效果,就必須使訓練集的分類間隔最大化,這也是SVM的核心思想。目標函數(shù)計算公式為:
其中w=(w1,w2,…,wd)為法向量,可以決定了超平面的形狀;b為差異量,可以決定超平面的位置。
SVR的概念是SVM用于解決回歸問題時提出的模型。在SVM中,只有f(x)和y完全相同時,認為成立。而SVR使用了?不敏感損失函數(shù),只要f(x)和y的誤差在?之內就認為是無損失的,當誤差絕對值大于?時,計算其損失減去?。目前SVR被認為是解決機器學習回歸問題的有效方法。
SVR的問題可以形式化為公式(4)。
其中,C為正則化常數(shù),l?為?不敏感損失函數(shù),l?計算公式如公式(5)。
引入松弛變量 ξi和 ξi,公式(5)可重寫為公式(6)。
本文提出一種基于加權SVR的時間序列預測方法,一般的機器學習加權方法都是對于樣本的重要程度進行加權,但是對于一條時間序列而言,經過滑動窗口劃分獲取數(shù)據(jù)集,每一個樣本之間不存在重要程度的差別,而對每一個樣本,時間點的遠近對回歸結果有較大的影響,所以更適合使用對特征進行不同權重的計算。
加權核函數(shù)的定義為:
P為給定輸入特征空間的n階矩陣。我們針對不同特征賦予不同權值,這種情況下,P即為對角矩陣。所以加權核函數(shù)定義如下式:
(1)加權線性核函數(shù):
(2)加權多項式核函數(shù):
(3)加權高斯徑向基核函數(shù):
核函數(shù)通過非線性特征的映射的方法,將特征空間中的非線性特征轉換為線性特征,同時降低運算難度。P為線性特征映射,用來對線性特征的維度進行縮放,不改變特征的線性特性。
本文運用CART算法來計算每個特征的加權權重。CART算法的主體是對基尼指數(shù)的計算。基尼指數(shù)是一個樣本被分類分錯的概率。針對一個特征的屬于一個狀態(tài)中的所有樣本在分類時歸屬類別少時(甚至只屬于一個類別),基尼指數(shù)最小,此時特征區(qū)分能力越強。通過計算決策樹節(jié)點分支前后基尼指數(shù)變化差值來計算該特征重要性。特征個數(shù)為c,基尼指數(shù)計算公式如公式(11):
m為決策樹中的某一個節(jié)點,K為最終分類個數(shù),Pmk為節(jié)點m中類別K樣本所占比例。特征j在節(jié)點m的重要性計算方式為該節(jié)點分枝前的基尼指數(shù)前去分枝后左右子節(jié)點基尼指數(shù),計算公式如式(12)。
GIl和GIr分別為分支后左右子節(jié)點基尼指數(shù)。然后針對整個隨機森林,統(tǒng)計特征j在第i棵決策樹的特征重要性,計算公式如式(13)。
最后計算n個決策樹對于特征j的重要性之和,即為特征重要性。但是在應用時需要對每個特征重要性進行歸一化,使其表示為每個特征對決策的影響,計算公式如式(14)。
所有特征的特征重要性組成一個對角矩陣,成為SVR核函數(shù)加權的矩陣。
實驗數(shù)據(jù)采用UCR時間序列分類數(shù)據(jù)集[9],該數(shù)據(jù)集含有八十余個時間序列數(shù)據(jù),目前有超過一千篇時間序列預測相關論文使用該數(shù)據(jù)集進行實驗,該數(shù)據(jù)集是目前時間序列預測實驗的基本數(shù)據(jù)集。我們從中抽取了10份時間序列數(shù)據(jù)用于時間序列預測相關實驗。數(shù)據(jù)集如表1所示。于時間序列預測是針對兩條相關序列的誤差進行判斷,所以我們使用對均方根誤差(Root Mean Squared Error,RMSE)和平均絕對百分比誤差(Mean Absolute Percent Error,MAPE)來進行評估。
表1 UCR時間序列分類數(shù)據(jù)集
均方根誤差是真實值和預測值偏差的平方和觀測次數(shù)比值的平方根。均方根誤差表示的是真實值和預測值之間的偏差,代表了時間序列的絕對誤差。平均絕對百分比誤差是真實值和預測值偏差除以真實值的百分比,是誤差和真實值之間的比值,代表了時間序列的百分比誤差。預測的誤差越小,代表預測越準確。
本文使用兩組實驗,分別為對三種不同加權核函數(shù)效果進行對比,加權核函數(shù)SVR和不加權核函數(shù)SVR的效果對比,驗證了模型的有效性。
首先使用線性核函數(shù)、多項式核函數(shù)和高斯徑向基核函數(shù)對加權SVR的效果進行評估,分別計算其RMSE和MAPE。實驗結果如表2和表3所示。
表2 不同加權核函數(shù)RMSE
表3 不同加權核函數(shù)MAPE
表中加粗數(shù)級即為該行最小值。由表2和表3可以看出,線性核函數(shù)和高斯徑向基核函數(shù)的RMSE和MAPE均小于多項式核函數(shù)。對于所有數(shù)據(jù)計算得到,線性核函數(shù)的RMSE和MAPE平均值分別為0.3542和 0.8277,高斯徑向基核函數(shù)的 RMSE和MAPE平均值分別為0.2118和0.3597。
線性核函數(shù)對于所有數(shù)據(jù)集預測結果的RMSE最優(yōu)誤差有5個,MAPE最有誤差有7個,但線性核函數(shù)的兩個平均誤差均大于高斯徑向基核函數(shù),這表示線性核函數(shù)雖然對較多數(shù)據(jù)集有最優(yōu)效果,但是在個別數(shù)據(jù)集效果極差,所以高斯徑向基核函數(shù)的平均性能最優(yōu),對于多種數(shù)據(jù)的平均擬合情況最好。
可以看出線性核函數(shù)和高斯徑向基核函數(shù)的加權SVR表現(xiàn)出較好的預測效果,我們再比較兩個核函數(shù)對于不加權SVR的效果。表4和表5分別為不加權核函數(shù)SVR的RMSE和MAPE。
表4 不加權核函數(shù)的RMSE
表5 不加權核函數(shù)MAPE
對加權和不加權的兩種方法的線性核函數(shù)對比作圖。為方便查看不同數(shù)據(jù)集數(shù)據(jù),將數(shù)據(jù)歸一化,不加權兩個誤差歸一到1,加權誤差等比例縮放。如圖1。
圖1 線性核函數(shù)SVR和不加權線性核函數(shù)SVR誤差對比圖
對加權和不加權的兩種方法的高斯徑向基核函數(shù)對比作圖。作圖方法同上。如圖2。
圖2 高斯徑向基核函數(shù)SVR和不加權高斯徑向基核函數(shù)SVR誤差對比圖
由圖1和圖2可明顯看出兩個核函數(shù)加權方法對時間序列預測效果不同程度的提高。
本文介紹了一種基于加權核函數(shù)SVR的時間序列預測的方法,通過隨機森林CART的特征重要性計算方法對特征賦予權值,這樣在時間序列預測時可以對不同時間段有不同的側重,這樣改變特征維度的廣度變化,從而影響預測結果??梢杂梢陨蠈嶒灴闯?,該方法在SVR的基礎上有一定的提升。