李大舟,于錦濤,高 巍,陳思思,朱風(fēng)蘭
(沈陽(yáng)化工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,遼寧 沈陽(yáng) 110142)
金融時(shí)間序列預(yù)測(cè)對(duì)于社會(huì)有很大的價(jià)值,有助于把握社會(huì)經(jīng)濟(jì)、市場(chǎng)經(jīng)濟(jì)走向。對(duì)于經(jīng)濟(jì)領(lǐng)域,金融時(shí)間序列預(yù)測(cè)更是一項(xiàng)非常重要的預(yù)測(cè)工具。
自回歸移動(dòng)平均模型[1](autoregressive integrated moving average model,ARIMA)具有很強(qiáng)的靈活性,是如今應(yīng)用廣泛的模型之一。然而,在預(yù)測(cè)分析中使用ARIMA模型會(huì)導(dǎo)致預(yù)測(cè)值的偏差。季節(jié)時(shí)間序列模型(seasonal differential autoregressive sliding average model,SARIMA)[2]是在原有模型的上加上時(shí)間序列的季度變化特性,從而形成的短期預(yù)測(cè)模型,該模型會(huì)在一定程度上提高線性建模能力。本文在對(duì)原始時(shí)序數(shù)據(jù)進(jìn)行處理時(shí),單一地使用ARIMA模型會(huì)引起預(yù)測(cè)的偏差,因此本文選用SARIMA模型。然而,大多數(shù)現(xiàn)有的SARIMA模型需要一個(gè)接一個(gè)地預(yù)測(cè)多個(gè)時(shí)間序列。SARIMA模型沒(méi)有考慮相關(guān)時(shí)間序列之間的內(nèi)在關(guān)系,這將導(dǎo)致這些性能可能會(huì)受到限制。因此就需要張量分解來(lái)更好地捕捉內(nèi)在的時(shí)間相關(guān)性。
張量分解是從張量數(shù)據(jù)中提取有價(jià)值信息的一種強(qiáng)大的計(jì)算技術(shù)[3]。利用這一優(yōu)勢(shì),基于張量分解的方法可以同時(shí)處理多個(gè)時(shí)間序列,并獲得良好的預(yù)測(cè)性能[4]。例如,提出了與AR模型集成的Tucker分解[5]。獲得高階時(shí)間序列預(yù)測(cè)的多線性正交AR(MOAR)模型和多線性約束AR模型。此外,一些工作將分解與神經(jīng)網(wǎng)絡(luò)結(jié)合起來(lái),用于更復(fù)雜的張量時(shí)間序列[6]。
多路延遲嵌入變換[7]是一種新興的技術(shù),它將可用數(shù)據(jù)轉(zhuǎn)換為高階塊Hankel張量。本文沿著時(shí)間方向?qū)Χ鄠€(gè)時(shí)間序列進(jìn)行多路延遲嵌入變換,從而得到一個(gè)高階塊Hankel張量,它表示每個(gè)時(shí)間點(diǎn)的所有時(shí)間序列作為高維嵌入空間中的張量。
本文利用塊Hankel張量,利用低秩Tucker分解,利用正交因子矩陣投影到核心張量。這些投影矩陣被共同用于最大限度地保持核心張量之間的時(shí)間連續(xù)性,這種方法可以比原始時(shí)間序列數(shù)據(jù)更好地捕捉內(nèi)在的時(shí)間相關(guān)性。同時(shí),本文將經(jīng)典SARIMA模型張量化,并將SARIMA模型直接應(yīng)用于核心張量上。最后,本文在下一個(gè)時(shí)間點(diǎn)預(yù)測(cè)一個(gè)新的核心張量,然后通過(guò)逆Tucker分解和逆多路延遲嵌入變換同時(shí)獲得所有時(shí)間序列數(shù)據(jù)的預(yù)測(cè)結(jié)果。本文通過(guò)低秩Tucker分解將塊Hankel張量與SARIMA模型結(jié)合成一個(gè)新的預(yù)測(cè)模型。該模型利用嵌入空間中的低秩數(shù)據(jù)結(jié)構(gòu),捕捉多個(gè)時(shí)間序列之間的內(nèi)在相關(guān)性,從而獲得良好的預(yù)測(cè)結(jié)果。
文中具體變量定義見(jiàn)表1。
表1 變量定義
本文為了有效和高效地解決時(shí)間序列預(yù)測(cè)問(wèn)題,通過(guò)低秩塔克分解將塊漢克爾張量與SARIMA模型結(jié)合起來(lái)。該方法的主要思想如圖1所示。首先,本文采用多路延遲嵌入變換將時(shí)間序列表示為低秩塊漢克爾張量。然后本文在連續(xù)核心張量上顯式地使用季節(jié)性差分自回歸滑動(dòng)平均模型來(lái)預(yù)測(cè)未來(lái)的樣本。然后,本文利用塔克分解將高階張量投影到壓縮核心張量中,進(jìn)而得到預(yù)測(cè)結(jié)果。
圖1 本文提出的算法構(gòu)建過(guò)程
張量的維數(shù)是有序的,每個(gè)維數(shù)都是它的一種模式。張量是多維數(shù)據(jù)的專有名詞。向量和矩陣可分別被認(rèn)為是一階和二階張量。在現(xiàn)實(shí)世界中,很多數(shù)據(jù)比如視頻等都是以張量形式存在。張量分解是一種強(qiáng)大的計(jì)算技術(shù),通過(guò)將原數(shù)據(jù)分解從中提取有價(jià)值的特征,其中從低階張量擴(kuò)展到高階張量是很重要的。用一組三階張量表示從低階張量擴(kuò)展到高階張量是很簡(jiǎn)單的,整體變化如圖2所示。
圖2 三階張量擴(kuò)展到高階向量過(guò)程
(1)
(2)
當(dāng)SN∈τN(IN-τN+1)×IN是一個(gè)重復(fù)矩陣,并且Fold(I,τ)τ1(I1-τ1+1)×…×τN(IN-τN+1)→τ1(I1-τ1+1)×…×τN(IN-τN+1)中輸入張量構(gòu)造高階塊Hankel張量。從而,本文得到了的逆多路延遲嵌入變換
(3)
其中,?是Moore-Penrose逆矩陣。Moore-Penrose逆矩陣是對(duì)廣義逆矩陣的進(jìn)一步約束,它能保證解的唯一性。圖3中展示了股票數(shù)據(jù)轉(zhuǎn)換過(guò)程的實(shí)例。
圖3 表示原始數(shù)據(jù)的逆多路延遲嵌入變換
通過(guò)這種方法,本文得到了高維嵌入空間中的塊Hankel張量,其中每個(gè)塊Hankel張量包含所有時(shí)間序列在同一個(gè)時(shí)間點(diǎn)的股票數(shù)據(jù)。本文只沿著時(shí)間模式應(yīng)用多路延遲嵌入變換,因?yàn)槎鄠€(gè)時(shí)間序列之間的關(guān)系通常不比它們的時(shí)間相關(guān)性強(qiáng)。因此,沒(méi)有必要對(duì)所有可能沒(méi)有意義的模式進(jìn)行多路延遲嵌入變換,同時(shí)花費(fèi)更多的時(shí)間。
本文應(yīng)用正交Tucker分解來(lái)探索在低秩嵌入空間中作為壓縮核心張量的多個(gè)時(shí)間序列之間的內(nèi)在相關(guān)性。通過(guò)低秩Tucker分解將塊Hankel張量與SARIMA模型合并,可以有效地解決多重時(shí)間序列預(yù)測(cè)問(wèn)題。對(duì)于一個(gè)三階張量,由Tucker分解可以得到3個(gè)二階的因子矩陣和一個(gè)三階的核張量。換句話說(shuō):Tucker分解通過(guò)因子矩陣(也稱作映射矩陣)將原張量映射到一個(gè)具有良好特性的核張量。一個(gè)向量由粗體小寫字母x∈I。 矩陣用粗體大寫字母X表示X∈I1×I2。 高階(N≥3)張量由粗體書法字母表示I1×I2…IN, Tucker分解具有明確的物理意義,它是高階PCA的一種形式,它可以體現(xiàn)原始張量的大部分性質(zhì),因此本文的分解形式采用Tucker分解。
首先設(shè)xt作為任意時(shí)間點(diǎn)的實(shí)際數(shù)據(jù)值。xt可以看作是過(guò)去p值和過(guò)去q觀測(cè)隨機(jī)誤差的線性函數(shù),即ARIMA(p,q)模型
(4)
(5)
設(shè)季節(jié)性序列為yt, 則一次周期為s的季節(jié)差分表示為
Δsyt=(1-Ls)yt=yt-yt-s
(6)
通過(guò)使用D季節(jié)差異使非平穩(wěn)季節(jié)序列來(lái)過(guò)渡道平穩(wěn)序列,并且在此基礎(chǔ)上建立季節(jié)時(shí)間序列預(yù)測(cè)模型
(7)
假設(shè)μt序列具有平穩(wěn)性、非自相關(guān)性。當(dāng)μt具有非平穩(wěn)性且存在ARMA因子時(shí),則把μt描述為
?p(L)Δdμt=θq(L)νt
(8)
將上述公式結(jié)合在一起,可得到
(9)
其中,P、Q、p、q、d、D定義如表1所示。上式稱為 (p,d,q)(P,D,Q)s階季節(jié)時(shí)間序列模型。上述模型用SARIMA(p,d,q)(P,D,Q)s表示。對(duì)于季度序列,s=4;對(duì)于月度序列,s=12。
(10)
(11)
(12)
其中,e是SARIMA模型命令的和,也是每個(gè)時(shí)間序列的最小輸入長(zhǎng)度。接下來(lái),本文使用增廣拉格朗日方法來(lái)解決這個(gè)問(wèn)題。為了便于式(12)的推導(dǎo),通過(guò)沿著模型展開(kāi)每個(gè)張量變量,重新表示優(yōu)化問(wèn)題
(13)
(14)
(15)
(16)
(17)
本文通過(guò)沿最后一種模式消除的正交約束來(lái)展現(xiàn)出全正交性的效果(視為嵌入空間中每一個(gè)時(shí)間模式)。這種方法可能會(huì)放松對(duì)時(shí)間平滑性的嚴(yán)重約束,從而使所提出的模型對(duì)參數(shù)的可變性更加靈活和穩(wěn)健,從本文的實(shí)驗(yàn)結(jié)果中可以觀察到。本文在沒(méi)有正交約束的情況下放寬了最后的時(shí)間模式,然后計(jì)算了方程的偏導(dǎo)。因此,本文更新它為
(18)
(19)
計(jì)算這個(gè)函數(shù)的偏導(dǎo),使其等于零,可得到
(20)
(21)
綜上所述,本文提出的融合多路延遲變換和張量分解的SARIMA算法(BHT-SARIMA)偽代碼如下:
Algorithm:BHT-SARIMA算法
(1)輸入:股票時(shí)間序列數(shù)據(jù):x∈I1×I2…IN, (p,d,q),(P,D,Q),k,tol
(2)步驟1 多路延遲嵌入變換張力化Hankel張量
(5)步驟2 利用Tucker分解來(lái)檢測(cè)SARIMA
(8)fork=1,…,K
(11)forn=1,…,M
(15)fori=1,…,q
(18)步驟3 預(yù)測(cè)XT+1
本實(shí)驗(yàn)在macOS10.15系統(tǒng)下進(jìn)行,使用Intel@i7-8850H作為計(jì)算單元,內(nèi)存為32 GB,編程語(yǔ)言為python,本文具體實(shí)驗(yàn)配置見(jiàn)表2。
表2 實(shí)驗(yàn)環(huán)境配置
本文以上海證券綜合指數(shù)、上海證劵綜合指數(shù)50、中證指數(shù)、ST中華A股指數(shù)為研究對(duì)象。財(cái)務(wù)時(shí)序數(shù)據(jù)樣本采用4支股票指數(shù)數(shù)據(jù),2010年1月1日至2020年4月15日,4支股票共計(jì)9996個(gè)交易日的股票歷史數(shù)據(jù)。本文選取調(diào)整后的收盤價(jià)作為本模型的預(yù)測(cè)目標(biāo),如圖4所示。
圖4 4支股票數(shù)據(jù)變化
本文根據(jù)2010年~2020年上證指數(shù)數(shù)據(jù),在這里按每一月的變化數(shù)據(jù)作為實(shí)驗(yàn)案例。構(gòu)建季節(jié)時(shí)間序列模型需要原始時(shí)序數(shù)據(jù)具有平穩(wěn)的特性,如果原有時(shí)序數(shù)據(jù)為非平穩(wěn)的數(shù)據(jù),則需要對(duì)其進(jìn)行一階差分運(yùn)算,進(jìn)而得到平穩(wěn)的時(shí)序數(shù)據(jù),最后根據(jù)平穩(wěn)的時(shí)序數(shù)據(jù)來(lái)進(jìn)行建模。由圖4可以看出股票數(shù)據(jù)波動(dòng)較大,進(jìn)而對(duì)其做一階差分,得到圖5,因?yàn)镾ARIMA模型需要的數(shù)據(jù)的平穩(wěn)性,在此設(shè)定波動(dòng)值的范圍為(-400,200)則為穩(wěn)定,因此得到一階差分后數(shù)據(jù)波動(dòng)相對(duì)平穩(wěn),則不再進(jìn)行二階差分,所得到的一階差分圖如圖5所示。
圖5 股價(jià)數(shù)據(jù)一階差分變化
由于原始時(shí)序數(shù)據(jù)具有不平穩(wěn)的特性,因此本文對(duì)其進(jìn)行一階逐期差分和一階季節(jié)差分操作,進(jìn)而得到平穩(wěn)性的時(shí)序數(shù)據(jù)。因此d,D取1。此外,從自相關(guān)和偏自相關(guān)分析圖來(lái)看,自相關(guān)系數(shù)在隨機(jī)區(qū)間范圍內(nèi),自相關(guān)函數(shù)拖尾,因此q=3或4,Q=1為宜。由于偏自相關(guān)系數(shù)在隨機(jī)區(qū)間范圍內(nèi),偏自相關(guān)函數(shù)拖尾,因此最好是p=2或3,P=1。因?yàn)槭前丛聞澐?,則s=12。所得到的自相關(guān)分析(ACF)和偏自相關(guān)分析(PACF)如圖6、圖7所示。
圖6 自相關(guān)分析(ACF)
圖7 偏自相關(guān)分析(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種指標(biāo)模型。
2.2.1 SARIMA模型的評(píng)價(jià)指標(biāo)
本文實(shí)驗(yàn)結(jié)果采用R2、 赤池信息量準(zhǔn)則(Akaike information criterion,AIC)、施瓦茨準(zhǔn)則(Schwarz criterion,SC)3種評(píng)價(jià)指標(biāo)對(duì)SARIMA模型進(jìn)行篩選。
R2表示回歸方程在多大程度上解釋了因變量的變化,也是可以表現(xiàn)出方程對(duì)觀測(cè)值的擬合程度如何。R2值越大,
則模型擬合程度越好
(22)
AIC準(zhǔn)則是評(píng)定最優(yōu)配置的指標(biāo),它是通過(guò)擬合精度和未知參數(shù)得到加權(quán)函數(shù)來(lái)評(píng)定的。AIC函數(shù)值越小,模型則越優(yōu)
(23)
SC準(zhǔn)則是比較所含解釋變量個(gè)數(shù)不同的多元回歸模型的擬合優(yōu)度。SC函數(shù)值越小,模型則越優(yōu)
(24)
2.2.2 SARIMA模型設(shè)定
根據(jù)各個(gè)模型精度指標(biāo)結(jié)果,發(fā)現(xiàn)模型SARIMA(2,1,3)(1,1,1)12的AIC和SC值為4種模型中較小,R2值4種模型中較大,因此可考慮采用SARIMA(2,1,3)(1,1,1)12進(jìn)行建模,對(duì)比結(jié)果見(jiàn)表3。
本文實(shí)驗(yàn)結(jié)果采用歸一化均方根誤差(normalized root mean square error,NRMSE)對(duì)預(yù)測(cè)性能進(jìn)行評(píng)價(jià)。NRMSE是時(shí)間序列預(yù)測(cè)性能的常用指標(biāo),用來(lái)衡量觀測(cè)值和目標(biāo)值之間的偏差,NRMSE就是將RMSE的值變成(0,1)之間,NRMSE 始終是非負(fù)的,NRMSE值越小,說(shuō)明預(yù)測(cè)性能越準(zhǔn)確。NRMSE評(píng)價(jià)指標(biāo)的公式為
(25)
表3 4種模型的精確指標(biāo)
本文比較了9種競(jìng)爭(zhēng)方法:①經(jīng)典ARIMA、Vector AR(VAR)和XGBoost;②兩種流行的行業(yè)預(yù)測(cè)方法:Prophet和DeepAR基于神經(jīng)網(wǎng)絡(luò)的方法;③TTRNN和門控循環(huán)單元(GRU);④基于矩陣/張量的兩種方法:TRMF和MOAR;此外,本文將得到的塊Hankel張量作為MOAR的輸入,將評(píng)價(jià)多路延遲嵌入變換與MOAR結(jié)合得到BHT-MOAR模型,以評(píng)價(jià)多路延遲嵌入變換與張量分解的有效性,得到的結(jié)果如圖8所示。
結(jié)果如圖8所示:在所有情況下,BHT-SARIMA模型都優(yōu)于所有現(xiàn)有的競(jìng)爭(zhēng)算法。特別是對(duì)于較短的時(shí)間序列,BHT-SARIMA模型顯示出了更大的優(yōu)勢(shì)。GRU模型和SARIMA模型得到了第二的好結(jié)果。注意BHT+MOAR模型在所有情況下的性能都比MOAR模型好。驗(yàn)證了結(jié)合張量分解應(yīng)用多路延遲嵌入變換的有效性。
圖8 各個(gè)模型NRMSE值比較
在圖9中展示了預(yù)測(cè)的平均時(shí)間成本。雖然在某些情況下TRMF模型略慢于VAR模型,但由于其核心部分是用C編程實(shí)現(xiàn)的,所以總體上是最快的算法。BHT-SARIM模型A是第二快的方法,但本文的實(shí)現(xiàn)并沒(méi)有針對(duì)效率進(jìn)行優(yōu)化,因?yàn)楸疚膹?qiáng)調(diào)的是準(zhǔn)確性。MOAR模型比本文提出的算法的慢,主要是因?yàn)樗恢苯邮褂玫途S核心張量進(jìn)行訓(xùn)練。在某些情況下,ARIMA模型和GRU模型是性能第二好的算法,但它們是最慢的方法(平均比BHT-SARIMA模型慢500倍以上)。
圖9 各個(gè)模型計(jì)算時(shí)間比較
最后,隨著迭代次數(shù)的增加,準(zhǔn)確率最后可以達(dá)到約為0.810 067 99。其中本文挑選了3個(gè)算法模型與本文BHT-SARIMA算法模型進(jìn)行比較,3個(gè)算法模型為:XGBoost、SARIMA、VAR,準(zhǔn)確率比較如圖10所示。
圖10 表示各算法模型準(zhǔn)確率的比較
當(dāng)今,股市估值在整個(gè)經(jīng)濟(jì)中占據(jù)著首要的地位,如果可以提出準(zhǔn)確的金融時(shí)序預(yù)測(cè)結(jié)果對(duì)于規(guī)避股市風(fēng)險(xiǎn)和股市交易操作具有直接的指導(dǎo)作用。在本文中提出了將一種新的模型和金融相結(jié)合,形成一種新的金融時(shí)序預(yù)測(cè)算法。該方法利用多路延遲嵌入變換對(duì)SARIMA模型張量化并進(jìn)行Tucker分解。這種模型有效解決了多條時(shí)間序列會(huì)產(chǎn)生的平穩(wěn)性問(wèn)題,從而提高預(yù)測(cè)的準(zhǔn)確率。本次實(shí)驗(yàn)采用上海證券綜合指數(shù)、上海證劵綜合指數(shù)50、中證指數(shù)、ST中華A股指數(shù)作為基本數(shù)據(jù)集,實(shí)驗(yàn)對(duì)比分析了現(xiàn)有的各種預(yù)測(cè)模型方法以及各種模型計(jì)算的時(shí)間成本,多路延遲變換和張量分解的SARIMA算法得到的預(yù)測(cè)效果有了很大的提升,計(jì)算時(shí)間成本也得到了很好的減少。