吳明暉,張廣潔,金蒼宏
(1.浙大城市學(xué)院計算機(jī)與計算科學(xué)學(xué)院,杭州 310015;2.浙江大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,杭州 310027)
時間序列預(yù)測問題研究變量隨著時間變化而變化的規(guī)律。傳統(tǒng)的時間序列預(yù)測模型包括移動平均法、指數(shù)平滑法、自適應(yīng)過濾法、自回歸模型、差分自回歸移動平均模型、狀態(tài)空間模型等,這些傳統(tǒng)模型計算簡單,但是對復(fù)雜模式的時間序列預(yù)測問題解決能力相對較差。比如,張碧瓊等[1]使用二重向量自回歸模型分析匯率對于股票價格的影響;Contreras 等[2]使用差分自回歸移動平均模型預(yù)測未來電價。近年來,由于神經(jīng)網(wǎng)絡(luò)模型的建模能力更強(qiáng),可以捕獲時間序列內(nèi)部復(fù)雜的模式,所以也逐漸被用于時間序列預(yù)測。神經(jīng)網(wǎng)絡(luò)模型主要包括前饋神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)、長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)等。Gao 等[3]利用股票市場技術(shù)指標(biāo),使用LSTM 網(wǎng)絡(luò)模型對股票序列進(jìn)行擬合。姚小強(qiáng)等[4]提出了一種基于樹結(jié)構(gòu)的LSTM 模型,用于預(yù)測國際黃金現(xiàn)貨交易走勢。張栗粽等[5]使用Elman 神經(jīng)網(wǎng)絡(luò)模型并融合隨機(jī)因素優(yōu)化網(wǎng)絡(luò)權(quán)重,對互聯(lián)網(wǎng)金融風(fēng)險進(jìn)行評估。但是,上述模型僅使用了單因子的數(shù)據(jù),由于數(shù)據(jù)本身的信息量有限,模型的預(yù)測結(jié)果也因此受到了限制,所以本文使用多模態(tài)數(shù)據(jù)融合的模型進(jìn)行時間序列預(yù)測。
股票價格預(yù)測是時間序列預(yù)測的經(jīng)典問題,本文選擇股票價格序列作為研究對象。股票價格受到許多因素的影響,序列的隨機(jī)性比較強(qiáng),單因子模型較難取得很好的效果,需要更多的外界信息對股票價格序列的預(yù)測提供指導(dǎo)。多模態(tài)融合旨在提高機(jī)器理解多種來源信息的能力,研究如何融合不同模態(tài)的信息,形成統(tǒng)一表征,可以彌補(bǔ)單因子模型的缺點。多模態(tài)融合的模型不僅可以綜合多模態(tài)數(shù)據(jù)中的互補(bǔ)信息,得到更完整的信息表示,也可以提供相同的信息,提高系統(tǒng)的魯棒性。多模態(tài)融合模型包括多核學(xué)習(xí)、概率圖模型、神經(jīng)網(wǎng)絡(luò)模型等,其中神經(jīng)網(wǎng)絡(luò)的融合效果在很多任務(wù)中表現(xiàn)更好。Gao 等[6]使用了注意力機(jī)制,提出了一種動態(tài)融合多模態(tài)特征模態(tài)內(nèi)和模態(tài)間信息流的模型,在VQA 2.0視覺問答數(shù)據(jù)集上取得了當(dāng)時最優(yōu)的性能??渍鸬龋?]使用時間卷積網(wǎng)絡(luò)(Temporal Convolutional Network,TCN)[8]對未來天氣進(jìn)行預(yù)測,使用雙線性融合的模型提高了對特征的提取能力。Kim 等[9]使用多模態(tài)低秩雙線性池化(Multimodal Low-rank Bilinear pooling,MLB)模型提取特征,在VQA 數(shù)據(jù)集的可視化問答任務(wù)中,MLB 模型比原先的雙線性池化模型效率更高。Yu 等[10]提出多模態(tài)因式分解雙線性池化(Multimodal Factorized Bilinear pooling,MFB)模型,MFB 模型對MLB 模型進(jìn)行改進(jìn),將MFB 模型和注意力機(jī)制結(jié)合,以學(xué)習(xí)圖像和問題之間的關(guān)聯(lián)關(guān)系,提高模型在視覺問答問題上的性能。
由于當(dāng)前的單因子模型預(yù)測能力不足,而多模態(tài)融合模型的效果仍然有提升的空間,所以本文提出了一種基于全局注意力機(jī)制和跳躍連接的多模態(tài)融合模型Skip-Fusion,對時間序列進(jìn)行預(yù)測。本文模型綜合考慮了股票文本和股票價格兩種模態(tài)數(shù)據(jù),并使用全局注意力機(jī)制對多個股票文本的特征進(jìn)行了融合,充分利用文本中的信息以提高模型的預(yù)測結(jié)果,模型中的跳躍連接可以捕獲多模態(tài)數(shù)據(jù)不同層次的信息,獲得更好的多模態(tài)融合效果。在真實的股票價格數(shù)據(jù)集上進(jìn)行實驗,實驗結(jié)果表明相較于以往的單模態(tài)和多模態(tài)特征融合模型,本文模型能在股票價格的時間序列預(yù)測任務(wù)中得到更小的損失和更高的收益。
基于多模態(tài)信息融合的時間序列預(yù)測模型的模型框架如圖1 所示。模型使用任意行業(yè)的股票研究報告的文本數(shù)據(jù)和該行業(yè)的股票價格數(shù)據(jù)兩種多模態(tài)數(shù)據(jù)作為輸入,訓(xùn)練出可遷移的股票預(yù)測模型,可以對該行業(yè)股票未來若干天的整體價格走勢的均值進(jìn)行預(yù)測。模型由多模態(tài)特征的提取與表示以及多模態(tài)信息融合的股票價格預(yù)測兩個模塊組成。
圖1 本文模型框架Fig.1 Framework of the proposed model
多模態(tài)特征的提取與表示模塊主要由段落級別的特征提取與表示、詞級別的特征提取與表示、股票價格數(shù)值的特征提取與表示三部分組成。
多模態(tài)信息融合的股票價格預(yù)測模塊包括輸入層、TCN、輸出層三部分。輸入層和輸出層具體結(jié)構(gòu)為前饋神經(jīng)網(wǎng)絡(luò),對于模塊的所有層,層與層之間使用了跳躍連接的結(jié)構(gòu),用于融合多層次的多模態(tài)特征。
研報文本特征包括段落級別和詞級別兩種特征。段落級別特征指研報文本本身,由于研報標(biāo)題給出了研報的核心觀點、核心事件,所以選擇研報標(biāo)題提取段落級別特征;詞級別特征指股評人在研報中給出的股票走勢的評級詞匯,比如“強(qiáng)于大勢”“中性”等。
使用詞向量技術(shù)提取段落級別的特征,使用BERT(Bidirectional Encoder Representations from Transformers)預(yù)訓(xùn)練模型[11-12]的編碼器將單個段落表示成文本向量。由于BERT 在訓(xùn)練詞向量時,目標(biāo)訓(xùn)練任務(wù)與本文的目標(biāo)任務(wù)并不相同,為了獲得泛化效果更好的文本向量,選擇編碼器第4 層的輸出進(jìn)行平均后的結(jié)果作為文本向量表示。
對于某個時間段t中獲得的多個研報,形成D份段落文本,每個文本被映射成一個768 維文本向量dit∈R1×768,t時間段對應(yīng)的文本向量集合表示為:
時間序列{1,2,…,t,…,T}對應(yīng)的段落級別特征矩陣可以表示為文本向量集合按時間順序拼接:
段落級別特征維度較高,而數(shù)值特征是一個簡單的數(shù)字,所以需要對特征進(jìn)行降維。使用主成分分析(Principal Component Analysis,PCA)降維方法保留文本特征中最重要的100個特征,單個文本向量∈R1×768被降維成向量PCA() ∈R1×100。
詞級別的特征為研報評級詞匯,將未指定評級也算作一類評級級別,則研報評級共28種,其他27種評級對應(yīng)的具體評級詞匯包括“持有”“推薦”“看好”“強(qiáng)烈推薦”“優(yōu)于大勢”“弱于大市”“中配”“標(biāo)配”“增持”“買入”“強(qiáng)于大市”“謹(jǐn)慎推薦”“優(yōu)異”“優(yōu)于大市”“Outperform(跑贏大市)”“落后大勢”“回避”“中性”“低配”“領(lǐng)先大市”“同步”“超配”“同步大勢”“落后大市”“跟隨大市”“減持”“同步大市”。
一條研報對應(yīng)一個評級,對于時間段t內(nèi)的D條研報,可以獲得D個詞級別的特征,其中為單個詞向量,使用獨熱編碼表示,則時間段t對應(yīng)的研報詞級別向量集合為:
不同時間段的詞級別特征序列按時間順序拼接,得到詞級別的特征矩陣:
單日有多個段落級別和詞級別的特征,但只有一個股票價格數(shù)據(jù),三者難以對齊;并且不同文本對于結(jié)果的貢獻(xiàn)不同,需要對不同文本賦予不同權(quán)重。本文使用全局注意力機(jī)制對段落級別特征進(jìn)行加權(quán),提出全局注意力機(jī)制模塊,結(jié)構(gòu)如圖2 所示。
圖2 全局注意力機(jī)制結(jié)構(gòu)Fig.2 Structure of global attention mechanism
已知某個時間段t有股票段落級別向量集合St和詞級別的向量集合Rt,兩者一一對應(yīng)。使用詞級別的評級特征對段落級別特征進(jìn)行指導(dǎo),如果評級看漲,則段落級別特征應(yīng)該預(yù)示看漲。本文提出如下基于注意力機(jī)制的計算方法,對多個段落級別特征的權(quán)重進(jìn)行計算:
首先將單日多個段落級別、詞級別的向量拼接成矩陣,段落級別的特征矩陣Concat(St)維度為D× 100,詞級別特征矩陣Concat(Rt)維度為D× 28。初始化一個維度為100 × 20的可訓(xùn)練矩陣WS和一個維度為28 × 20 的可訓(xùn)練矩陣WR,分別將段落級別和詞級別的特征矩陣與WS、WR相乘,將相乘得到的兩個矩陣進(jìn)行哈達(dá)瑪積,得到注意力矩陣ASR。然后對注意力矩陣進(jìn)行正則化、最大池化操作,得到一個D維的權(quán)重向量,使用Softmax 操作對權(quán)重向量歸一化,得到最終的權(quán)重向量ΑW={w1,w2,…,wd,…,wD}。
使用權(quán)重對單日多個段落級別向量進(jìn)行加權(quán),得到多文本融合的單一向量表示:
全局注意力矩陣的值通過預(yù)訓(xùn)練固定下來,預(yù)訓(xùn)練將文本與股價漲跌關(guān)聯(lián)起來,輸入某個時間段的段落級別和詞級別向量,通過注意力機(jī)制加權(quán)后,以該時間段的漲跌為目標(biāo),1 表示漲,0 表示跌,訓(xùn)練注意力機(jī)制的權(quán)值。訓(xùn)練完成后,直接使用訓(xùn)練好的注意力矩陣獲得段落級別的多文本融合的向量表示。
單日的多個詞級別的特征也需要進(jìn)行融合,以方便與單日的價格特征對齊,使用平均池化進(jìn)行融合,得到一個28 維的向量:
對于數(shù)值數(shù)據(jù),按時間順序進(jìn)行拼接,得到數(shù)值序列。數(shù)值特征選擇股票價格的每日收盤價格,股票每日收盤價格是股票市場當(dāng)日收盤前一段很短時間的交易價格的加權(quán)平均,是很常用的指示股票市場價格變化的指標(biāo)。
將第t天的收盤價格表示為pt,則時間序列{1,2,…,t,…,T}對應(yīng)的股票價格序列為:
使用移動平均值(Moving Average,MA)的方法進(jìn)行數(shù)據(jù)平滑,減小序列中的噪聲。已知對于股票價格序列PT,選擇平滑窗口大小為5 個交易日,則第T天的股票價格的移動平均值為:
將不同日期的移動平均值按時間順序相連,得到移動平均線。移動平均線是股票市場中很重要的參考指標(biāo),收盤價的移動平均線能夠很好地反映股票價格變動的趨勢。股票價格的移動平均線可表示為:
股票價格可能存在數(shù)據(jù)偏移的問題,比如由于股票不斷上漲,導(dǎo)致訓(xùn)練時數(shù)據(jù)基本集中在20 元左右,預(yù)測時數(shù)據(jù)卻集中在200 元左右;或者發(fā)生股票分割時,股票價格由200 元每股分割為10 元每股。為了消除數(shù)據(jù)偏移的影響,需要對數(shù)據(jù)去趨勢化。
使用均值去趨勢化解決數(shù)據(jù)偏移問題,均值去趨勢化計算股票價格序列的均值,用股票價格減去均值,得到去趨勢化的序列:
將段落級別向量序列、詞級別向量序列、數(shù)值序列按時間對齊、拼接,得到股票價格預(yù)測模型的輸入。對于序列中的某一天t,段落級別和詞級別的兩種文本特征進(jìn)行拼接,得到文本特征Concat(Emb(St),Emb(Rt)) ∈R1×128,數(shù)值特征為pt∈R1×1,假設(shè)共有T天的數(shù)據(jù),則文本特征按時間順序可以拼接得到T×128維的矩陣,數(shù)值特征得到T×1維的矩陣。
本文模型的輸入層由前饋層組成,用于對輸入進(jìn)行線性變換,對輸入的淺層特征進(jìn)行提取。經(jīng)過變換,由Concat(Emb(St),Emb(Rt))得到向量Ct∈RC×1,由pt得到向量Vt∈RV×1。將前饋神經(jīng)網(wǎng)絡(luò)的輸出、數(shù)值輸入數(shù)據(jù),按時間對齊拼接,得到后續(xù)TCN 的輸入:
使用卷積神經(jīng)網(wǎng)絡(luò)的變體TCN 進(jìn)行多模態(tài)特征融合。TCN 模型由若干相同的層組成,每個層包含兩個相同子層,子層包含空洞因果卷積層、權(quán)重歸一化、線性整流函數(shù)(Rectified Linear Unit,ReLU)、Dropout 層四部分,每個層上使用殘差網(wǎng)絡(luò)的結(jié)構(gòu)。
本文對TCN 的激活函數(shù)進(jìn)行了調(diào)整,將線性整流函數(shù)替換成了Sigmoid 函數(shù)。因為去趨勢化后的股票價格可能為正也可能為負(fù),而線性整流函數(shù)將負(fù)值的輸入直接映射為0,相當(dāng)于讓負(fù)值股票價格直接失效,并不適用于股票價格預(yù)測。
TCN 的輸出表示如下:
其中:H表示TCN 最后一層輸出通道的大??;Ot對應(yīng)時間段t經(jīng)過輸入層和TCN 后得到的特征。
本文模型的輸出層也是一個前饋網(wǎng)絡(luò),用于預(yù)測結(jié)果。將數(shù)值輸入、數(shù)值數(shù)據(jù)的前饋層輸出、TCN 的輸出按時間對齊,拼接成向量,使用前饋網(wǎng)絡(luò)計算,WF和bF為前饋網(wǎng)絡(luò)的權(quán)重與偏置值,計算得到維度為1 的預(yù)測值:
由于不同模態(tài)數(shù)據(jù)的淺層特征和深層特征對結(jié)果的貢獻(xiàn)并不相同,使用跳躍連接的結(jié)構(gòu)對多模態(tài)數(shù)據(jù)不同層次的特征進(jìn)行融合以達(dá)到更好的融合效果,本文的跳躍連接表示成如下數(shù)學(xué)形式:
公式分為x、F1和F2三個部分:x表示輸入,包含最淺層的特征;函數(shù)F1對輸入進(jìn)行特征提取,得到淺層特征;將前兩者相加,通過函數(shù)F2處理得到更深層次的特征。將前三者相加得到跳躍連接的輸出。
本文的跳躍連接和殘差連接的結(jié)構(gòu)相似,但是本文的跳躍連接的每一層都使用到了之前所有層的直接輸出,所以是一個層與層之間前向全連接的結(jié)構(gòu)。當(dāng)網(wǎng)絡(luò)深度增加時,公式可以進(jìn)行遞推,讓每一層使用前面所有層的輸出作為輸入。如圖3 所示,假設(shè)共有L層,每一層對應(yīng)的函數(shù)為FL,Norm 表示正則化操作,則遞推公式為:
圖3 跳躍連接Fig.3 Skip connection
其中FL函數(shù)根據(jù)不同任務(wù)的特點選擇不同的形式。比如,在圖像處理中,F(xiàn)L通??梢匀∪B接層、卷積層等處理方式,在自然語言處理中,F(xiàn)L通常可以使用Seq2Seq(Sequence-to-Sequence)系列的模型提取特征。
選擇東方財富網(wǎng)上的醫(yī)療行業(yè)研究報告數(shù)據(jù),以及國泰安CSMAR 數(shù)據(jù)庫(China Stock Market &Accounting Research Database)中醫(yī)療行業(yè)的12 只股票每日收盤價格數(shù)據(jù)構(gòu)建數(shù)據(jù)集。
在股票價格預(yù)測中,為了獲得更加中立的研報數(shù)據(jù),選擇使用行業(yè)研報作為具體信息源。行業(yè)研報體現(xiàn)了專業(yè)人員對于某個行業(yè)發(fā)展趨勢的總體把握,與具體股票無關(guān),所以可以不受具體企業(yè)的影響,更加中立地判斷。選擇預(yù)測未來若干天股票價格走勢的均值是由于股票波動性大,而研報內(nèi)容通常和未來若干天的股票價格變化有關(guān),所以預(yù)測未來一段時間的股票價格而非具體某一天的走勢更為合理。
通過爬蟲技術(shù)對東方財富網(wǎng)的研報進(jìn)行爬取,獲取到2018年10月30日至2020年10月29日共71915條研報數(shù)據(jù),過濾非醫(yī)療行業(yè)的研報,共獲得4 171 篇醫(yī)療行業(yè)研報文本,如表1 所示。由于研報標(biāo)題和評級詞匯能夠表明研報的主題和作者態(tài)度,選用這兩部分作為多模態(tài)融合的文本數(shù)據(jù)。對研報數(shù)據(jù)進(jìn)行預(yù)處理與文本清洗,對標(biāo)題文本刪除停用詞、標(biāo)點,對評級詞匯進(jìn)行去重和統(tǒng)計。
表1 研報數(shù)據(jù)示例Tab.1 Examples of research report data
股票價格數(shù)值從CSMAR 數(shù)據(jù)庫獲取,獲取了12 只醫(yī)療領(lǐng)域的股票的日收盤價格,時間跨度為2018 年10 月30 日至2020 年10 月29 日。12 只醫(yī)療領(lǐng)域的股票分別為國際醫(yī)學(xué)、迪安診斷、宜華健康、創(chuàng)新醫(yī)療、愛爾眼科、美年健康、光正眼科、覽海醫(yī)療、通策醫(yī)療、盈康生命、泰格醫(yī)藥、金域醫(yī)學(xué)。
由于股票開盤日期和研報發(fā)布日期并不完全一致,所以對股票開盤日期和研報發(fā)布日期取交集,保證獲取到的每日數(shù)據(jù)有意義。處理后剩余471 日的數(shù)據(jù),將數(shù)據(jù)按時間順序排序,前300 日的數(shù)據(jù)作為訓(xùn)練集,后171 日作為測試集。
使用滑動窗口的方法構(gòu)造數(shù)據(jù)集。首先確定一個采樣時間窗口T和采樣時間間隔λ,然后從某個時間點起始,在之后大小為T的時間窗口內(nèi),每隔時間間隔λ采樣一次,每次采樣獲得當(dāng)時的股票收盤價格和若干份研報文本,最后得到長度為的股票價格序列和研報序列。歷史序列的時間窗口T取30 日,采樣時間間隔λ取1 日,使用歷史序列中30日的股票價格和研報序列對未來進(jìn)行預(yù)測,預(yù)測目標(biāo)是未來5 個交易日股票價格的均值。
數(shù)據(jù)集包括12 只股票在471 個交易日的數(shù)據(jù),一共有5 652 條數(shù)據(jù),使用構(gòu)造出的數(shù)據(jù)集,訓(xùn)練了一個可以對行業(yè)股票總體走勢進(jìn)行預(yù)測的股票價格預(yù)測模型。
使用均方根誤差(Root Mean Square Error,RMSE)對模型進(jìn)行訓(xùn)練,使用均方根誤差、可決系數(shù)(R-Squared)以及日收益(Daily Return,R)來評估模型。
均方根誤差表示預(yù)測值與實際值之間的偏差,公式如下:
可決系數(shù)用于評估模型的擬合優(yōu)度,公式如下:
日收益表示下一日相對當(dāng)日能獲得多少收益,它衡量了模型指導(dǎo)股票購買的實際盈利能力。本文對這個計算公式作出一些調(diào)整,使用未來5 日的股價均值替代下一日的股價。假設(shè)第t日股票價格為pt,未來5 日股價均值為pt+1:t+5,模型預(yù)測的未來5 日的股價均值為。當(dāng)預(yù)測值比當(dāng)日上漲,則買入,收益為未來5 日股價均值減去當(dāng)日實際價格;反之不購買,日收益為0。計算公式為:
為了驗證本文提出的模型的效果,將它與其他單模態(tài)和多模態(tài)融合的模型進(jìn)行比較。
單模態(tài)的模型選取了6 種:1)樸素預(yù)測法(Na?ve),使用當(dāng)天收盤的價格作為未來的預(yù)測值;2)移動平均法(MA),使用當(dāng)天及之前若干天價格的平均值作為未來的預(yù)測值;3)指數(shù)移動平均法(Exponential Moving Average,EMA),使用當(dāng)天及之前若干天價格的加權(quán)平均值作為未來的預(yù)測值;4)差分自回歸移動平均(AutoRegressive Integrated Moving Average,ARIMA)模型,它是自回歸模型的一種,對于不平穩(wěn)序列,ARIMA 會使用差分法對序列平穩(wěn)化,使用移動平均法進(jìn)行數(shù)據(jù)平滑,然后使用自回歸模型捕獲序列變化規(guī)律;5)門控循環(huán)單元(Gated Recurrent Unit,GRU)模型[13],是LSTM 模型的變體,具有重置門和更新門兩個門結(jié)構(gòu),在保持LSTM 效果的同時,使得計算變得簡單;6)TCN 模型[8,14],是CNN 的變體,對長序列的處理能力更強(qiáng),也更適用于時間序列的預(yù)測。
多模態(tài)融合的模型選取了4 種:1)拼接(Concat),直接將多模態(tài)數(shù)據(jù)拼接來進(jìn)行多模態(tài)融合;2)哈達(dá)瑪(Hadamard)積,將多模態(tài)數(shù)據(jù)的特征矩陣進(jìn)行哈達(dá)瑪積運算,進(jìn)行特征融合;3)MLB[9,15],是雙線性模型的一種,使用一個矩陣Wi對兩種模態(tài)的輸入x和x′進(jìn)行融合,使用矩陣分解的方法將Wi分解為兩個維度為1 的低秩矩陣Ui和,得到一個輸出特征,?是哈達(dá)瑪積,不同的矩陣Wi對x和x′融合可以得到不同輸出特征,將不同輸出特征拼接,得到多模態(tài)融合特征;4)MFB[10,15],類似MLB 模型,與MLB 的區(qū)別在于,分解所得的低秩矩陣的維度大于1,所以得到的輸出特征為zi=,此處Ε表示一個全為1 的矩陣。
實驗中,單模態(tài)模型選擇調(diào)參結(jié)果最優(yōu)的模型。多模態(tài)融合實驗只改變多模態(tài)融合模型,不改變輸入以及模型參數(shù),多模態(tài)融合模型的參數(shù)設(shè)置見表2。
表2 多模態(tài)融合模型的參數(shù)設(shè)置Tab.2 Parameter setting of multimodal fusion model
實驗得到的測試集的實驗結(jié)果如表3 所示。本文提出的Skip-Fusion 模型在RMSE 上獲得了最好的結(jié)果,在RSquared 上也得到了比較高的分?jǐn)?shù),尤其是在日收益(R)上獲得了最好的結(jié)果,表示本模型相比其他模型能更好地指導(dǎo)股票交易,并獲得實際收益。
表3 單模態(tài)和多模態(tài)融合模型實驗結(jié)果Tab.3 Experimental results of single-modal and multimodal fusion models
Na?ve 模型、MA 模型、EMA 模型、ARIMA 模型4 個傳統(tǒng)模型在R-Squared 上得到較高的分?jǐn)?shù),表示它們可以較好地對曲線進(jìn)行擬合,但是它們的RMSE 很高,R 也很低,說明這些模型雖然可以對結(jié)果進(jìn)行擬合,但是卻無法指導(dǎo)實際的股票交易。
除了上述四個模型,GRU、TCN、Concat、Hadamard、MLB和MFB 模型在RMSE、R-Squared、R 三個指標(biāo)上可以獲得較低的損失,也有較高的擬合優(yōu)度和日收益,可以用于指導(dǎo)股票交易,但是Skip-Fusion 模型與這六個模型相比,在三個指標(biāo)上都獲得了最好的結(jié)果,其結(jié)果更具指導(dǎo)價值。
本文提出的Skip-Fusion 模型與Concat 模型非常相似,在輸入層對文本和數(shù)值特征都采取拼接的方式融合了淺層特征,兩者的主要區(qū)別在于Skip-Fusion 增加了跳躍連接的結(jié)構(gòu)對多模態(tài)數(shù)據(jù)進(jìn)行多層次的信息融合,說明使用跳躍連接可以更好地利用多模態(tài)數(shù)據(jù),提高模型預(yù)測的準(zhǔn)確率和可靠性。
單模態(tài)的TCN 模型和所有多模態(tài)融合模型中,都使用了TCN 模型用于股票價格預(yù)測,但是相較于單模態(tài)的TCN 模型,多模態(tài)融合模型中的Concat 模型和Skip-Fusion 模型在三種評價指標(biāo)上都獲得更好的結(jié)果,表明多模態(tài)數(shù)據(jù)可以提升預(yù)測結(jié)果,但是仍然需要選擇出合適的多模態(tài)融合模型,才能夠充分利用多模態(tài)數(shù)據(jù)的信息。
本文對模型運行的時間復(fù)雜度也進(jìn)行了分析。已知輸入的文本特征為T× 128 維的矩陣,數(shù)值特征為T× 1 維的矩陣。GRU 與TCN 模型的層數(shù)均為1,GRU 的隱藏層單元數(shù)為HGRU,TCN 的隱藏層通道數(shù)為HTCN,MLB 和MFB 提取特征的矩陣個數(shù)都為HM,MFB 矩陣分解的秩為K,輸入層的前饋網(wǎng)絡(luò)的隱藏層單元數(shù)HF,輸出層的前饋網(wǎng)絡(luò)隱藏層單元數(shù)為1,則時間復(fù)雜度如表4 所示。
表4 時間復(fù)雜度分析Tab.4 Time complexity analysis
可以發(fā)現(xiàn)單模態(tài)模型的時間復(fù)雜度相對較低。由于HF、HM、K取值一般處于同一個數(shù)量級,在100 以內(nèi),所以多模態(tài)融合模型中,除了MFB 計算量相對較大,其他模型的時間復(fù)雜度并沒有顯著差別??梢?,本文提出的多模態(tài)融合模型相較于其他多模態(tài)融合模型,可以在不提高時間復(fù)雜度的情況下改善股票價格時間序列預(yù)測的結(jié)果。
基于以上分析,在進(jìn)行多模態(tài)融合的時間序列預(yù)測任務(wù)時:如果數(shù)據(jù)比較簡單,不需要使用較深的網(wǎng)絡(luò)進(jìn)行建模時,使用基于拼接的多模態(tài)特征融合模型就可以得到比較好的結(jié)果;當(dāng)需要使用比較深的網(wǎng)絡(luò)時,可以使用預(yù)訓(xùn)練模型預(yù)先提取出數(shù)據(jù)內(nèi)在關(guān)聯(lián),然后使用基于跳躍連接的多模態(tài)特征融合模型融合不同層次的數(shù)據(jù)特征,達(dá)到提高預(yù)測能力的同時不增加運算復(fù)雜度的效果。
本文提出了一種基于多模態(tài)信息融合的時間序列預(yù)測模型Skip-Fusion。針對單因子模型預(yù)測能力不足,多模態(tài)融合模型的預(yù)測能力仍有待提升的問題,提出了全局注意力機(jī)制和跳躍連接相結(jié)合的模型框架,全局注意力機(jī)制的預(yù)訓(xùn)練模型對多文本特征進(jìn)行融合,獲取數(shù)據(jù)內(nèi)部特征相關(guān)關(guān)系,跳躍連接的結(jié)構(gòu)可以對多模態(tài)數(shù)據(jù)不同層次的特征進(jìn)行融合。在股票價格時間序列預(yù)測問題上進(jìn)行實驗,相較于以往單因子和多模態(tài)融合的模型,本文模型可以在不增加時間復(fù)雜度的基礎(chǔ)上,提高預(yù)測準(zhǔn)確度和可靠性。