当前位置:文档之家› 基于长短期记忆网络的黄金价格预测

基于长短期记忆网络的黄金价格预测

Advances in Applied Mathematics 应用数学进展, 2020, 9(6), 871-880Published Online June 2020 in Hans. /journal/aamhttps:///10.12677/aam.2020.96104Gold Price Prediction Based on LongShort-Term Memory NetworkMing Yan1*, Dongxi Li21School of Mathematics, Taiyuan University of Technology, Jinzhong Shanxi2School of Big Data, Taiyuan University of Technology, Jinzhong ShanxiReceived: May 28th, 2020; accepted: Jun. 12th, 2020; published: Jun. 19th, 2020AbstractAccurate prediction of gold price is helpful for investors to understand the gold market and pro-vide scientific and effective reference for them to make correct investment decisions. Therefore, it is particularly important to improve the prediction accuracy of gold price. This paper presents a gold price forecasting method based on Long Short-term memory network (LSTM) model. This method combines the gold price data, uses LSTM model to generate training model, and finally realizes the prediction of gold price. The results show that this method is feasible and effective, and has higher prediction accuracy than BP neural network and SVR intelligent prediction.KeywordsGold Price, Long Short-Term Memory Network (LSTM), Short-Term Prediction, Long-Term Prediction基于长短期记忆网络的黄金价格预测闫铭1*,李东喜21太原理工大学数学学院,山西晋中2太原理工大学大数据学院,山西晋中收稿日期:2020年5月28日;录用日期:2020年6月12日;发布日期:2020年6月19日摘要精确的预测黄金价格,有助于投资者了解黄金市场的行情,并对他们做出正确的投资决策提供了科学有效的参考,因此,提高黄金价格的预测精度显得尤为重要。

本文提出了一种基于长短期记忆网络(LSTM) *通讯作者。

闫铭,李东喜模型的黄金价格预测方法。

该方法结合黄金价格数据,利用长短期记忆网络生成训练模型,最终实现对黄金价格的预测。

结果表明,本文的方法可行有效,较BP神经网络和SVR智能预测拥有更高的预测精度。

关键词黄金价格,长短期记忆网络(LSTM),短期预测,长期预测Copyright © 2020 by author(s) and Hans Publishers Inc.This work is licensed under the Creative Commons Attribution International License (CC BY 4.0)./licenses/by/4.0/1. 引言在如今的国际金融体系中,由于黄金的非货币化,各国逐渐放松了对黄金的管制,于是全球黄金市场得到了极大的发展,已经成为与股票市场、期货市场、债券市场、外汇市场等并列的金融投资市场。

作为一种金融产品,黄金价格的动态变化,是经济行为主体在金融市场中投资决策过程的具体反映,黄金价格的预测更是众多投资者和学者讨论的热点话题[1][2][3]。

但在实际中,黄金价格受到供求关系、美元汇率、石油价格、通货膨胀率、国际形势、股票、债券等因素的影响,形成一种复杂的非线性过程,很难得到精确的预测。

国内外学者在黄金价格预测方面做出了众多成果,使用了不同的方法:文献[4]使用BP神经网络对黄金价格进行预测和分析,得出了精度较高的预测结果。

然而BP神经网络的滚动优化算法的收敛速度较慢,且多目标优化能力不强,难以摆脱决策过程中的随机性和模糊性。

文献[5]引入SVR智能预测方法对黄金价格进行预测研究,并通过引入网络搜索法对SVR模型的最优参数进行寻找,从而构建了最优的SVR智能预测模型,结果表明该模型具有优越的学习性能与泛化推广性能,能够较准确地预测黄金价格。

但是这些传统的方法只是对黄金价格进行小数据量的分析,导致预测精度低、速度慢且效率低下。

随着大数据的深入研究,将长短期记忆网络(LSTM)用于价格指数的预测,能满足用户对实时数据处理的需求。

黄金价格不但具有非线性,而且具有动态特性,即系统的输出不仅与当前时刻的输入有关,还与过去的输入有关。

作为一种特殊的循环神经网络,长短期记忆网络(LSTM)不但具有“记忆性”,适合处理带“序列”性质的数据,如时间序列数据、每天的股价走势情况等,同时采用特殊的结构取代原始网络中的隐藏层单元,采用“累加”的形式,避免了循环神经网络中的梯度消失和梯度爆炸[6][7]。

目前,LSTM 已经被应用于声音识别[8],视频分类[9]、语音理解[10]等诸多前沿领域中。

2. 长短期记忆网络长短期记忆网络是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的问题。

目前,长短期记忆网络已经在科技领域有了诸多应用:基于长短期记忆网络可以进行语言翻译、控制机器人、图像分析、语音识别、手写识别。

2015年,谷歌通过基于CTC训练的长短期记忆网络程序大幅提升了安卓手机和其他设备中语音识别的能力;苹果的iPhone在QuickType和Siri中使用了长短期记忆网络;微软不仅将长短期记忆网络用于语音识别,还将这一技术用于虚拟对话形象生成和编写程序代码等[11][12][13]。

2.1. 长短期记忆网络模型结构及网络原理长短期记忆网络(Long Short-term Memory, LSTM)是一种特殊的循环神经网络。

之所以说它是特殊的RNN,是因为它本身不是一个独立存在的网络结构,而是由LSTM特殊的结构单元取代循环神经网络的闫铭,李东喜隐藏层单元部分。

在LSTM中,不同时间点之间的网络存在连接,而不是单个时间点处的网络存在前馈或反馈。

Figure 1. Unit structure diagram of LSTM图1. 长短期记忆网络单元结构图从图1可以看出:一个LSTM单元包含了一个细胞状态(Memory Cell)、一个模型输入和三个门信号。

其中,细胞状态是LSTM的核心思想,是整个模型的记忆空间。

LSTM模型共有四个输入,分别是:模型输入(Input)、输入门(Input gate)、输出门(Output gate)和遗忘门(Forget gate),而普通神经网络只有一个输入,因此LSTM的参数量是它们的4倍。

其中Input gate, Output gate, Forget gate是三个门信号,用来选择性处理数据,通过Sigmoid函数和点乘操作实现,Sigmoid的取值介于0和1之间,点乘则决定了传送的信息量。

因此当门信号的取值为0时代表完全关闭,1代表完全打开。

2.2. 长短期记忆网络模型的训练算法长短期记忆网络模型的训练算法包括信号的正向传播和误差的反向传递两部分。

Figure 2. Structure chart of LSTM图2. 长短期记忆网络结构图闫铭,李东喜2.2.1. 信号的正向传播根据图2,我们可以清楚地看到输入节点和门信号的功能:1) 输入节点:接受当前时刻的样本输入和上一时刻隐层单元的输出。

2) 遗忘门:用来决定前一时刻Memory Cell 中的信息是否会被保留下来。

当遗忘门的输出为1时,前一时刻Memory Cell 中的信息会被保留下来;当遗忘门的输出为0时,前一时刻Memory Cell 中的信息就会被遗忘。

简单地说,遗忘门的作用是刷新Memory Cell 的状态,控制Memory Cell 的上一状态对当前状态的影响。

公式为:[]()1,t f t t f f W h x b σ−=⋅+ (1)其中:1t h −是(t − 1)时刻的输出,t x 是t 时刻本层的输入,f W 是各个变量的权重,f b 是截距项,σ是遗忘门的Sigmoid 函数,t f 是0~1之间的数。

3) 输入门:更新细胞状态中的存储信息。

具体分为3步计算:第1步决定输入节点的激活值有多少会被保留下来,可以看到输入门的Sigmoid 函数会和输入节点的激活值相乘,组成LSTM 中Memory Cell 的一部分。

我们知道,在序列输入中,并不是每个信息都同等的重要,当输入的信息有用时,输入门的输出为1,输入节点的值可以全部输入进去;当输入的信息完全无用时,输入门的输出为0,此时输入节点的信息对internal state 没有任何影响。

第2步根据tanh 函数创建新向量,添加到细胞状态中。

第3步用旧的细胞状态乘以遗忘门t f ,然后再加上新的输入信息,更新当前的细胞状态。

公式为:[]()1,t i t t i i W h x b σ−=⋅+ (2) []()1tanh ,t C t t CC W h x b −=⋅+ (3) 1t t t t tC f C i C −=∗+∗ (4) 其中:tanh 为正切激励函数,t C 表示从t 时刻输入的信息中提取出来要记住的信息,1t C −表示(t − 1)时刻的细胞状态值,t C 表示更新后的细胞状态值,t i 是0~1之间的数。

4) 输出门:先使用Sigmoid 函数决定输出多少信息量,然后使用tanh 函数决定当前Memory Cell 中有多少信息会被输出,可以看到输出门会和Memory Cell 的值相乘,当输出门的输出为1时,Memory Cell 的值会被完全输出;当输出门的输出为0时,Memory Cell 的值就不会被输出。

相关主题