李大舟,于錦濤,高 巍,陳思思,朱風蘭
(沈陽化工大學 計算機科學與技術學院,遼寧 沈陽 110142)
金融時間序列預測對于社會有很大的價值,有助于把握社會經濟、市場經濟走向。對于經濟領域,金融時間序列預測更是一項非常重要的預測工具。
自回歸移動平均模型[1](autoregressive integrated moving average model,ARIMA)具有很強的靈活性,是如今應用廣泛的模型之一。然而,在預測分析中使用ARIMA模型會導致預測值的偏差。季節時間序列模型(seasonal differential autoregressive sliding average model,SARIMA)[2]是在原有模型的上加上時間序列的季度變化特性,從而形成的短期預測模型,該模型會在一定程度上提高線性建模能力。本文在對原始時序數據進行處理時,單一地使用ARIMA模型會引起預測的偏差,因此本文選用SARIMA模型。然而,大多數現有的SARIMA模型需要一個接一個地預測多個時間序列。SARIMA模型沒有考慮相關時間序列之間的內在關系,這將導致這些性能可能會受到限制。因此就需要張量分解來更好地捕捉內在的時間相關性。
張量分解是從張量數據中提取有價值信息的一種強大的計算技術[3]。利用這一優勢,基于張量分解的方法可以同時處理多個時間序列,并獲得良好的預測性能[4]。例如,提出了與AR模型集成的Tucker分解[5]。獲得高階時間序列預測的多線性正交AR(MOAR)模型和多線性約束AR模型。此外,一些工作將分解與神經網絡結合起來,用于更復雜的張量時間序列[6]。
多路延遲嵌入變換[7]是一種新興的技術,它將可用數據轉換為高階塊Hankel張量。本文沿著時間方向對多個時間序列進行多路延遲嵌入變換,從而得到一個高階塊Hankel張量,它表示每個時間點的所有時間序列作為高維嵌入空間中的張量。
本文利用塊Hankel張量,利用低秩Tucker分解,利用正交因子矩陣投影到核心張量。這些投影矩陣被共同用于最大限度地保持核心張量之間的時間連續性,這種方法可以比原始時間序列數據更好地捕捉內在的時間相關性。同時,本文將經典SARIMA模型張量化,并將SARIMA模型直接應用于核心張量上。最后,本文在下一個時間點預測一個新的核心張量,然后通過逆Tucker分解和逆多路延遲嵌入變換同時獲得所有時間序列數據的預測結果。本文通過低秩Tucker分解將塊Hankel張量與SARIMA模型結合成一個新的預測模型。該模型利用嵌入空間中的低秩數據結構,捕捉多個時間序列之間的內在相關性,從而獲得良好的預測結果。
文中具體變量定義見表1。

表1 變量定義
本文為了有效和高效地解決時間序列預測問題,通過低秩塔克分解將塊漢克爾張量與SARIMA模型結合起來。該方法的主要思想如圖1所示。首先,本文采用多路延遲嵌入變換將時間序列表示為低秩塊漢克爾張量。然后本文在連續核心張量上顯式地使用季節性差分自回歸滑動平均模型來預測未來的樣本。然后,本文利用塔克分解將高階張量投影到壓縮核心張量中,進而得到預測結果。

圖1 本文提出的算法構建過程
張量的維數是有序的,每個維數都是它的一種模式。張量是多維數據的專有名詞。向量和矩陣可分別被認為是一階和二階張量。在現實世界中,很多數據比如視頻等都是以張量形式存在。張量分解是一種強大的計算技術,通過將原數據分解從中提取有價值的特征,其中從低階張量擴展到高階張量是很重要的。用一組三階張量表示從低階張量擴展到高階張量是很簡單的,整體變化如圖2所示。

圖2 三階張量擴展到高階向量過程

(1)


(2)
當SN∈τN(IN-τN+1)×IN是一個重復矩陣,并且Fold(I,τ)τ1(I1-τ1+1)×…×τN(IN-τN+1)→τ1(I1-τ1+1)×…×τN(IN-τN+1)中輸入張量構造高階塊Hankel張量。從而,本文得到了的逆多路延遲嵌入變換
(3)
其中,?是Moore-Penrose逆矩陣。Moore-Penrose逆矩陣是對廣義逆矩陣的進一步約束,它能保證解的唯一性。圖3中展示了股票數據轉換過程的實例。

圖3 表示原始數據的逆多路延遲嵌入變換
通過這種方法,本文得到了高維嵌入空間中的塊Hankel張量,其中每個塊Hankel張量包含所有時間序列在同一個時間點的股票數據。本文只沿著時間模式應用多路延遲嵌入變換,因為多個時間序列之間的關系通常不比它們的時間相關性強。因此,沒有必要對所有可能沒有意義的模式進行多路延遲嵌入變換,同時花費更多的時間。
本文應用正交Tucker分解來探索在低秩嵌入空間中作為壓縮核心張量的多個時間序列之間的內在相關性。通過低秩Tucker分解將塊Hankel張量與SARIMA模型合并,可以有效地解決多重時間序列預測問題。對于一個三階張量,由Tucker分解可以得到3個二階的因子矩陣和一個三階的核張量。換句話說:Tucker分解通過因子矩陣(也稱作映射矩陣)將原張量映射到一個具有良好特性的核張量。一個向量由粗體小寫字母x∈I。 矩陣用粗體大寫字母X表示X∈I1×I2。 高階(N≥3)張量由粗體書法字母表示I1×I2…IN, Tucker分解具有明確的物理意義,它是高階PCA的一種形式,它可以體現原始張量的大部分性質,因此本文的分解形式采用Tucker分解。
首先設xt作為任意時間點的實際數據值。xt可以看作是過去p值和過去q觀測隨機誤差的線性函數,即ARIMA(p,q)模型
(4)

(5)
設季節性序列為yt, 則一次周期為s的季節差分表示為
Δsyt=(1-Ls)yt=yt-yt-s
(6)
通過使用D季節差異使非平穩季節序列來過渡道平穩序列,并且在此基礎上建立季節時間序列預測模型
(7)
假設μt序列具有平穩性、非自相關性。當μt具有非平穩性且存在ARMA因子時,則把μt描述為
?p(L)Δdμt=θq(L)νt
(8)
將上述公式結合在一起,可得到
(9)
其中,P、Q、p、q、d、D定義如表1所示。上式稱為 (p,d,q)(P,D,Q)s階季節時間序列模型。上述模型用SARIMA(p,d,q)(P,D,Q)s表示。對于季度序列,s=4;對于月度序列,s=12。


(10)
(11)


(12)
其中,e是SARIMA模型命令的和,也是每個時間序列的最小輸入長度。接下來,本文使用增廣拉格朗日方法來解決這個問題。為了便于式(12)的推導,通過沿著模型展開每個張量變量,重新表示優化問題

(13)

(14)
(15)

(16)

(17)

本文通過沿最后一種模式消除的正交約束來展現出全正交性的效果(視為嵌入空間中每一個時間模式)。這種方法可能會放松對時間平滑性的嚴重約束,從而使所提出的模型對參數的可變性更加靈活和穩健,從本文的實驗結果中可以觀察到。本文在沒有正交約束的情況下放寬了最后的時間模式,然后計算了方程的偏導。因此,本文更新它為

(18)
(19)
計算這個函數的偏導,使其等于零,可得到
(20)

(21)

綜上所述,本文提出的融合多路延遲變換和張量分解的SARIMA算法(BHT-SARIMA)偽代碼如下:
Algorithm:BHT-SARIMA算法
(1)輸入:股票時間序列數據:x∈I1×I2…IN, (p,d,q),(P,D,Q),k,tol
(2)步驟1 多路延遲嵌入變換張力化Hankel張量

(5)步驟2 利用Tucker分解來檢測SARIMA
(8)fork=1,…,K

(11)forn=1,…,M

(15)fori=1,…,q
(18)步驟3 預測XT+1

本實驗在macOS10.15系統下進行,使用Intel@i7-8850H作為計算單元,內存為32 GB,編程語言為python,本文具體實驗配置見表2。

表2 實驗環境配置
本文以上海證券綜合指數、上海證劵綜合指數50、中證指數、ST中華A股指數為研究對象。財務時序數據樣本采用4支股票指數數據,2010年1月1日至2020年4月15日,4支股票共計9996個交易日的股票歷史數據。本文選取調整后的收盤價作為本模型的預測目標,如圖4所示。

圖4 4支股票數據變化
本文根據2010年~2020年上證指數數據,在這里按每一月的變化數據作為實驗案例。構建季節時間序列模型需要原始時序數據具有平穩的特性,如果原有時序數據為非平穩的數據,則需要對其進行一階差分運算,進而得到平穩的時序數據,最后根據平穩的時序數據來進行建模。由圖4可以看出股票數據波動較大,進而對其做一階差分,得到圖5,因為SARIMA模型需要的數據的平穩性,在此設定波動值的范圍為(-400,200)則為穩定,因此得到一階差分后數據波動相對平穩,則不再進行二階差分,所得到的一階差分圖如圖5所示。

圖5 股價數據一階差分變化
由于原始時序數據具有不平穩的特性,因此本文對其進行一階逐期差分和一階季節差分操作,進而得到平穩性的時序數據。因此d,D取1。此外,從自相關和偏自相關分析圖來看,自相關系數在隨機區間范圍內,自相關函數拖尾,因此q=3或4,Q=1為宜。由于偏自相關系數在隨機區間范圍內,偏自相關函數拖尾,因此最好是p=2或3,P=1。因為是按月劃分,則s=12。所得到的自相關分析(ACF)和偏自相關分析(PACF)如圖6、圖7所示。

圖6 自相關分析(ACF)

圖7 偏自相關分析(PACF)
因此,本文得到的模型如下SARIMA(2,1,3)(1,1,1)12, SARIMA(3,1,3)(1,1,1)12, SARIMA(2,1,4)(1,1,1)12, SARIMA(3,1,4)(1,1,1)12這4種指標模型。
2.2.1 SARIMA模型的評價指標
本文實驗結果采用R2、 赤池信息量準則(Akaike information criterion,AIC)、施瓦茨準則(Schwarz criterion,SC)3種評價指標對SARIMA模型進行篩選。
R2表示回歸方程在多大程度上解釋了因變量的變化,也是可以表現出方程對觀測值的擬合程度如何。R2值越大,
則模型擬合程度越好
(22)
AIC準則是評定最優配置的指標,它是通過擬合精度和未知參數得到加權函數來評定的。AIC函數值越小,模型則越優
(23)
SC準則是比較所含解釋變量個數不同的多元回歸模型的擬合優度。SC函數值越小,模型則越優
(24)
2.2.2 SARIMA模型設定
根據各個模型精度指標結果,發現模型SARIMA(2,1,3)(1,1,1)12的AIC和SC值為4種模型中較小,R2值4種模型中較大,因此可考慮采用SARIMA(2,1,3)(1,1,1)12進行建模,對比結果見表3。
本文實驗結果采用歸一化均方根誤差(normalized root mean square error,NRMSE)對預測性能進行評價。NRMSE是時間序列預測性能的常用指標,用來衡量觀測值和目標值之間的偏差,NRMSE就是將RMSE的值變成(0,1)之間,NRMSE 始終是非負的,NRMSE值越小,說明預測性能越準確。NRMSE評價指標的公式為
(25)

表3 4種模型的精確指標
本文比較了9種競爭方法:①經典ARIMA、Vector AR(VAR)和XGBoost;②兩種流行的行業預測方法:Prophet和DeepAR基于神經網絡的方法;③TTRNN和門控循環單元(GRU);④基于矩陣/張量的兩種方法:TRMF和MOAR;此外,本文將得到的塊Hankel張量作為MOAR的輸入,將評價多路延遲嵌入變換與MOAR結合得到BHT-MOAR模型,以評價多路延遲嵌入變換與張量分解的有效性,得到的結果如圖8所示。
結果如圖8所示:在所有情況下,BHT-SARIMA模型都優于所有現有的競爭算法。特別是對于較短的時間序列,BHT-SARIMA模型顯示出了更大的優勢。GRU模型和SARIMA模型得到了第二的好結果。注意BHT+MOAR模型在所有情況下的性能都比MOAR模型好。驗證了結合張量分解應用多路延遲嵌入變換的有效性。

圖8 各個模型NRMSE值比較
在圖9中展示了預測的平均時間成本。雖然在某些情況下TRMF模型略慢于VAR模型,但由于其核心部分是用C編程實現的,所以總體上是最快的算法。BHT-SARIM模型A是第二快的方法,但本文的實現并沒有針對效率進行優化,因為本文強調的是準確性。MOAR模型比本文提出的算法的慢,主要是因為它不直接使用低維核心張量進行訓練。在某些情況下,ARIMA模型和GRU模型是性能第二好的算法,但它們是最慢的方法(平均比BHT-SARIMA模型慢500倍以上)。

圖9 各個模型計算時間比較
最后,隨著迭代次數的增加,準確率最后可以達到約為0.810 067 99。其中本文挑選了3個算法模型與本文BHT-SARIMA算法模型進行比較,3個算法模型為:XGBoost、SARIMA、VAR,準確率比較如圖10所示。

圖10 表示各算法模型準確率的比較
當今,股市估值在整個經濟中占據著首要的地位,如果可以提出準確的金融時序預測結果對于規避股市風險和股市交易操作具有直接的指導作用。在本文中提出了將一種新的模型和金融相結合,形成一種新的金融時序預測算法。該方法利用多路延遲嵌入變換對SARIMA模型張量化并進行Tucker分解。這種模型有效解決了多條時間序列會產生的平穩性問題,從而提高預測的準確率。本次實驗采用上海證券綜合指數、上海證劵綜合指數50、中證指數、ST中華A股指數作為基本數據集,實驗對比分析了現有的各種預測模型方法以及各種模型計算的時間成本,多路延遲變換和張量分解的SARIMA算法得到的預測效果有了很大的提升,計算時間成本也得到了很好的減少。