比特幣突破8000美元,我們找到了用DL預(yù)測虛擬貨幣價格的方法

姓名:王正帥

學(xué)號:14020120007

轉(zhuǎn)載自:mp.weixin.qq.com/s ,有刪節(jié)

【嵌牛導(dǎo)讀】:截至 11 月 22 日,比特幣的價格再創(chuàng)歷史新高(約 1 比特幣兌 8120 美元),在驚訝于虛擬貨幣「不可戰(zhàn)勝」的同時,我們或許能可以從這一波熱潮中學(xué)到些什么。本文中,博士畢業(yè)于倫敦大學(xué)學(xué)院(UCL)的 David Sheehan 為我們介紹了使用 Keras 基于 LSTM 預(yù)測比特幣價格走勢的詳細(xì)方法。在測試中,這個機器學(xué)習(xí)預(yù)測法似乎有著不錯的準(zhǔn)確度。

【嵌牛鼻子】:比特幣、虛擬貨幣、Keras、比特幣價格走勢

【嵌牛提問】:比特幣有何神奇之處?如何用機器學(xué)習(xí)預(yù)測比特幣價格走勢?

【嵌牛正文】:

如果要列出 2017 年最為荒謬的三樣事物,則一定是指尖陀螺、人工智能,當(dāng)然,還有加密虛擬貨幣(cryptocurrency)。以上是玩笑話,實際上我對虛擬貨幣的原理印象深刻,而且非??春眠@種顛覆性技術(shù)的長期前景。我試圖通過深度學(xué)習(xí)、機器學(xué)習(xí)或者說人工智能(是的,所有這三個!)成功預(yù)測虛擬貨幣的價格。

我認(rèn)為把深度學(xué)習(xí)和虛擬貨幣結(jié)合起來是非常獨特的想法,但是在寫本文時,我發(fā)現(xiàn)了一些類似的內(nèi)容(http://www.jakob-aungiers.com/articles/a/Multidimensional-LSTM-Networks-to-Predict-Bitcoin-Price)。這篇文章只關(guān)注比特幣(最有名的虛擬貨幣),但是我還想討論一下以太幣。

我們打算使用 LSTM 模型,一種非常適合時序數(shù)據(jù)的深度學(xué)習(xí)模型。

數(shù)據(jù)

在構(gòu)建模型之前,我們需要先獲取一些數(shù)據(jù)。Kaggle 上的數(shù)據(jù)集(https://www.kaggle.com/mczielinski/bitcoin-historical-data)非常詳細(xì)地記錄了近幾年的比特幣價格。在這個時間長度(數(shù)年)中,噪聲可能蓋住了信號,因此我們需要選擇單日價格數(shù)據(jù)。問題在于我們可能沒有充足的數(shù)據(jù)(我們需要數(shù)百行而不是數(shù)千行、數(shù)百萬行)。在深度學(xué)習(xí)中,沒有模型可以克服數(shù)據(jù)嚴(yán)重缺乏的問題。我同樣不想使用靜態(tài)文件,因為未來使用新數(shù)據(jù)更新模型時,這種做法會復(fù)雜化更新流程。于是,我們計劃從網(wǎng)站和 API 中抓取數(shù)據(jù)。

我們將在一個模型中使用多種虛擬貨幣,因此從同一個數(shù)據(jù)源抓取數(shù)據(jù)或許是一個不錯的主意。我們將使用 coinmarketcap.com?,F(xiàn)在,我們只需要考慮比特幣和以太幣,但是使用這種方法添加最新火起來的山寨幣(altcoin)就很難了。在輸入數(shù)據(jù)之前,我們必須加載一些 Python 包,這樣會容易一些。

為了證明數(shù)據(jù)是準(zhǔn)確的,我們將兩種虛擬幣的價格和成交量按時間作圖:


訓(xùn)練、測試和隨機游走

有了數(shù)據(jù),接下來就該建立模型了。深度學(xué)習(xí)中,通常把數(shù)據(jù)分為訓(xùn)練集和測試集。模型建立在訓(xùn)練集上,隨后用未見過的測試集評估。在時間序列模型中,我們通常使用一段時期的數(shù)據(jù)訓(xùn)練,然后用另一段時期的數(shù)據(jù)進行測試。我把時間界限定為 2017 年 6 月 1 日(即模型將使用該日期之前的數(shù)據(jù)進行訓(xùn)練,用該日期之后的數(shù)據(jù)進行測試)。

結(jié)果很不錯!除了一些缺陷,該模型基本上追蹤到了兩種貨幣的實際收盤價。它甚至捕捉到了六月中旬和八月下旬的以太幣價格上升(和隨后的下跌)。正如在其他博客中提到的,由于誤差無法傳遞到隨后的預(yù)測中,單點預(yù)測的模型通常是有誤導(dǎo)性的。由于將真實價格饋送到模型中,無論誤差有多大,都會在下一個時間點被重新設(shè)置。比特幣隨機游走其實特別具欺騙性,因為 y 軸的分布范圍很寬,才使得預(yù)測線看起來很平滑。

長短期記憶(LSTM)

如果讀者對 LSTM 的理論比較感興趣,可以查看上文機器之心發(fā)過的教程與解釋。在本文中,我們并不需要從頭構(gòu)建一個 LSTM 網(wǎng)絡(luò),我們甚至都不需要理解它就能通過如 Keras 或 PyTorch 那樣的深度學(xué)習(xí)框架完成實現(xiàn)。本文選擇的是 Keras 框架,因為它只需要很少的理論知識,并且是目前最直觀的深度學(xué)習(xí)框架。

只是為了打敗隨機游走模型的話也太 low 了。對比 LSTM 模型和更合適的時序模型(加權(quán)平均值,ARIMA 或 Facebook 的 Prophet)豈不是更加有趣!另外,我確定很難再提升我們的 LSTM 模型了(添加更多層和/或神經(jīng)元,改變批量大小、學(xué)習(xí)率等)??赡芴摂M貨幣價格變化沒有規(guī)律吧,可能沒有一個模型可以把信號和噪聲分離開(類似于使用深度學(xué)習(xí)預(yù)測地震的優(yōu)點)。以后的文章中可能會討論這些話題。

我確定他們最終最終會找到深度學(xué)習(xí)的使用案例的。同時,你可以下載完整的 Python 代碼構(gòu)建自己的模型。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、快速術(shù)語檢索 比特幣地址:(例如:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV)由一串...
    不如假如閱讀 16,567評論 4 87
  • 簡評:敲黑板!考試要考的比特幣知識點,都是送分題。 本文是比特幣官方 FAQ,僅做科普。 目錄概覽 什么是比特幣?...
    極小光閱讀 6,052評論 5 89
  • 考駕照。非常重要的大事……當(dāng)然不考也沒啥關(guān)系 讀雜書。一直以來的夢想…… 堅持鍛煉身體。中間斷斷續(xù)續(xù)的。從來木有堅...
    店小五閱讀 188評論 0 0
  • 文|萌 冥想,是一個聽起來很遙遠(yuǎn)的詞語,因為感覺我們很少用到它。 它也是一個離我們很近的詞語,只不過換了一個說法,...
    萌愛佑佑閱讀 158評論 1 2
  • 作曲,一向被認(rèn)為是只有人類才能完成的工作,創(chuàng)造出美妙的音樂,不僅需要大量的樂理知識,還要有很強的創(chuàng)造力。用算法來作...
    programmy閱讀 704評論 1 2

友情鏈接更多精彩內(nèi)容