做者:宋彤彤前端
相信不少人都會對股票市場數據的起起伏伏感到好奇,特別想知道他們將來的趨勢會是怎樣,最近看到一篇用 LSTM 作初步的股票市場預測的文章,在這裏分享給你們。網絡
首先咱們來認識一下 LSTM 神經元:
長期困擾傳統神經網絡結構的一個基本問題是解釋「信息」和「上下文」相互依賴的輸入序列。這裏的「信息」能夠是句子中先前的單詞以容許上下文預測下一個單詞多是什麼,或者它能夠是序列的時間信息以容許上下文作基於時間的序列元素預測。
簡而言之,傳統的神經網絡每次都會輸入獨立的數據向量,而且沒有內存概念來幫助他們處理須要內存的任務。
解決這個問題的早期嘗試是對網絡中的神經元使用簡單的反饋類型方法,其中輸出被反饋到輸入中以提供最後看到的輸入的上下文。 這些被稱爲遞歸神經網絡(RNN)。 雖然這些 RNN 在必定程度上起做用,但任何大規模使用 RNN 都會致使消失梯度的問題。這個問題致使 RNN 在大多數現實問題中都不適合,所以,須要找到另外一種解決上下文存儲的方法。
這時長期短時間記憶(LSTM)神經網絡就派上用場了。 與 RNN 神經元同樣,LSTM 神經元在其管道中存儲上下文,以容許解決順序和時間問題,且沒有影響其性能的消失梯度問題。
對於上下文,下面是 LSTM 神經元的典型內部工做圖。 它由若干層和逐點操做組成,這些操做充當數據輸入、輸出和遺忘的門,爲 LSTM ****單元狀態提供信息。 這種單元狀態是保持網絡和輸入的長期記憶和上下文的緣由。
app
第一種是逐點預測,即咱們每次僅預測一個點,將此點畫出來,而後使用剛預測的點的真實數據填補到下一個窗口數據再預測下一個點。
該方法作正弦波預測會呈現出這樣的圖像:
機器學習
咱們能夠用逐點估計精確預測幾百個正弦波步長。 但咱們並不能將此辦法應用於股票市場,由於現實世界,並非那麼簡單。
與正弦波不一樣,股票市場時間序列不是能夠映射的任何特定靜態函數。 描述股票市場時間序列運動的最佳屬性是隨機遊走。 做爲隨機過程,真正的隨機遊走沒有可預測的模式,所以嘗試對其進行建模將毫無心義。 幸運的是,許多方面都在持續爭論說股票市場不是一個純粹的隨機過程,這使咱們可以從理論上說明股票市場時間序列可能具備某種隱藏模式。 正是因爲這些潛在的隱藏模式,LSTM 深度網絡在股票市場的研究纔有了意義。
股票市場的數據又涉及到開盤價,最高價,最低價,收盤價以及每日交易量。它是多維的。
若是僅用收盤價做爲輸入,作一維的模型預測,分別用上面的三種預測方法,咱們將獲得如下結果:
逐點預測:
函數
目前使用基礎的 LSTM 存在一些侷限性,特別是在使用金融時間序列時,該系列自己具備很難建模的非平穩特性(儘管在使用貝葉斯深度神經網絡方法解決時間序列的非平穩性方面取得了進展)。一樣對於一些應用,還發現基於 Attention 的神經網絡機制的新進展已經超過 LSTM(而且LSTM 與這些基於 Attention 機制相結合已經超出了它們自身)。這裏咱們提供該文章的項目地址和一些參考資料,感興趣的同窗能夠進一步探索。性能
項目源碼地址:https://momodel.cn/explore/5d6b22c5c7e247a961bc8084?type=app
** 學習
博客:www.altumintelligence.com/articles/a/…
視頻資料:www.youtube.com/watch?v=2np…
論文:LSTM,1997 www.bioinf.jku.at/publication…測試
Mo(網址:https://momodel.cn)是一個支持 Python 的人工智能在線建模平臺,能幫助你快速開發、訓練並部署模型。大數據
Mo 人工智能俱樂部 是由人工智能在線建模平臺(網址:momodel.cn)的研發與產品團隊發起、致力於下降人工智能開發與使用門檻的俱樂部。團隊具有大數據處理分析、可視化與數據建模經驗,已承擔多領域智能項目,具有從底層到前端的全線設計開發能力。主要研究方向爲大數據管理分析與人工智能技術,並以此來促進數據驅動的科學研究。
目前團隊每兩週(週六)在杭州舉辦線下沙龍,進行機器學習相關論文分享與學術交流。但願能匯聚來自各行各業對人工智能感興趣的朋友,不斷交流共同成長,推進人工智能民主化、應用普及化。人工智能