主页 > imtoken中文版app > 丢的裤子不见了! 我这才知道,那些币价预测图竟然是这样制作的!

丢的裤子不见了! 我这才知道,那些币价预测图竟然是这样制作的!

imtoken中文版app 2023-05-07 07:43:51

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

内容 | 拉斐尔·舒尔茨-克拉夫特

编译|Aholiab

如果你深谙币圈,对币价预测文章中出现的走势图一定不陌生。 这些图表通常旨在预测未来 n 天的货币价格,并声称结果基于大数据或深度学习算法。 非常科学可靠的外观。

但你不知道的是,即使这些图真的用先进的深度学习模型和算法来实现,结果也是非常不可靠的。

在本文中比特币预言图,WATTx数据科学家、机器学习工程师Rafael Schultze-Kraft亲自揭秘那些“高大上”的币价预测图表背后不为人知的技术秘密。

炒币的朋友一定对下图不陌生,这是加密货币行情的走势图。 这张图片是我使用深度神经网络做出的比特币价格预测。 看看这个曲线,这个趋势,还是老样子吗?

640?wx_fmt=png

这张图中的数据确实是来源于过去的趋势数据,只有过去的数据才能用来训练模型。 你可能会说,有了这个趋势预测模型,不就等于有了一台印钞机吗?

想要? 拿着。

比特币价格预测图实现代码地址:

不过等等,B先在这里装,你听我说,上面说的这些你别当真! 我再说一遍:不要认真对待上面所说的一切! 因为用深度神经网络预测的趋势图是完全不靠谱的! 谁认真谁傻。

不耐烦的版本请直接看文章最后部分。

当某件事好得令人难以置信时,它可能不是

在过去的几周里,我看了很多关于加密货币市场预测图表的文章,这些图表与我上面做的类似。 这些图表都是“数据准确”且严肃的。 唯一的问题是,它们看起来都“太好了”,不像是真的。

当某件事好得令人难以置信时,它可能就不是真的。”

——艾米·罗森

当然,我并不是说那些文章不好,只是从技术上讲,文章中的数据太“准”了。 所以在这篇文章中,我希望能够从技术角度分析为什么这些预测图在真实货币交易中没有被引用。

让我们了解一下预测图背后的原理——LSTMs

让我们从了解什么是 LSTM 开始。 LSTMs(Long short-term memory),也称为“长短期记忆网络”。 它是一种特殊的 RNN,可以学习长期依赖关系,可以自发地对信息产生长期的“记忆”行为,而不是刻意学习。 比如你看这段话的时候,不需要每个字都懂,根据上面的内容就可以理解了。

LSTMs的核心是它的基本组成元素“cell”的状态(cell state),也就是下图中向右的那条直线。 细胞的状态就像一条传送带,会沿着整个链条传送,只有少数几个地方有一些线性交互。 以这种方式传输的信息可以保持不变。

640?wx_fmt=png

LSTM 通过一种称为“门”的结构控制细胞的状态,并向其删除或添加信息。 您可以将门视为控制信息传递的一种方式。 门由一个 sigmoid 网络层和一个按位乘法运算组成。 Sigmoid层的输出值在0到1之间,表示各部分传递的信息。 0表示“对所有信息关闭大门”; 1 表示“我的门总是开着的”。

640?wx_fmt=png

LSTMs中“长期和短期”的表述是指LSTMs是一种可以长时间记录短期记忆的模型,用于解决RNN中的梯度处理问题。

说了这么多,其实你只需要知道LSTMs可以非常擅长区分、处理和预测重要事件。

在我的比特币预测模型中,使用了 Python 和 Keras 框架。 你也可以在上面给出的Github地址看到完整的实现代码。

专用数据

首先,我们需要抓取比特币市值的历史数据,这个操作同样适用于其他加密货币。 您可以通过 cryptocompare API 来完成。 这种方法甚至可以抓取从2012年10月10日到2018年4月的所有比特币价格数据。

实现代码如下:

640?wx_fmt=png

爬取结果如下:

640?wx_fmt=png

数据分类和训练

我把抓取的数据分成两组,一组用来训练模型,另一组放到测试集进行测试,比例为9:1。 也就是说,2017年9月14日之前的数据将用于训练; 之后的数据将用于测试经过训练的模型。

下面的代码在每天结束时执行比特币价格。

640?wx_fmt=png

趋势如下:

640?wx_fmt=png

最后一步——建模

LSTM的训练方法是这样的:我们先把数据分成7天一组(几天一组也可以),为了方便,我们先以7天为一个单位。 然后对每组数据进行归零。 这样做的目的是每组中第一条数据的值为0,其他数据会根据第一条数据显示变化的值。 这样就达到了“预测”的目的,因为数据是变化的,不是绝对的。

实现代码如下:

640?wx_fmt=png

我的LSTM训练模型很简单,只有一层,20个神经元,我设置dropout参数为0.25,在dense层设置一个线性激活函数。 另外,我使用MAE(Mean Absolute Error)作为损失函数,优化器使用Adam。

整个神经网络的训练为50个epoch(一个epoch是指完全通过所有的训练数据),batch size设置为4(当数据不能一次性通过神经网络时,数据集需要分成几批)。

但是在确定神经网络的结构和参数的时候,往往是随机的,我没有对它们进行优化,优化也不是本文的重点。

640?wx_fmt=png

完成!高位预测走势图

通过上面的方法,我们得到了文章开头的趋势图。

640?wx_fmt=png

你可能在想:

这张照片看起来不错,有什么问题吗?

为什么不能作为我们实际交易中的参考呢?

让我们仔细看看最近 30 天的数据和显示。

640?wx_fmt=png

640?wx_fmt=png

你看见了吗? 这个图的问题在于,当它预测某一天的数据时,显示的值实际上是前一天的值。 整个趋势图相当于把前一天的数据移到了第二天。 通过这样做,我们可以更清楚地看到这一点。

640?wx_fmt=png

640?wx_fmt=png

看见? 平移一天后,预测曲线与前一天实际币价曲线几乎完全重合! 重合! 而这样的趋势图在预测货币价格走势的文章中也是最常见的。

下面是另一张真实数据和预测数据的对比图。 翻译了一天,差不多了。

640?wx_fmt=png

下图展示了币价走势的真实数据与预测数据之间的关系。 同样,如果将预测数据平移到前一天的真实数据,则两者数据几乎相同。

640?wx_fmt=png

报价预测图

说了这么多,结论就是:我们看到的预测比特币、以太坊、莱特币……的趋势预测图,其实只是把前n天的数据往后n天移动,并不是真正的预测! 这个结论同样适用于股市! 所以不要再听信那些所谓“专家”的预测了。

事实上,几乎所有声称使用深度学习技术来预测未来趋势的方法都是相似的。 他们使用 LSTM 根据过去的数据进行预测,但结果往往不可靠。

当然,我们也可以使用更复杂的技术手段,更多的数据,对神经网络进行更多的优化。 但从历史数据来看,很难说对未来走势有指导意义。 这是金融界早已形成的常识。

这个怎么样? 看完这篇文章,你还相信那些所谓的专家预测吗? 以后买币还是靠自己分析比较好。 毕竟我这个大币圈只有赢家和输家,没有所谓的“专家”比特币预言图,谁也无法预测。

热门文章

640?wx_fmt=gif

营长正在招兵买马

CSDN区块链大本营招聘2位编辑:

1、对区块链技术有一定的了解,对大公司动态有较强的敏感度,有深度分析的实力。

2. 起草速度快,具备每天投稿发表能力。

3. 能够采访行业高端人物,深刻阐述观点。

4、2年以上相关媒体工作经验。

5. 英语6级以上,能够快速编译。

6、本科及以上学历

治疗:

从不低于行业水平,只要你有才华,我们都愿意为你提供一切资源。

邮箱发送:puge@csdn.net

邮件注明:姓名+区块链+编辑申请