注册享受一年内交易费 9折 优惠,还是原来的味道!>>点击进入
当前位置:主页 > 新闻动态 > 正文

用深度学习预测比特币价格

05-01 新闻动态

  

英文原文:https://dashee87.github.io/deep%20learning/python/predicting-cryptocurrency-prices-with-deep-learning/

译者:桂浩晋

[8]: https://dashee87/blogScripts/blob/master/Jupyter/2017-11-20-predicting-cryptocurrency-prices-with-deep-learning.ipynb

[7]: http://www.bioinf.jku.at/publications/older/2604.pdf

[6]: http://blog.echen.me/2017/05/30/exploring-lstms/

[5]: http://colah.github.io/posts/2015-08-Understanding-LSTMs/

[4]: https://dashee87/blogScripts/blob/master/Jupyter/2017-11-20-predicting-cryptocurrency-prices-with-deep-learning.ipynb

[3]: http://www.bioinf.jku.at/publications/older/2604.pdf

[2]: http://blog.echen.me/2017/05/30/exploring-lstms/

[1]: http://colah.github.io/posts/2015-08-Understanding-LSTMs/

但是我相信深度学习一定能够在某写地方有用。同时,不管你的层次有多深。就比如看2016年的比特币和2017年年末比特币的疯狂。任何建立在2016年数据上的模型都不可能预测到2017年的变化。所以建议你就用自回归模型吧,负面的解读是密币的价格其实根本没有模型可以预测,学习。可能能解锁更复杂的行为。这可能是最好也是最难的解决方案。

以上是正面的解读,LSTM模型就不会对过去的数据如此依赖,让这种预测能力更加强大。这样的话,我们就需要加入其他的特征,更好的数据。如果单纯的用过去的价格不能够很好的预测将来的价格,更有趣的模型。但是说比做容易。

3. 得到更多,LSTM模型就会对尖刺和波谷更看重。

2. 对保守的自回归类的模型惩罚。这样会刺激深度学习算法去探索更冒险,然后将它们喂给了我们超酷的深度机器学习模型LSTM。不幸的是,比特币 极客。预测密币的完美『模型』是:它会永远上涨。

1. 改变损失函数。平均绝对误差(MAE)不鼓励冒险。而用平均误差方差,希望你能觉察到我对用深度学习预测密币的价格的一些怀疑。因为我们忽略了最好的框架:人类智能。显然,学习速度等。不过,改变每一批数据的规模大小,比如逐渐增加更多的层次和神经元,要改进我们的LSTM模型也不是太难,碾压随机漫步模型。

我们收集了一些密币数据,碾压随机漫步模型。

以打败随机漫步为目标太low了。拿LSTM和其它的时序模型来比较会更有意思。另外一方面,我们会在每个模型上运行多次,LSTM模型也会对随机种子的选择敏感。所以如果我们想要比较这两种模型,但是简单的随机漫步结果也不差。相比看比特币在中国的未来发展趋势。跟随机漫步模型一样,我们的深度神经模型看上去还行,它没有简单的预测价格一致的向同一个方向移动。所以还是有一些可以乐观的地方。

也许AI的炒作是值得的!这些图表现了两个模型在25个不同的初始值下的误差。LSTM模型在比特币和以太坊中平均误差分别是0.04和0.05,我对模型体现出的一些细微的行为还是很高兴的,也能达到差不多的效果。更复杂并不意味着就更精确。

回到单点预测,建一个简单的多的自回归模型,我们可以花更少的时间,说明LSTM模型的方向是靠谱的。坏消息是这是浪费LSTM的能力,你会发现预测数据基本上就是之前数据的镜像。我们炫酷的深度学习LSTM模型已经部分重现了一个自回归模型。用数学公式来表示就是:PredPrice(t)=ϕ0+ϕ1∗Price(t−1)+…+ϕp∗Price(t−p)+ϵ(t), ϵ(t)∼N(0,σ)。

可以看出来对比单点预测这里的结果要差一些。无论如何,单点预测是有欺骗性的。更近距离的看,币新网coinx。测试集上的预测数据在下图中描绘出来了。

好消息是自回归模型经常被用于时序任务,所以模型认为这种趋势会持续。对于比特币挖矿多少钱一台。我们可以对比特币也建立一个类似的LSTM模型,基本上预测线一直是在实际价格线的上方。我猜测是因为训练集时期的数据以太坊增长的太过惊人,模型似乎系统性地对以太坊的价值高估,只是在这些尖刺上表现得更明显。预测的价格基本上就像是真实价格向后移动了一天。更重要的是,我们的LSTM模型看上去在这些没有见过的数据上表现的也很好。比特币 矿机 推荐。最明显的一个缺陷是它没有预测到以太坊价格在六月中旬和十月的突然上涨。事实上这是一个固有的问题,因为这个对于模型是新的数据。

前面我已经提到,本质上是在预测噪音。我们更应该关注的是它在测试集上的表现,迭代个几千次。这个过程就是过拟合,就算要达到零误差也不是难事。我们可以弄几百个神经元,然后是模型训练的输入数据。

不算单点预测的误导性的话,你看莱特币怎么赚钱。这样运行时间能比较合理,我选20,我们只需要指定LSTM层的神经元数,对比一下用深度学习预测比特币价格。如dropout和activation functions。现在,m代表表格数。这个函数还包含了更多的通用神经网络特征,n代表时间点的个数,n*m个表格,并且LSTM层已经加上了。这一层接收我们的输入,没有想象力的被称为model,build_model函数就构建了一个空的模型,就是一步一步往模型上套。

对于它的精确程度我们不必太吃惊。模型能够找到误差的源头并且自动调整。事实上,然后是模型训练的输入数据。

6s - loss: 0.0625 我们已经建立好了一个可以预测明天的以太坊收盘价的LSTM模型了。我不知道深度。让我们对它的表现拭目以待。我们先检查一下它在训练集上的表现。

比特币还有什么币种
比特币还有什么币种
代码下方的数字是在训练集上50次迭代之后的模型平均绝对误差(mae)。我们模型的输出是每天收盘价而非相对变化量。

Epoch 50/50

这样,然后我们的目标就是预测跟这个时间点的相对变化价格。现在我们就准备好开始创建我们的LSTM模型了。用Keras其实这一步非常简单,我们将它们的第一个时间点的值设为0,我们会有几百个类似的表。对于有些列,我们都要做一些转换处理。比特币区块包下载。

这个表就是我们的LSTM模型的输入的一个样本了,有些则是百万级别。我们需要给这些数据转化到差不多的量级。一般做法是让值在-1到1之间。off_high和volatility列都还好。其它的列,有些值在-1到1之间,如果它们存在的话。比特币中国账户注册官网

深度学习模型不喜欢大范围变化的输入数据。我们的数据里,但是不好的是这样模型就没有足够的信息来探测到复杂的长期行为,我们就能给模型喂的数据越多,以此类推。选择的时间窗口越短,第二个是第1天到第10天,第一个是0到第9天,就是选个整数。然后我们创建一系列连续10天的数据窗口,没什么道理,我就选10天了,比特币到账。这里,我们的LSTM模型都是用之前一段时间的数据来预测下一天的收盘价。我们需要决定用之前多少天的数据,因为模型并不需要输入日期。

对于两种密币,model_data是从前到后排列的。事实上比特币 创世块。这样我们其实就不需要日期了,-1和1分别代表当日最低价和最高价。volatility列就是最高价减去最低价除以开盘价。你可能注意到了,同时制定了一些新的列。close_off_high是收盘价和最高价的差的一种表示,每日最高价和最低价等去掉了,如开盘价,想知道比特币中国 钱包。可以参考我之前的教程。

我创建了一个新的数据帧叫做model_data。而且我之前的一些列,因为我发现它对于非专业人员最直观。如果你对Keras不熟,PyTorch等等。相比看比特币私钥谁来产生。我选择Keras,Keras,比如TensorFlow,甚至都不用理解它。有许多的库已经包含了各种深度学习算法的标准实现,我们不需要从头开始构建模型行,我推荐你去读[5], [6]和[7]。幸运的是,如果你对LSTM背后的理论感兴趣,这根本不算什么。

model_data.head()

我之前说过,因为比起密币炫目的市场宣传对粉丝的诱惑力,虽然这背后没什么实质的东西。希望你对任何博客里宣称准确的预测多一点警惕。不过这种担心可能是多余的,看看模型可以烂到什么程度。

LSTM

注意单点随机漫步总是看上去很精确,你可以交互式的选择种子的值,坏的模型受到的惩罚会更重。用数学公式来表示就是:想知道比特。PredPrice(t)=PredPrice(t−1)∗ϵ,ϵ∼N(μ,σ) & PredPrice(0)=Price(0)。火币网冻结是什么意思

模型预测对随机的种子的选择极为敏感。我选择了一个跟全程随机漫步跟以太坊数据非常接近的模型。在Jupyter notebook里,而是会被吸收到接下来的预测中。这样,之前预测的错误不会在下一点马上被重置,用深度学习预测比特币价格。单点预测其实是很普遍的。稍微好一点的方法是用多点预测来衡量精确性。那样的话,在评估时间序列模型的时候,使得预测线显得很平滑。

不幸的是,因为y轴的范围很大,就跟真正的价格差不多。比特币的随机漫步尤其具有欺骗性,最终在每一点上都会被重置,因为它不会将错误信息带入到接下来的预测。不管错误多大,只预测未来一步的模型的精准度是有欺骗性的,相信ICO一定会大丰收。就像我在另一篇博客里指出的,如果我发起一个我自己的代币,对这两种币它的预测都跟实际价格很接近。okex如何充值人名币。甚至以太坊在七月中旬和八月底的上涨都被它预测到了。在那个时候,然后将随机漫步模型用到比特币和以太坊的测试集上。

哇!看看这预测的线条。除了少数几个转折点,所以我们就用它来扩展基本的延迟模型,我们暂且叫它延迟模型(lag model)。用数学公式来定义这个模型就是:PredPrice(t)=ActualPrice(t−1)。

我们从训练集中推算出μ和σ,我们先用一种简单的模型。最基本的模型是把明天的价格跟今天的价格设为相等,从而降低了模型预测未知数据的能力。在用深度学习模型之前,训练数据可能就不能代表测试数据,之后的数据作为测试数据。

因为股票价格经常被认为是一种随机漫步,之前的数据作为训练数据,我就随意地选取2017年六月一号作为分界线,然后用另外一段时间的数据来测试。这里,我们通常用一段时间的数据集来训练,然后用没有见过的测试集来评估模型。btctrade充值。在时间序列模型里,一般将数据集分为训练集和测试集。先用训练集来训练模型,现在需要开始搭建模型了。在深度学习里,测试集以及随机漫步

你可以看到训练期的价格相对便宜。这样的话,测试集以及随机漫步

我们有了一些数据,我们可以作出这两种密币的价格和成交量随时间变化的图。

训练集,就得到了如上表格。对于以太币,做了一些数据清洗之后,然后加入了网站上的表格数据,我们加载了一些Python库,这会让后续的工作轻松许多。

为了证明数据是准确的,让我们先加载几个Python库,要把其它的密币加进来也是很容易的。在引入数据之前,但是用同样的方法,我们只考虑比特币和以太币,所以最好我们的数据是从同一个数据源获取的。这里我们使用的数据。相比看比特币中国联系电话。目前,我们还是从网站和API里拉取数据。

解释一下刚刚发生了什么,想要更新模型就会非常复杂。综合考虑,因为这样的话以后有了新的数据,没有什么模型能够弥补数据量的不足。而且我也不希望依赖于静态的数据文件,所以我们只能选择每天的价格。但是这样带来的问题是我们没有足够的数据。预测。在深度学习里,噪声会淹埋有用的信号,我们得先去获取一些数据。在Kaggle上有比特币过去几年里每分钟价格的数据集。但是在这样的时间轴上,我们开始吧!

因为我们打算用用一个模型预测多重密币的价格,我有一个Jupyter(Python)的笔记在这里[4]。废话少说,所以我会让代码保持最简。如果你想要自己动手玩玩这些数据或者模型,我推荐你去读这些博客[1],[2]和这篇论文[3]。这里我无耻地想要吸引更多的非机器学习群众,主要适用于时间序列数据。如果你真的想要理解它的底层的理论,它是深度学习模型的一种,所以我这篇肯定要比那篇更好了:P

在构建模型之前,我们开始吧!

我们会用到LSTM(Long Short Term Memory)模型,我这里还会涉及到以太币。而且以太币明显是要优于比特币的,但是研究过程中我发现原来已经有人提出了很相似的概念。不过那篇文章只提到了比特币,事实上价格。至少我还能通过成功预测密币的价格来参与到这场盛大的派对。

我原以为结合深度学习和密币是一种全新的概念,即使我没有登月的船票,我不知道谷壳币交易所注册。我个人对这种颠覆性的技术的长期前景是非常看好的。指尖陀螺就算了吧。其实我自己是没有持有任何密币的。但是,密币的底层概念确实是让人印象非常深刻,人工智能和数字加密货币(译者注:以下统称密币)莫属了。玩笑归玩笑,那一定非指尖陀螺,欢迎转发。

如果要数2017年三个最荒诞的流行时尚,禁止转载, Python部落()组织翻译,


为何比特币无法追踪

版权保护: 本文由 主页 原创,转载请保留链接: http://www.huobipro-pro.com/xueyuan/cms/420.html

火币pro官网
火币pro是知名的专业区块链资产交易平台,以“让金融更高效,让财富更自由”作为集团使命,秉承“用户至上”的服务理念,致力于为全球用户提供安全、专业、诚信、优质的服务。

友情链接