【论文解读】一种基于时间卷积网络的知识驱动股票趋势预测方法
寫在前面
下面這篇文章的內容主要是來自論文《Knowledge-Driven Stock Trend Prediction and Explanation via Temporal Convolutional Network》。這篇文章提出了一種基于知識驅動的時間卷積網絡(TCN)的新穎股票趨勢預測方法,其中,文中通過對金融財經新聞等非結構化數據進行嵌入處理,然后將嵌入結果以及價格等數據一同輸入TCN用于股票趨勢預測。實驗驗證了提出的模型具有較好的預測效果,并且具有更好的模型的可解釋性。原論文在文末進行獲取。
1
摘要
深度神經網絡目前在股票趨勢預測中已經取得了良好的理論和實際成果。但是,這些模型大多都具有兩個共同的缺點,一是現有的方法對股票趨勢的突變不夠敏感,二是預測結果不具有可解釋性。對此,這篇文章提出了一種知識驅動的時間卷積網絡模型,Knowledge-Driven Temporal Convolutional Network (KDTCN) ,用于趨勢預測并進行解釋。首先,金融新聞等非結構化數據被用于構造知識圖結構數據,并對其進行嵌入處理,以得到嵌入事件。然后,嵌入事件和價格數據被一同用于股票價格趨勢的預測。
對于第一個問題,股票趨勢的突變指的是股票價格在極短的時間內發生劇烈的變動,如下圖的道瓊斯工業指數在2016/6/23日上漲1.29%,然后6/24日暴跌3.39%。因此,面對這樣的突變時,僅僅只通過股票價格數據是不充足的,并且股票價格的變動是隨著事件或者新聞而發生的。
針對這個問題,一系列文章展現了對事件進行編碼并結合深度學習技術進行特征學習以用于股票趨勢預測的有效性,盡管新聞事件能幫助人們迅速捕捉到股市走勢的突然變化,但新聞事件往往混亂而稀疏。所以,為了解決這個問題,這篇文章引入派生的知識來表示事件。即通過知識圖(Knowledge graphs, KGs)的形式進行數據表示,通過這種方式獲取的知識有兩個主要優勢:一是知識中豐富的語義信息有助于建立離散事件之間的關聯,二是知識在知識圖中具有結構化和易于參數化的特點。
對于第二個問題,即深度學習模型缺少可解釋性的問題。即使深度學習預測模型成功地檢測到股市的突變,也很難讓不懂機器學習原理的人理解這些變化發生的原因。例如,在事件驅動的股票趨勢預測中,人們可能會關注哪些事件對股票波動產生了較大的影響,以及這些事件是如何產生影響的。為了解決這一問題,這篇文章將可解釋的知識編碼到深度預測模型中,使得預測結果成為可解釋的。
這篇文章也是首次將時間卷積網絡模型用于股票趨勢預測的文章。之所以通過事件驅動的時間卷積網絡模型,是因為它在不同范圍的任務和數據集上優于標準的RNNs以及LSTMs,同時顯示出更長的有效時間。而從直覺上看,許多事件都是股票市場突變的原因,而事件和變化之間的相關分析提供了相應的解釋。實驗表明,KDTCN可以更快地對突變做出反應,并且在股票數據集上勝過對比方法,更進一步地,KDTCN便于解釋預測結果,特別是在突然變化的情況下。
2
模型介紹
這部分將對提出的KDTCN模型各個部分進行介紹,從整體來看,模型主要包括了兩個部分,即事件的嵌入以及時間卷積網絡模型。模型的整體框架圖如下所示:
事件的嵌入(Event Embedding)
事件嵌入的目標是學習事件元組的低維密集向量表示,我們首先從財經新聞中提取結構化事件元組??,其中,??表示行動者,??表示行動者的動作,??則表示動作執行到的目標。然后將得到的元組鏈接到知識圖(KG)中。事件元組嵌入是通過對每個條目的KG嵌入和單詞向量進行多通道連接來計算的。進一步地,文章中是通過開源庫Open IE將非結構化的新聞文本轉換為結構化的事件元組,過程是讀取一個句子并使用關聯短語和由關聯短語關聯的參數來提取事件元組。例如,“Britain exiting from the EU”這句話就被轉換為了元組(s=Britain, p=exiting from, o=EU)。之后,在對得到的事件元組進行一些去重以去除冗余的信息。
得到上面的事件元組之后,文章通過實體鏈接(Entity Linking)的方式來構造知識圖的子圖,由于事件元組中的主語s、謂詞p和對象o在KG中可能并不總是具有鏈接。此外,單個事件元組中的信息可能是稀疏的,缺乏多樣性。因此,文章中通過一種利用近鄰信息的方式來豐富子圖。為了實現上面提到的這種方式,文章制定了下面的規則:
在得到了知識圖之后,文章采用了TransE的方法來對知識圖進行嵌入處理,因為該方法能在一般情況下保持知識圖中的結構信息,且具有很強的魯棒性。進而,事件特征被參數化處理至不同通道,即??表示KG的鏈接通道,??表示KG的上下文通道,??表示詞向量通道,如下所示:
最后上面三者通過多信道鏈接以得到最后的事件嵌入,即表示為:
時間卷積網絡模型(Temporal Convolutional Network)
這篇文章中用到的TCN是一種一維的全卷積網絡(FCN)架構,其中的隱藏層神經元具有和輸入層一樣的神經元個數,為了實現后面每層具有相同的神經元個數,zero-padding被加入到每層網絡中去。進而,這個網絡的輸出可以和輸入具有相同的長度,具體如前面的TCN網絡架構圖所示。除此之外,TCN還用到了因果卷積,即t時刻的輸出只與t時刻的元素和前一層更早的元素進行卷積,這樣就不會引入未來數據。因此簡而言之,TCN即是一維FCN+因果卷積。
除此之外,考慮到網絡的深層結構以及長期依賴關系,常用于卷積結構中的技術像空洞卷積(dilated convolutions)和殘差連接(residual connections)。其中,對于一個一維輸入序列??和一個濾波器??來說,對序列中的??個元素的空洞卷積操作即是:
進而,殘差連接技術也被加入到網絡當中,其中,作者定義了一系列的殘差塊,其中每個塊包含了??個卷積層,其中第??層和第??個塊之間的激活值表示為??,即:
其中,由于因果卷積只作用域兩個時間戳,所以濾波器的權重可通過兩個權重矩陣表示,即上式中的??和??,??和??分別表示殘差塊之間的權重矩陣和偏置項。
最后,得到TCN的序列輸出之后,由于這是一個二分類問題,所以一個判別式函數被引入以將預測結果進行輸出,其中??表示事件,??則是從訓練數據中學習得到的參數。
3
實驗驗證
實驗驗證部分主要包括兩個部分,一是模型的預測效果的評估,二是預測結果的解釋。實驗數據用到了道瓊斯工業指數從2008/08/08到2016/01/01的日線數據,新聞文本數據用到了Reddit WorldNews Channel網站每個交易日前25的頭條新聞。對比方法用到了下表中的方法,用于比較對于下一日漲跌的預測。
首先,是將TCN模型和一般的模型的預測準確性的比較,可以看出TCN模型相較于其他的回歸模型以及LSTM要有更高的預測準確性。
進一步地,不同輸入形式的TCN模型被用于進行比較,可以看到提出的KDTCN模型實現了最高的預測準確性。
除此之外,模型對于股價突變的應對能力也進行了比較。其中,為了衡量價格的劇烈變化程度,下面的指標被用來進行評估:
其中??表示t時刻的股價,C表示股價的變化程度,它的值越大說明越可能發生了價格的突變,當它的絕對值大于某個閾值的時候,就可以說明在這個時段發生了突變。從下圖中可以看出,模型的預測效果和C之間的關系:
其中,當C位于0.015到0.036這個區間中時,模型可以實現最高的準確率。因此,下表統計了當C處于這個區間時的預測準確性和F1 Score指標。
從上表中可以看到提出的模型對于突變的預測準確性具有最好的效果。下面,從直觀的角度來對模型預測結果進行解釋,解釋主要從兩個角度展開,即可視化知識驅動事件對突變預測結果的影響,和通過將知識驅動事件與知識圖進行聯系,即對應知識驅動事件的背景事實。
不同事件作用對股價的影響是通過下面的方法進行衡量的。首先,其中,股價趨勢預測可以看作是一個二分類問題,為了讓其表示地更簡單些,可以表示為:
即每個事件e,和其對應的權重系數的加權求和的結果,y表示其分類的類別。之后,計算使得這個判別式取得最大值的類別作為輸出的預測結果。
這樣,每個事件e對于預測值都會有一個貢獻值,即下面的表示:
下面則從一個例子,直觀地可視化了這個結果。其中,相同顏色的柱狀圖具有相同的作用,柱狀圖的高低表示了作用的不同大小程度。下面的圖中,則可以看出第一個事件對于預測的預測結果起到了最重要的作用。
下圖展示了將事件元組鏈接到知識圖的可視化的一個例子。圖中解釋了知識驅動事件如何作用于股票的波動,以及為什么知識驅動模型是有效的。此外,通過結合對事件效應的解釋,文章證明了知識驅動的事件是突變的常見來源。
4
總結
本文提出了一種新的知識驅動的時間卷積網絡(KDTCN)來解決股票趨勢預測和突變解釋的問題。文中,先從財經新聞中提取結構化事件元組,進而利用知識圖將離散事件元組相互關聯。通過對事件元組和知識圖三元組的訓練,我們可以得到知識事件的嵌入。在此基礎上,再采用多通道連接的方法,將價格向量和事件嵌入作為預測模型的輸入。利用TCN對股票走勢進行預測,并基于知識對預測結果進行解釋。在股票數據集上的實驗表明,將結構化知識與TCN相結合,可以在預測股票突變趨勢時大大優于深度模型,并可以對突變預測結果進行解釋。除此之外,通過事件效應可視化和增強知識的事件元組可視化,解釋了知識對股票突變趨勢的影響。
在本文的研究基礎上,作者還確定了幾個本研究的潛在改進方向,主要包括不同事件對股票走勢影響的一般性評價,對事件長期依賴性的研究,以及對預測結果解釋的更具體的實驗。在股票交易日,會有各種各樣的事件影響股票的走勢。我們將找出它們的不同影響,并根據影響對這些事件進行分類,例如,哪些類型的事件會在很大程度上影響股票走勢。此外,事件的影響可能會隨著時間的推移而改變,因此捕捉事件的動態影響也是很有價值的。此外,在本文中,作者只給出了一個案例的實驗來解釋知識如何幫助建立稀疏事件之間的關聯。在未來,提出一些定量指標來評價其有效性的知識,并給出更具體的解釋是值得進一步研究的。
參考文獻:
Deng S , ?Zhang N , ?Zhang W , et al. Knowledge-Driven Stock Trend Prediction and Explanation via Temporal Convolutional Network[C]// KGTA-WWW-19. 2019.
關注《人工智能量化實驗室》公眾號,后臺發送042可獲取原論文。
或者在:
https://www.researchgate.net/publication/331545500_Knowledge-Driven_Stock_Trend_Prediction_and_Explanation_via_Temporal_Convolutional_Network?下載
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯總結
以上是生活随笔為你收集整理的【论文解读】一种基于时间卷积网络的知识驱动股票趋势预测方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【学术相关】专家:硕博研究生阶段还是要发
- 下一篇: 【数据分析】“上海名媛”其实是“拼夕夕名