字幕組雙語原文:告別RNN,迎接TCN
英語原文:Farewell RNNs, Welcome TCNs
翻譯:雷鋒字幕組(聽風1996、君思、小哲)
聲明:本文假定讀者具備LSTM神經網絡模型直覺和結構背後的初步基礎知識。
1.深度學習在FTS中的應用背景
2.值得關注的FTS數據預處理實踐
3.時間卷積網絡結構
4.時間卷積網絡在FTS中的實例應用
基於TCN進行知識驅動下的股票走勢預測與可解釋性
1.背景
金融時間序列(FTS)建模是一種具有悠久歷史的實踐,它最早在20世紀70年代初掀起了算法交易的革命。金融時間序列的分析分為兩類:基本面分析和技術分析。這兩種做法都受到了有效市場假說(EMH)的質疑。自1970年EMH首次發表以來備受爭議,該假說假設股票價格最終是不可預測的。但這並沒有限制試圖通過使用線性、非線性和基於ML的模型來模擬FTS的研究,我們在下文中會提到。
由於金融時間序列具有非穩定、非線性、高噪聲的特點,傳統的統計模型難以對其進行高精度的預測。因此,近年來越來越多地嘗試將深度學習應用於股市預測,儘管遠未達到完美的程度。下面會舉出幾個例子。
2013
Lin 等。 提出了一種使用支持向量機建立兩部分特徵選擇和預測模型的股票預測方法,證明了該方法具有比常規方法更好的泛化能力。
2014
Wanjawa 等。 提出了一種人工神經網絡,該網絡使用具有誤差反向傳播的前饋多層感知器來預測股票價格。結果表明,該模型可以預測典型的股票市場。
2017
輸入LSTM-有關將LSTM神經網絡應用於時間序列數據的研究激增。
Zhao 等。將時間加權函數添加到LSTM神經網絡,結果超過了其他模型。
2018
Zhang 等。 後來結合了卷積神經網絡(CNN)和遞歸神經網絡(RNN)提出了一種新的體系結構,即廣域神經網絡(DWNN)。結果表明,與常規RNN模型相比,DWNN模型可以將預測的均方誤差降低30%。
Ha 等。CNN被用於開發定量股票選擇策略,以確定股票趨勢,然後使用LSTM預測股票價格,以推廣用於定量計時策略的混合神經網絡模型,以增加利潤。
Jiang 等。 使用LSTM神經網絡和RNN構建模型,發現LSTM可以更好地應用於庫存預測。
2019
Jin 等。 在模型分析中增加了投資者的情緒趨勢,並引入經驗模態分解(EMD)與LSTM相結合,以獲得更準確的股票預測。基於注意力機制的LSTM模型在語音和圖像識別中很常見,但在金融領域卻很少使用。
Radford 等。 目前 流行的GPT-3的前身,GPT-2的目標是設計一個多任務學習器,它結合了預訓練和監督式微調,以實現更靈活的傳輸形式。因此,它具有1542M參數,比其他比較模型大得多。
Shumin 等。一種使用時間卷積網絡( KDTCN)進行知識趨勢預測和解釋的知識驅動方法 。他們首先從財經新聞中提取結構化事件,然後利用知識圖獲得事件嵌入。然後,將事件嵌入和價格值結合在一起以預測庫存趨勢。實驗表明,該方法可以(i)更快地應對突然的變化,並且可以勝過股票數據集上的最新方法。(這將是本文的重點。)
2020
Jiayu等人和Thomas等人提出了基於近期新聞序列的混合注意力網絡來預測股票趨勢。帶有注意力機制的LSTMs由於其獨特的存儲單元結構,防止了長期依賴性,因此表現優於傳統的LSTMS。
Hongyan等人提出了一種探索性的架構,稱為時空卷積注意力網絡Temporal Convolutional Attention-based Network(TCAN),它結合了時空卷積網絡和注意力機制。TCAN包括兩個部分,一個是時間注意力Temporal Attention(TA),捕捉序列內部的相關特徵,另一個是增強殘差Enhanced Residual(ER),提取淺層的重要信息並傳輸到深層。
上面的時間線只是為了讓大家了解FTS在深度學習中的歷史背景,但並不是淡化序列模型學術界其他成員在類似時間段所貢獻的重要工作。
不過,這裡有一點值得一提。可能的情況是,FTS預測領域的學術出版物往往具有誤導性。由於大量使用模擬器,許多快車道預測論文往往誇大其性能以獲得認可,並對其模型進行過度擬合。這些論文中宣稱的許多業績難以複製,因為它們未能針對所預測的特定財務交易系統的未來變化進行概括。
金融時間序列數據--尤其是股票價格,會隨著季節性、噪聲和自動修正而不斷波動。傳統的預測方法採用移動平均線和差分法來減少預測的噪聲。然而,FTS是傳統的非穩態,並且表現出有用信號和噪聲的重疊,這使得傳統的去噪效果不佳。
小波分析在圖像和信號處理等領域取得了顯著的成就。由於其能夠彌補傅立葉分析的不足,開始逐漸被引入經濟和金融領域。小波變換在解決傳統的時間序列分析問題上具有獨特的優勢,它可以從不同的時域和頻域尺度對金融時間序列數據進行分解和重構。
小波變換實質上是利用多尺度特徵對數據集進行去噪,有效地將有用信號從噪聲中分離出來。在Jiayu Qiu, Bin Wang, Changjun Zhou的論文中,作者們利用coif3小波函數的三個分解層,通過其信噪比(SNR)和均方根誤差(RMSE)來評價小波變換的效果。SNR越高,RMSE越小,小波變換的去噪效果越好。
Jiayu Qiu1, Bin Wang, Changjun Zhou
在FTS中,選擇使用哪項數據作為驗證集並不是一件小事。事實上,有無數種方法可以做到這一點,對於不同波動性的股票指數,必須仔細考慮。
固定點方法是最天真、最常用的方法。給定一定的拆分大小,數據的起點是訓練集,終點是驗證集。但是,這種方法選擇起來特別生疏,尤其是對於亞馬遜這樣的高成長性股票。之所以會這樣,是因為亞馬遜的股價一開始的波動性很低,隨著股票的增長,會出現越來越大的波動行為。
AMZN年初到現在的價格(來源:谷歌財經)
因此,我們將在低波動率動態上訓練一個模型,並期望它在預測中處理未見的高波動率動態。事實上,這對於這些類型的股票來說,確實是很困難的,而且是以性能損失為代價的。因此,如果我們只考慮這一點,我們的驗證損失和業績基準可能會產生誤差。但是,對於像英特爾這樣波動性比較恆定的股票(COVID危機前),這種方法卻是合理的。
滾動原點重新校準法比固定原點法的不穩定性稍小,因為它允許通過取各種不同分割數據的平均值來計算驗證損失,以避免遇到高波動率時間段的不代表性問題。
最後,滾動窗口法通常是最有用的方法之一,因為它特別適用於長時間段運行的FTS算法。事實上,這個模型輸出的是多個滾動窗口數據的平均驗證誤差。這意味著我們得到的最終值更能代表近期的模型性能,因為我們較少受到遠期性能強或差的偏見。
數據清洗技術可視化 (Thomas Hollis, Antoine Viscardi, Seung Eun Yi, 2018)
Thomas Hollis、Antoine Viscardi、Seung Eun Yi所做的一項研究表明,滾動窗口(RW)和滾動原點重新校準(ROR)所描述的性能都比簡單的固定原點法略好(58%和60%)。這表明,對於亞馬遜這樣的波動性股票,使用這些數據清洗方法將是不可避免的。
性能比較
時序卷積網絡,或者簡稱TCN, 是一種處理序列建模任務的卷積神經網絡的變體, 它混合了RCNN與CNN架構. 對TCN的初步實驗評估表明, 簡單的卷積結構在不同任務和數據集上的性能優於標準遞歸網絡(如LSTMs), 同時表現出更加長期的高效的記憶.
TCN的顯著特點是:
架構中的卷積是因果關係,這意味著從未來到過去沒有信息「洩漏」。
同RCNN一樣, 這個架構可以獲取任意長度的序列,並將它們映射為一個相同長度的序列. TCN採用非常深的網絡(增強的殘差網絡)和擴張卷積的混合,來處理非常長且有效的歷史規模(例如, 網絡可以看到過去很遠並且作出預測的能力)。
如上所述,TCN基於兩個原則:一是網絡產生的輸出與輸入長度相同,二是從將來到過去都不會洩漏的事實。為了實現第一點,TCN採用一維全卷積網絡(FCN)架構,每個隱藏層的長度與輸入層相同,並加入長度為零的填充(內核大小-1),以保持後續層與前幾層的長度相同。為了實現第二點,TCN使用了因果卷積,即在時間t的輸出只與時間t及之前層中的元素進行卷積。
簡單來說。TCN = 1D FCN + 因果卷積。
一個簡單的因果卷積只能回顧一個大小與網絡深度線性的歷史。這使得在序列任務上應用上述的因果卷積具有挑戰性,尤其是那些需要較長歷史的任務。Bai,Kolter和Koltun(2020)實現的解決方案,是採用膨脹卷積,以實現指數級大的接收場。更正式地說,對於一個一維序列輸入x∈Rⁿ和一個濾波器f:{0,...,k-1}→R,對該序列中元素s上的空洞卷積操作F被定義為:
其中d是膨脹係數,k是濾波器大小,s - d - i 表示過去的方向。因此,膨脹相當於在每兩個相鄰的濾波器抽頭之間引入一個固定的步長。當d=1時,膨脹卷積減小為常規卷積。使用較大的膨脹使頂層的輸出能夠代表更大範圍的輸入,從而有效地擴大了ConvNet的接受場。
擴張因果卷積,擴張因數d = 1、2、4,濾波器大小k =3。接收場能夠覆蓋輸入序列中的所有值。
3.1.3 殘差連接
殘差塊有效地允許各層學習對恆等映射更改,而不是整個轉換,這已被反覆證明對非常深的網絡有利。
由於TCN的接受場取決於網絡深度n以及濾波器大小k和擴張因子d,因此穩定更深更大的TCN就變得非常重要。
使用TCNs進行序列建模的幾個優點。
並行性。在RNNs中,後面的時間步的預測必須等待其前面的時間步完成,而TCNs則不同,由於每層都使用了相同的濾波器,因此卷積可以並行完成。因此,在訓練和評估中,一個長的輸入序列可以在TCN中作為一個整體進行處理,而不是像RNN那樣按順序處理。
靈活的接受場大小。TCN可以通過多種方式改變其接受欄位大小。例如,堆疊更多的擴張(因果)卷積層,使用更大的膨脹因子,或者增加濾波器的尺寸大小都是可行的選擇。因此,TCNs可以更好地控制模型的內存大小,並且容易適應不同的域。
穩定的梯度。與循環架構不同的是,TCN的反傳播路徑與序列的時間方向不同。因此,TCN避免了爆炸/消失梯度的問題,這是RNN的一個主要問題(這也導致了LSTM和GRU的發展)。
訓練時對內存要求低。特別是在輸入序列較長的情況下,LSTMs和GRU很容易佔用大量內存來存儲其多單元門的部分結果。然而,在TCN中,濾波器是跨層共享的,反向傳播路徑只取決於網絡深度。因此在實踐中發現,門控RNNs比TCNs可能要多使用高達倍數的內存。
可變長度輸入。就像RNNs以遞歸的方式對可變長度的輸入進行建模一樣,TCNs也可以通過滑動1維卷積核來接收任意長度的輸入。這意味著,對於任意長度的順序數據,可以採用TCNs作為RNNs的直接替代。
使用TCNs有兩個顯著的缺點。
在典型序列建模任務上一些TCN網絡與一些循環架構的評估結果, 這些任務通常用來對RNN的變體進行基準測試(Bai, Kolter and Koltun, 2020)
執行總結:
這些結果強烈的表明了極小調優的通用TCN架構在廣泛的序列建模任務中優於規範的循環結構, 這些任務通常用於對遞歸體系結構本身的性能進行基準測試。
4. 通過TCN進行知識驅動的股票走勢預測和解釋。
股票趨勢預測中的深度神經網絡大多有兩個共同的缺點。(i)目前的方法對股票趨勢的突然變化不夠敏感,(ii)預測結果對人類來說無法解釋。針對這兩個問題,Deng等人2019年提出了一種新型的知識驅動時空卷積網絡(Knowledge-Driven Temporal Convolutional Network,KDTCN)用於股票趨勢預測和解釋,通過將背景知識、新聞事件和價格數據融入到深度預測模型中,解決股票趨勢具有突變性的預測和解釋問題。
針對突發性變化的預測問題,從財經新聞中提取事件,並將其結構化為事件元組,如 "英國退出歐盟 "表示為(英國,退出,歐盟 )。然後將事件元組中的實體和關係連結到KG,如Freebase和Wikidata。其次,將結構化的知識、文本新聞以及價格值分別進行矢量化,然後再將它們連在一起。最後,將這些嵌入物反饋到基於TCN的模型中。
實驗表明,KDTCN可以(i)更快地對突然變化做出反應,並在股票數據集上優於最先進的方法,以及(ii)便於解釋預測,特別是在突然變化的情況下。
此外,基於具有突然變化的預測結果,以解決做出解釋的問題,通過使用知識圖譜(KG)將事件的影響可視化,呈現事件之間的連結。通過這樣做,我們可以做出以下解釋:(i)知識驅動的事件如何在不同程度上影響股市波動;(ii)知識如何幫助將事件與股票趨勢預測的突然變化相關聯。
請注意,如果您需要進一步的技術細節,請參考本文,以下部分僅是對Shumin等人論文的概述。
這裡提到的基本TCN模型架構是從上面的第3節派生而來的-由因果卷積,殘差連接和擴張卷積組成的通用TCN架構。
KDTCN架構的概況如下圖所示。
原始模型的輸入是價格X,新聞語料庫N,以及知識圖譜G,價格值經過歸一化處理後,映射成價格向量,表示為:
其中,每個向量p t 代表股票交易日t的實時價格向量,T為時間跨度。
而對於新聞語料,將新聞片段表示為事件集ε;然後,構造事件元組e=(s,p,o),其中p為動作/謂語,s為參與者/主體,o為動作執行的對象;然後,將事件元組中的每個項目與KG聯繫起來,對應KG中的實體和關係;最後,通過訓練事件元組和KG三元組獲得事件嵌入V. Shumin等人記錄了此過程的更詳細信息。
最後,將事件嵌入與價格向量相結合,輸入基於TCN的模型。
數據集:
時間序列價格數據 X:DJIA指數每日價值記錄的價格數據集。
文本新聞數據 N:由Reddit世界新聞頻道的歷史新聞頭條組成的新聞數據集(基於投票的前25個的帖子)。
結構化知識數據 G:由兩個常用的研究用開放知識圖譜--Freebase和Wikidata的結構化數據構建的子圖譜。
基準方法:
不同輸入的基線模型。在第一列中,前綴WB表示詞嵌入,EB表示事件嵌入,PV表示價格向量,KD表示知識驅動。請注意,事件嵌入(a)和事件嵌入(b)分別表示無KG和有KG的事件嵌入。
KDTCN的性能在三個方面進行了基準測試:(i)基本TCN體系結構的評估,(ii)不同模型輸入對TCN的影響,以及(iii)基於TCN的模型對於突然變化的輸入數據的性能。
TCN基本架構:
用不同的基本預測模型對DJIA指數數據集的股票趨勢預測結果。
需要注意的是,這部分報告的所有實驗都只是輸入了價格值。
TCN在股票趨勢預測任務上的表現大大優於基線模型。TCN的性能比傳統的ML模型(ARIMA),或者深度神經網絡(如LSTM和CNN)都要好得多,說明TCN在序列建模和分類問題上有更明顯的優勢。
使用TCN的不同模型輸入:
可以看出,WB-TCN和EB-TCN都比TCN獲得了更好的性能,說明文本信息有助於提高預測能力。
KDTCN得到的準確率和F1得分都是最高的,這樣的結果證明了模型輸入與結構化知識、財經新聞和價格整合的有效性。
對於突然變化的數據輸入的模型性能:
使用不同的模型輸入,本地DJIA指數數據集的突然變化的股票趨勢預測結果。
據觀察,具有知識驅動的事件嵌入輸入的模型(例如KDEB-TCN和KDTCN)可以大大勝過基於數字數據和基於文本數據的模型。這些比較結果表明,知識驅動的模型在迅速應對股市的突然變化方面具有優勢。
下面補充說明如何量化股票波動程度。
首先,通過計算兩個相鄰股票交易日之間的股票波動程度D(fluctuation)的差來獲得突變的時間間隔。
其中,x 在時間 t 表示股票交易日 t 的股票價格值,那麼波動度的差值 C的定義為:
如果|Ci|超過一定的閾值,則可以認為股價在第i天發生了突變。
為何在沒有ML專業知識的情況下,知識驅動事件是導致人類突然變化的常見原因的解釋是從兩個方面完成的。(i)將知識驅動事件對預測結果的影響與突變可視化;(ii)通過將事件與外部KG聯繫起來,檢索知識驅動事件的背景事實。
事件的效果可視化:
下圖中的預測結果是DJIA指數的走勢將下降。需要注意的是,相同顏色的柱狀物具有相同的事件效果,柱狀條的高度反映了效果的程度,事件人氣從左到右依次遞減。直觀上看,人氣較高的事件對股票走勢預測的影響應該更大,變化突然,但並不總是如此。
事件影響對股票走勢預測的例子
其他幾乎所有具有負效應的事件都與這兩個事件有關,例如,(英鎊,下跌,近5%)和(北愛爾蘭,要求對聯合愛爾蘭進行民調)。
雖然也有一些事件對預測股票走勢上漲有正向作用,且人氣較高,即(富裕,越來越,更加富裕),但總的作用是負向的。因此,股指波動的突變可以看成是事件效果和人氣關注度的綜合結果。
連結到KG的事件圖元的可視化:
與事件相關聯的KG三元組說明
首先,搜索股票走勢中影響大或人氣高的事件元組。然後,回溯到包含這些事件的新聞文本。最後,通過實體連結,檢索與事件元組連結的相關KG三元組。在上圖中,每個事件元組用藍色標記,其中的實體連結到KG。
這些列舉的事件元組,如(英國,退出,歐盟)、(英國,投票離開,歐盟)、(英鎊,下跌,近5%)、(J.K.羅琳,主導了,蘇格蘭獨立)、(北愛爾蘭,呼籲對聯合愛爾蘭進行民意調查),從字面上看,並沒有很強的相關性。但是,通過與KG的聯繫,它們可以建立起相互之間的關聯,並與Brexit和歐盟公投事件緊密相關。結合事件效應的解釋,可以證明知識驅動的事件是突變發生的常見來源。
5.結論
循環神經網絡在序列建模中享有的優勢可能在很大程度上是歷史發展遺留的問題。直到近期,在引入諸如擴張卷積和殘餘連接等架構元素之前,卷積架構確實比較薄弱。最近的學術研究表明,在這些元素的作用下,簡單的卷積架構在不同的序列建模任務中比LSTMs等遞歸架構更有效。由於TCNs的清晰度和簡單性相當高,在Bai,S.,Kolter,J.和Koltun,V.,2020中提出,卷積網絡應該被視為序列建模的天然起點和強大工具。
此外,從上文TCNs在股票趨勢預測中的應用可以看出,通過結合新聞事件和知識圖譜,TCNs可以明顯優於規範的RNNs。
雷鋒字幕組是一個由 AI 愛好者組成的翻譯團隊,匯聚五百多位志願者的力量,分享最新的海外AI資訊,交流關於人工智慧技術領域的行業變革與技術創新的見解。
團隊成員有大數據專家、算法工程師、圖像處理工程師、產品經理、產品運營、IT諮詢人、在校師生;志願者們來自IBM、AVL、Adobe、阿里、百度等知名企業,北大、清華、港大、中科院、南卡羅萊納大學、早稻田大學等海內外高校研究所。
如果,你也是位熱愛分享的AI愛好者。歡迎與雷鋒字幕組一起,學習新知,分享成長。
雷鋒網(公眾號:雷鋒網)雷鋒網
雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。