主页 > imtoken地址查询 > 这是比特币价格预测指南

这是比特币价格预测指南

imtoken地址查询 2023-07-19 05:14:21

翻译 | AI科技大本营(rgznai100)

参与 | 王鹤

编辑| 唐娜

近年来比特币行情预测,以比特币为代表的加密数字货币在社交媒体和搜索引擎上风靡一时。 然而,比特币的价格波动也让读者体验了过山车般的体验。

本周随着各大权威人士对区块链的未来表示乐观,从1月17日到18日凌晨,比特币成功止住了前一天的大幅下跌,涨幅接近20%(18.46%)。

如果我们能够明智地制定投资策略,我们就能发现隐藏在这些反复无常的波动背后的巨大利润。

与传统金融工具相比,加密货币缺乏指标数据,使得预测非常困难。 本文以最流行的比特币为例,探讨如何利用深度学习来预测加密数字货币的价格,了解其未来的发展趋势。

免责声明:交易比特币等数字货币是一种投资。 交易有风险,买币需谨慎。 由此产生的得失与营长无关。 如果您想打赏,只需点击“转发”和“喜欢”即可。

第一步

要运行本文中的代码,请确保您安装了以下环境和存储库:

数据采集

用于分析预测的数据可以从 Kaggle 或 Poloniex 收集。 为了保证不同数据集之间代码应用的一致性,从 Poloniex 收集的数据的列名将被更改以匹配 Kaggle 的列名。

比特币行情预测_sitebitecoin.com 比特币行情币最新价格行情_比特币行情比特社区

数据准备

从数据源收集的数据需要进行解析,然后才能发送到模型进行预测。 下面的代码中,PastSampler类参考了这篇博客中的方法,将数据分为一列子数据集和对应的标签数据集。 模型输入数据大小 (N) 为 256,输出大小 (K) 为 16。

值得注意的是,从 Poloniex 收集的数据是基于 5 分钟间隔时间序列数据。 这表明输入模型跨越 1280 分钟的数据,而输出跨越 80 多分钟。

比特币行情比特社区_sitebitecoin.com 比特币行情币最新价格行情_比特币行情预测

创建 PastSampler 类后,我将使用该类来收集数据。 由于原始数据的范围从 0 到 10,000 多,因此需要对数据进行缩放,以便神经网络更容易理解数据。

sitebitecoin.com 比特币行情币最新价格行情_比特币行情比特社区_比特币行情预测

建筑模型

美国有线电视新闻网

一维卷积神经网络通过在输入数据上滑动核窗口,可以很好地捕捉数据的局部特征。 如下所示。

比特币行情预测_比特币行情比特社区_sitebitecoin.com 比特币行情币最新价格行情

CNN传奇来自

比特币行情比特社区_sitebitecoin.com 比特币行情币最新价格行情_比特币行情预测

上面的代码是我搭建的第一个卷积神经网络模型。 以下代码将我的 GPU 编号为“1”(这是因为我有 4 个 GPU,您可以将其设置为您的任何 GPU)。 由于 Tensorflow 在多个 GPU 上似乎不能很好地运行,因此将其限制在一个 GPU 上是合适的。 如果您没有 GPU,请不要担心,忽略下面的代码即可。

比特币行情预测_sitebitecoin.com 比特币行情币最新价格行情_比特币行情比特社区

构建 CNN 模型的代码非常简单。 添加dropout层是为了避免过拟合问题。 损失函数定义为均方误差(MSE),优化器使用最先进的 Adam 自适应优化。

sitebitecoin.com 比特币行情币最新价格行情_比特币行情预测_比特币行情比特社区

唯一需要担心的是每层之间输入数据和输出数据的维度。 卷积层输出数据维度的计算公式为:

输出时间步长 = (输入时间步长 - 内核窗口大小) / stride + 1

在下面代码的末尾,我添加了两个回调函数 CSVLogger 和 ModelCheckpoint。 前者帮助我跟踪所有训练和验证过程,而后者存储每个时期的模型权重参数。

比特币行情比特社区_比特币行情预测_sitebitecoin.com 比特币行情币最新价格行情

LSTM

长短期记忆 (LSTM) 网络是循环神经网络 (RNN) 的变体,它的发明是为了解决普通 RNN 中梯度消失的问题。 据说 LSTM 能够记住更长的时间输入步骤。

sitebitecoin.com 比特币行情币最新价格行情_比特币行情预测_比特币行情比特社区

LSTM 图例(来自 >)

比特币行情比特社区_比特币行情预测_sitebitecoin.com 比特币行情币最新价格行情

LSTM比CNN更容易通过代码实现,因为你不需要关心内核窗口的大小、步长、输入和输出数据维度大小的关系等,你只需要确保输入网络数据和输出网络的数据维度。

比特币行情预测_比特币行情比特社区_sitebitecoin.com 比特币行情币最新价格行情

格鲁乌

门控循环单元 (GRU) 是 RNN 的另一种变体。 它的网络结构没有LSTM那么复杂,只有reset gate和forget gate,没有记忆单元。 据说GRU的性能可以媲美LSTM,但是效率可以更高。 (这篇论文也是如此,因为LSTM运行大约需要45秒/周期,而GRU需要不到40秒/周期)

比特币行情预测_sitebitecoin.com 比特币行情币最新价格行情_比特币行情比特社区

从)

比特币行情预测_sitebitecoin.com 比特币行情币最新价格行情_比特币行情比特社区

只需将 LSTM 模型中的第二行替换为

sitebitecoin.com 比特币行情币最新价格行情_比特币行情比特社区_比特币行情预测

用。。。来代替

比特币行情预测_sitebitecoin.com 比特币行情币最新价格行情_比特币行情比特社区

绘图结果

由于三个模型的计算结果图像相似,我将只看 CNN 模型的图像。 首先,我们需要重建模型并将训练权重加载到模型中。

比特币行情比特社区_比特币行情预测_sitebitecoin.com 比特币行情币最新价格行情

然后,我们需要对预测数据进行逆向缩放,因为之前使用了MinMaxScaler,所以此时的预测数据范围是[0,1]。

sitebitecoin.com 比特币行情币最新价格行情_比特币行情预测_比特币行情比特社区

上面显示的两个Dataframes分别构建了比特币的实际价值(实际价格)和预测价格。 为了更好地可视化,绘制的图表仅显示 2017 年 8 月之后的数据。

比特币行情预测_比特币行情比特社区_sitebitecoin.com 比特币行情币最新价格行情

我们使用 pyplot 来绘制图形。 由于预测价格是以16分钟为间隔,为了方便大家查看结果,我就不全部链接了。 因此,此处预测的数据被绘制为红点,如第三行中的“ro”所示。

下图中的蓝线代表真实值(实际价格数据),而红点代表预测的比特币价格。

比特币行情比特社区_sitebitecoin.com 比特币行情币最新价格行情_比特币行情预测

sitebitecoin.com 比特币行情币最新价格行情_比特币行情比特社区_比特币行情预测

使用 2 层 CNN 模型预测的最佳比特币价格

从上图可以看出,预测价格与比特币的实际价格非常相似。 为了得到最好的模型性能,我决定在set的配置下测试神经网络,如下表所示。

比特币行情预测_比特币行情比特社区_sitebitecoin.com 比特币行情币最新价格行情

不同模型下的预测结果

上表中的每一行都是 100 个训练周期中具有最佳验证损失的模型。 从上面的结果可以看出,LeakyReLU 似乎总是比通常的 ReLU 产生更好的损失结果。 但是使用Leaky ReLU作为激活函数的4层CNN模型会得到较大的validation loss值,这可能是revalidated模型带来的问题。 CNN 模型可以训练得非常快(使用 GPU 时为 2 秒/周期),在性能上略差于 LSTM 和 GRU。 虽然 3 层 CNN 似乎可以更好地捕捉数据的局部时间依赖性,但最好的模型似乎是使用 tanh 和 Leaky ReLU 作为激活函数的 LSTM 模型。

比特币行情预测_sitebitecoin.com 比特币行情币最新价格行情_比特币行情比特社区

以 Tanh 和 Leaky ReLu 作为激活函数的 LSTM 模型

比特币行情预测_sitebitecoin.com 比特币行情币最新价格行情_比特币行情比特社区

以 Leaky ReLu 作为激活函数的 3 层 CNN 模型

虽然预测看起来都不错,但过度拟合是需要注意的事情。 当使用 LeakyReLU 训练 LSTM 时,训练损失和验证损失之间存在差距(5.97E-06 vs 3.92E-05),应使用正则化来最小化这种差异。

正则化

为了找到最好的正则化方案,我试验了几个L1和L2的值。 首先,我们需要定义一个新函数来将数据拟合到 LSTM。 在这里,我将使用偏置正则化方法对偏置向量进行正则化。

比特币行情比特社区_比特币行情预测_sitebitecoin.com 比特币行情币最新价格行情

实验重复训练模型30次,每次以30个周期为标准。

比特币行情预测_比特币行情比特社区_sitebitecoin.com 比特币行情币最新价格行情

如果您使用的是 Jupyter notebook,您可以直接从输出数据中查看下表。

比特币行情预测_sitebitecoin.com 比特币行情币最新价格行情_比特币行情比特社区

使用偏差正则化的结果

比特币行情比特社区_sitebitecoin.com 比特币行情币最新价格行情_比特币行情预测

为了可视化比较,我们可以使用箱线图:

比特币行情比特社区_sitebitecoin.com 比特币行情币最新价格行情_比特币行情预测

通过比较可以看出,当L2正则化中偏置向量的系数为0.01时,似乎得到了最好的结果。

为了找到所有超参数正则化之间的最佳组合,包括激活、偏差、内核窗口、循环矩阵等,需要对所有正则化方案一一进行测试比特币行情预测,但这对我目前的硬件配置来说是不够的。 现实。 因此,我将把它放在一边。

综上所述

从本文中,您了解到: