恐龍有錢價錢走勢:怎樣從手藝上樂成展望恐龍有錢價錢?


恐龍有錢價錢走勢:怎樣從手藝上樂成展望恐龍有錢價錢?

  許多論證聲稱,通過深度學習網絡可以準確展望加密錢幣的價錢顛簸。本文則用現實數據打臉:別被玩弄了!這種所謂的“準確展望”存在許多坑。

  我試著建了個深度神經網絡來展望恐龍有錢的價錢,效果準得不行思議。

  想知道什么情形嗎?先看看我的展望效果吧。

  貌似很準確,是不是?

  不用你問,我直接告訴你謎底:沒錯,上面的測試是在沒遇到過的數據上做的,模子訓練時只用到了之前的數據(稍后詮釋細節)。

  看來這是個發家致富的搖錢樹!對吧?著實我都可以給你上面模子的代碼,然后這樣你就可以自己用了......

  好了正經點,萬萬別這么干!別在生意營業中使用這種模子,雖然這些看似準確的效果相當有疑惑性,但是萬萬不要受騙了。

  下面我來詳細詮釋。

  事出反常必有妖

  前幾周甚至前幾個月,我看了太多文章,它們接納和上面類似的途徑顯示了加密錢幣價錢的展望圖。

  但是,這些準確得令人難以置信的價錢展望,應該連忙引起你的警醒。“若是一件事情好得難以置信,那通常就是假的。——Emmy Rossum”

  下面我想演示下為何事情會云云。

  不外不要誤會——我不是要否認那些文章做出的起勁。那些文章真的很好,值得人們為其拍手。現實上,許多要領在理論上來說確實很是準確。而本文的目的主要就是要展現,為何在實踐中那些模子是不合理的?為何其展望紛歧定適合現實的生意營業?

  使用LSTM展望恐龍有錢的價錢

  為了便于說明,首先先容一個使用多維LSTM(是非期影象)神經網絡來展望恐龍有錢價錢,并天生上面的展望效果的例子。

  LSTM是一種特殊的RNN(遞歸神經網絡),十分適合帶有時間序列的問題。因此,在展望加密錢幣價錢和股市方面LSTM十分盛行。

恐龍有錢的歷史價錢數據的一部門

  這樣我們就有了已往2000日的BTC數據,從2012/10/10直到2018/4/4。

  支解訓練集和測試集

  接下來,我將數據支解成了訓練集和測試集。使用最后的10%數據作為測試,這樣支解線位于2017/9/14。所有在該日期之前的數據被用于訓練,該日期之后的數據用于測試訓練好的模子。下面,我畫出了DataFrame的close列,這就是我們要展望的逐日收盤價錢。

  為了訓練LSTM,我們將數據憑證7天的時間段支解(時間長度可以人選,我只是簡樸地以一周為時間段),每個時間段內以零為基礎(zero base)將數據正規化(normalize),即每個時間段內的第一條數據為0,其他值體現與第一條數據之間的相對轉變。因此,這里展望的是價錢變換,而不是絕對的價錢。

  這里接納了一個簡樸的神經網絡,包羅一個由20個神經元組成的LSTM層,dropout率為0.25,尚有一個麋集層(Dense),激活函數為簡樸的線性函數。此外,損失函數用的是MAE(Mean Absolute Error,平均絕對誤差),優化器用的是Adam。

  那么事實這些效果有什么問題?仔細看看并放大圖像到最近30日。

  看到了嗎?

  可能你已經猜到了,這個模子最基礎的問題在于,對于給定某天的展望,它險些與前一天的現實效果相同。

  展望曲線看起來只不外是把現實曲線平移了一天而已。

  現實上,若是把展望曲線平移一天,這個結論就更顯著了。

  該效果與我在許多使用LSTM做單點展望的例子中看到的一樣。

  為了更明確地說明這一點,我們來盤算下模子展望的返回效果和現實的返回效果:

  視察現實和展望的返回效果,一個是原始形式,一個是平移了一天的形式,可以獲得相同的結論。

  從上面的圖形中可見,現實和展望的返回效果現實上沒有相關性。但將展望返回效果偏移一天之后,就能視察到極強的相關性,說明展望效果在重復現實的恐龍有錢數據。

  總結

  本文的目的是討論我這幾個月看到的許多關于使用深度神經網絡展望加密錢幣和股市價錢的例子。這些文章用的要領與這里類似:使用歷史價錢數據實現一個LSTM,并展望未來的走勢。

  而本文演示了為何這些模子無法在現實生意營業中使用。

  沒錯,網絡在學習方面很有用。但學習到的戰略卻是展望一個只管靠近于前一天的數值,由于這樣能獲得最小的平均絕對誤差。但是,無論這種展望在損失函數上的效果何等準確,在現實中,僅基于歷史價錢數據的單點展望模子的效果依然很難準確,在現實生意營業中險些沒有任何用處。

  雖然,可能存在更重大的方式,在價錢展望方面實現更有用的LSTM。可以從使用更多的數據,同時優化網絡結構和超參數最先。但是我以為,更可能的是接納歷史價錢數據之外的數據和特征。事實,投資的天下中已有共識——“已往的業績不代表未來的產出”。

  同樣的結論對于加密錢幣應該也建設。