寇茜茜 何希平,2,3*
1(重慶工商大學電子商務與供應鏈系統重慶市重點實驗室 重慶 400067)2(重慶市工商大學計算機科學與信息工程學院 重慶 400067)3(重慶工商大學重慶市檢測控制集成系統工程實驗室 重慶 400067)
基于棧式自編碼器模型的匯率時間序列預測
寇茜茜1何希平1,2,3*
1(重慶工商大學電子商務與供應鏈系統重慶市重點實驗室 重慶 400067)2(重慶市工商大學計算機科學與信息工程學院 重慶 400067)3(重慶工商大學重慶市檢測控制集成系統工程實驗室 重慶 400067)
針對目前具有非線性特征的金融時間序列淺層模型預測精度有限的問題,提出一種由底層的棧式自編碼器和頂層的回歸神經元組成的棧式自編碼神經網絡預測模型。首先利用自編碼器的無監督學習機制對時間序列進行特征識別與學習,逐層貪婪學習神經網絡各層,之后將棧式自編碼器擴展為有監督機制的SAEP模型,將SAE學習到的參數用于初始化神經網絡,最后利用有監督學習對權值進行微調。實驗設計利用匯率時間序列作為訓練及測試樣本,與目前較成熟的方法進行對比實驗,驗證了所提出的模型在匯率時序預測應用中的有效性。
時間序列 預測 深度學習 棧式自編碼器 特征學習 深度神經網絡
基于時間序列分析的特征識別與預測已經成為國內外研究的熱點,而構造有效的數據分析模型是精準預測的關鍵步驟[1]。對于現在普遍存在的時間序列來說,傳統的淺層模型已經不能有效表達其深層次的特征[2]。為更好地模擬應用中的時間序列,目前通用的做法是設計特征選擇器,但對于每項任務來說,設計特征選擇器需要專家經驗且耗時;另一種做法是從無類別標簽的數據中采取無監督學習機制學習特征[3-4],這一做法的優勢在于無需設計特征選擇器即可自動學習序列數據之間潛在的關聯關系。深度神經網絡產生于人工智能研究背景,并且已經在多個時間序列應用領域取得較好的結果,例如語音識別[5]、運動肢體識別[6]、視頻目標分類[7]等。匯率時間序列具有動態性和不確定性,含有大量噪音干擾,通常呈現出非線性特征,對于匯率時序的預測一直是國內外金融研究中重要且具有挑戰的工作之一[8],目前對于匯率的時序預測模型有計量模型,例如ARIMA模型[9]、ARCH模型[10]、GARCH模型[11],這些模型的改進及組合都在一定程度上推進了匯率預測的研究;另一類為基于機器學習的模型,例如人工神經網絡(ANN)[11-13]和支持向量機(SVM)[14]。現有的模型預測精度受限問題主要集中在淺層學習難以挖掘時間序列的深層次特征。針對匯率預測精度受限的問題,本文提出一種由底層的棧式自編碼器和頂層的回歸層組成的深度學習預測模型,同時該模型的提出,尤其是無監督學習機制,為時間序列的實時性預測提供了一種新的思路和方向。
基于以上的分析,本文研究棧式自編碼預測模型SAEP(Stacked AutoEncoder based Prediction model)及其匯率時序預測應用。首先,利用無監督逐層貪婪學習的自編碼器,堆疊實現對深度神經網絡的預訓練,之后再用監督學習對網絡參數進行微調,然后借助學習到的網絡模型實現時間序列的預測。該模型尤其可以解決具有非線性特征的時間序列預測精度受限的問題。
1.1 自編碼器
自編碼器AE(AutoEncoder)是嘗試學習一個恒等函數,使得輸出值等于輸入值,現假設有一個時間序列樣本{y(1),y(2),…,y(n)},對于t時刻的自編碼結構如圖1所示。

圖1 自編碼器的結構
設W1∈Rk×m、b1∈Rk分別表示可視層V(VisibleLayer)與隱藏層H(HiddenLayer)的連接權值和偏置,W2∈Rm×k、b2∈Rm分別表示隱藏層與重構可視層的連接權值和偏置。假定每一個節點非線性激活函數為sigmoid函數,則對于自編碼器的編碼過程如式(1)所示。
(1)
解碼過程為:
(2)
自編碼器將輸入y編碼為新的表達h,再將h解碼重構回y,通過反向傳播算法來訓練網絡實現重構并恢復輸入值。其關鍵在于求解參數{w,b}使得重構誤差最小化。
若樣本數為N,則自編碼器輸出誤差代價函數可表示為:

(3)


(4)
1.2SAE模型
通過堆疊n個自編碼器構成了棧式自編碼神經網絡SAE(StackedAutoEncoder),該模型中前一個自編碼的隱層輸出h(i-1)作為其后一層自編碼可視層的輸入V(i),即:
V(i)=h(i-1)
其中i=2,3,…,n,即去除自編碼器的解碼層堆疊構成深度神經網絡。n個自編碼器堆疊而成的SAE結構如圖2所示。

圖2 棧式自編碼器
SAE是對序列特征的學習過程,通過堆疊自編碼器,對序列進行深度學習,可以表達出序列間的潛在特征。
對于實現時間序列的預測目標而言,則需要再添加一個用于預測目標的神經元,這一神經元的目的在于通過監督學習調整網絡模型以此實現預測目標。
1.3SAEP模型
對于時間序列{y(1),y(2),…,y(n)},通過添加神經元,在t時刻基于SAE的時間序列預測模型SAEP(StackedAutoEncoderbasedPredictionmodel)結構如圖3所示。

圖3 SAEP的結構
對于棧式自編碼神經網絡,第1層的編碼器隱層特征為:
h(l)=σ(W(l)h(l-1)+b(l))
(5)
其中,h(0)=Y,W(l)和b(l)分別表示第1層自編碼器的編碼層權重和偏置。通過自編碼器的棧化多次非線性變換得到的h(n)表示了網絡學習到的潛在特征,它包含了預測目標中的重要信息。為了達到預測目標,以非線性sigmoid神經元作為最后預測模型的輸出節點。
SAEP模型的整體代價函數為:
(6)
SAEP的關鍵是不斷調整{w,b}以此擬合出輸入輸出數據之間的函數關系。
基于以上的模型構建,SAEP的特征學習過程可以分為無監督的預訓練,即SAE的特征學習,這一過程旨在挖掘出輸入序列的深層特征;基于監督學習的預測,即深度神經網絡的擴展(SAEP的構建)及網絡微調。
2.1 自編碼器的學習算法
自編碼器的參數學習采取反向傳播算法。在優化神經網絡時,首先利用式(1)和式(2)計算各層的神經元激活值,根據式(3)計算代價函數,利用反向傳播算法計算各層代價函數的偏導數。假定自編碼器的輸出層為第L層,輸出目標為Y,自編碼器的輸出層和隱藏層各個節點的誤差表達式分別為:
δ(L)=-(Y-σ(z(L)))f′(z(L))
(7)
(8)
其中,l=L-1,…,2,式中的f為sigmoid函數,f′(z(l))表示第l層激活函數f(z)對輸入z的導函數值。按照下式計算l層神經元節點的激活值:
z(l)=w(l)h(l-1)+b(l)
(9)
然后,根據以下公式計算需要的梯度:
▽w(l)E(W,b;x,y)=δ(l+1)(h(l))T
(10)
▽b(l)E(W,b;x,y)=δ(l+1)
(11)
利用梯度下降法更新權重參數,設α為每次迭代的學習率,迭代更新表達式為:
w(l)=w(l)-α[▽w(l)E(W,b;x,y)]
(12)
b(l)=b(l)-α[▽b(l)E(W,b;x,y)]
(13)
通過不斷反復迭代以此減小代價函數式(3)的值,以此來優化自編碼器。
2.2 逐層貪婪學習算法
棧式自編碼器若采取梯度下降法,往往并不能取得很好的效果,主要原因在于網絡深度的增加會使得反向傳播的梯度值急劇減小,因此在最初的幾層網絡權值的導數非常小,即權值變化非常緩慢,以至于無法訓練[15]。為避免訓練出現局部最優,SAE的實現采取逐層貪婪學習算法[15]。該算法的主要思想在于每次只訓練網絡中的一層,首先訓練一個只含一個隱藏層的自編碼器,該層自編碼器達到優化后再開始訓練下一個自編碼器。利用逐層貪婪學習算法完成SAE無監督預訓練。
2.3SAEP微調
無監督預訓練之后,如圖3所示構建SAEP模型,微調策略為監督學習機制。微調以圖3為網絡結構模型,將所有層視為一個網絡整體,以SAE預訓練結果為初始權值。利用式(5)、式(6)前向傳播計算各個層神經元節點的激活函數值和整體代價函數,再利用反向傳導算法計算式(7)-式(13)(此時式(8)的β=0,其他相應的損失函數為J(w,b)),通過反復迭代梯度下降法更新權重參數,以此使得SAEP的代價函數式(6)達到最小。
此次實驗的軟件平臺為MATLABR2014a,編程實現算法。
模型的評價標準為式(14)、式(15)表示的均方偏差、平均偏差率。
(14)
(15)

實驗數據來源于經典數據庫TimeSeriesDataLibrary,來源于真實的金融市場(https://datamarket.com/data)。8個數據集為1979年12月31日—1998年12月31日JPY/USD(日本/美國)、French/US(法國/美國)、German/US(德國/美國)、Australia/US(澳大利亞/美國)、British/US(英國/美國)Canadian/US(加拿大/美國)、Dutch/US(荷蘭/美國)、Swiss/US(瑞士/美國)匯率時間序列。
實驗中,對所有實驗數據均按式(16)進行[0,1]上的歸一化預處理。然后采取單變量滑動窗口機制訓練數據,樣本總數為4 774,隨機抽取80%作為訓練樣本,20%作為測試樣本。本次實驗在不同數據集模擬20次,并對測試集結果取平均值。
(16)
表1為在不同數據集下SAEP的預測效果。從表中可看出,模型的預測誤差均控制在較低的水平,其預測耗時均在1 s以內,能夠很好地滿足實時預測中對預測時間和預測精度的高要求。此外,在實驗中算法在不同的數據集下均能夠保證100次以內得到收斂,收斂較快的特點保證了模型在不同數據集的穩定性。

表1 不同數據集的測試集預測效果

續表1
為了充分反應模型的效果,以日/美測試數據集為例,對比目前在匯率時序預測中得到普遍應用的BP神經網絡和SVR。如表2所示。

表2 不同預測模型的測試預測效果
不難發現,SAEP的預測效果優于BP神經網絡和SVR。BP神經網絡被證明可以以任意精度逼近任意的函數,但其隨機初始化時導致結果不夠穩定,泛化能力表現欠佳。通過三種模型的對比可以看出,SAEP的表現能力更強。
棧式自編碼器預測模型改進了神經網絡隨機初始化的缺點,有效地表達出序列數據間非線性及隨機性的特點,自編碼器在神經網絡的預訓練對于提高預測效果具有重要意義;SAEP的微調作用以監督機制通過反向傳導算法調整網絡,這對于預測目標起到了關鍵的作用,無監督學習對于時間序列的實時預測具有重要的應用研究和推廣價值。
但是反向傳導算法在網絡層次過深時會出現梯度擴散現象,因此本文提出的棧式自編碼預測模型更適合于低配置計算資源中網絡層次不是特別深的預測中。
[1] 劉金培,林盛,郭濤,等.一種非線性時間序列預測模型及對原油價格的預測[J].管理科學,2011,24(6):104-122.
[2]MartinLangkvist,LarsKarlsson,AmyLoutfi.Areviewofunsupervisedfeaturelearninganddeeplearningfortime-seriesmodeling[J].PatternRecognitionLetters,2014(42):11-24.
[3] 王知音,禹龍,田生偉,等.基于棧式自編碼的水體提取方法[J].計算機應用,2015,35(9):2706-2709.
[4]BengioY,CourvilleA,VincentP.LearningdeeparchitectureforAI[J].FoundationsandTrendsinMachineLearning,2009,2(1):1-127.
[5] 鄧侃,歐智堅.深層神經網絡語音識別自適應方法研究[J].計算機應用研究,2016,7:52-56.
[6] 周慧,周良,丁秋林.基于深度學習的疲勞狀態識別研究[J].計算機科學,2015,42(3):191-200.
[7] 姚利濤,董育寧.無監督的視頻業務特征分析與分類[J].應用科學學報,2015,33(2):117-128.
[8]SantoAAP,CostaJNCA.Computationalintelligenceapproachesandlinearmodelsincasestudiesofexchangerate[J].ExpertsSystemswithApplications,2007,33(4):816-823.
[9]EtteHarrisonEtuk.AseasonalARIMAmodelfordailyNigerianNAIRA-USDollarexchangerates[J].AsianJouralofEmpiricalResaerch,2(6):219-227.
[10]MichaelMckenzie,HeaherMitchell.GeneralizedasymmetricpowerARCHmodellingofexchangeratevolatility[J].AppliedFinancialEconomics,2002,12(8):555-564.
[11] 劉潭秋,謝赤.基于GRACH模型和ANN技術組合的匯率預測[J].科學技術與工程,2006,6(23):4690-4694.
[12]ChenAS,LeungM.RegressionNeurralNetworkforErrorCorrectioninForeignExchangeForecastingandTrading[J].Computers&OperationsResearch,2004,31(7):1049-1068.
[13]ChakradharaPanda,VNarasimhan.ForecastingExchangeRateBetterwithArtificialNeuralNetwork[J].JournalofPolicyModeling,2007,29(2):227-236.
[14]CaoLJ.Supportvectormachinesexpertsfortimeseriesforecasting[J].Neurocomputing,2003,51:321-339.
[15]HintonGE,OsinderoSYW.TheAfastlearningalgorithmfordeepbeliefnets[J].NeuralComput,2006,10(7):1527-1544.
EXCHANGE RATE TIME SERIES PREDICTION BASED ONSTACKED AUTOENCODER MODEL
Kou Xixi1He Xiping1,2,3*
1(ChongqingKeyLaboratoryofElectronicCommerceandSupplyChain,ChongqingTechnologyandBusinessUniversity,Chongqing400067,China)2(SchoolofComputerScienceandInformafionEngineering,ChongqingTechnologyandBusinessUniversity,Chongqing400067,China)3(ChongqingDetectionControlIntegratedSystemEngineeringLaboratory,ChongqingTechnologyandBusinessUniversity,Chongqing400067,China)
Aiming at the current problem of limited prediction accuracy of nonlinear financial time series in the shallow model, a novel prediction model of stacked autoencoder neural networks is proposed, consisting of stacked autoencoder model at the bottom and regression neurons at the top. First of all, the unsupervised learning mechanism of autoencoder is applied to identify and learn the features of time series, greedily learning the neural network layer by layer. Then the stacked autoencoder is extended to be the SAEP model with supervision mechanism, and the parameters learned by SAE (stacked autoencoder) are used to initialize the neural network. Finally, the weights are fine-tuned by supervised learning. The experimental design uses the exchange rate time series as the training and test samples, and the effectiveness of the proposed model in the application of exchange rate time series prediction is verified, compared with the more mature methods.
Time series Prediction Deep learning Stacked autoencoder Feature learning Deep neural networks
2016-03-02。重慶市教委科技
KJ1400612);重慶工商大學研究生院“創新型科研項目”(yjscxx2015-41-21)。寇茜茜,碩士生,主研領域:機器學習。何希平,教授。
TP391 TP183
A
10.3969/j.issn.1000-386x.2017.03.039