您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[兴证期货]:基于BP神经网络模型的 铁矿石价格预测研究 - 发现报告
当前位置:首页/其他报告/报告详情/

基于BP神经网络模型的 铁矿石价格预测研究

2018-12-28刘文波兴证期货笑***
基于BP神经网络模型的 铁矿石价格预测研究

金融衍生品·金融工程 兴证期货.研发产品系列 基于BP神经网络模型的 铁矿石价格预测研究 2018年12月28日 星期五 内容提要  人工神经网络(Artificial Neural Network)是模仿人类神经网络中神经元互联结构以及网络在接收外部信息时表现出的“响应”机制,人工搭建的一种仿生数据处理模型。BP神经网络(Back Propagation)是一种按误差逆向传播算法进行训练的多层前馈人工神经网络,是目前应用最为广泛的神经网络模型之一,它处理能力强、信息存储量大、容错性好、适应能力强。  主成分分析法(Principal Component Analysis, PCA)是一种将多维指标转化为维度较少的综合指标的数据处理方法。它的本质是线性正交变换,通过保留对方差贡献较多的子集来实现数据降维。  我们通过铁矿石产业链框架寻找影响其价格的因子,使用主成分分析法将原始数据降维去除冗余信息,基于BP神经网络模型建立对期货周度平均收盘价的预测模型。实证结果表明,神经网络模型的学习能力较强,训练效果满足预期,但外推泛化能力仍不够好,在绝对数值上的拟合度不好,但是在价格涨跌的方向性判断上正确率比较理想。动态建模的方法能够减小绝对数值拟合上的误差。 兴证期货.研发中心 金融工程研究团队 刘文波 从业资格编号:F0286569 投资咨询编号:Z0010856 段宁 从业资格编号: F3048895 孙石 从业资格编号: F3042665 吴耀宏 从业资格编号: F3035075 周英 从业资格编号: F3038963 联系人 吴耀宏 021-20370974 wuyh@xzfutures.com 专题报告 专题报告 1. BP神经网络模型 1.1 人工神经网络概述 人工神经网络(Artificial Neural Network)是模仿人类神经网络中神经元互联结构以及网络在接收外部信息时表现出的“响应”机制,人工搭建的一种仿生数据处理模型。通过神经网络的自我学习能力,它可以实现高性能的并行信息处理,对大量数据进行分析模拟。经过不断发展,神经网络已经在模式识别、自动化控制、分析信号等诸多领域有着重要的应用,基于神经网络的预测研究也在产量、物流、财务、风险预警等方面得到了广泛的实践。 对人工神经网络来说,节点和权值是它的核心要素,神经元节点通过设置的传递函数,对输入节点的数据进行相应的变换后再继续传递,权值则表示节点间连接强度的大小。确定了节点的连接方式和权值后便形成不同的拓补结构,将经过预处理的样本输入网络,网络会将对应样本的输出与目标真实值进行比较,然后通过调整连接权值,使输出接近预定的目标,这一过程就是神经网络的训练。训练完成即意味着一个网络拓补结构的建立,信息则以权值的形式存储在了这个网络中。因此,神经网络具有很强的可塑性,会随着外部环境的变化调整权值,从而改变映射关系训练成适应新变化的结构。 根据网络的结构和信号流的传递方向,神经网络可分为前馈网络和反馈网络。对于前馈网络,信号流从输入层单向地经过隐含层传递到输出层;而对于反馈网络,信号流会从一个神经元输出的方向再次传递回来,形成反馈回路。 1.2 BP神经网络的定义和特点 BP神经网络(Back Propagation)是Rumelhart和McCelland等科学家于1986年提出的一种按误差逆向传播算法进行训练的多层前馈人工神经网络,是目前应用最为广泛的神经网络模型之一,它能够不通过事先确定函数关系式,只通过数据训练,将数据的输入及其对应输出之间的关系存储下来。BP神经网络中主要包含两个过程,即信息的正向传播和误差的逆向传播。信息正向传播时,信息经由输入层传递到隐含层,在隐含层通过特定传递函数逐层对信息进行变换处理后,再传递到输出层。当输出值与期望值的差距不符合设定的训练目标时,误差信息将以某种形式经过隐含层向输入层逆向传播,并以此为依据逐层修正各单元的权值。信息不断传递和权值不断调整的过程就是神经网络的训练过程。当输出误差达到设定的目标范围内,或迭代次数达到了预设的学习次数,训练过程则会自动终止。 专题报告 BP神经网络的数据处理方式的特点包括: 1. 处理能力强。BP神经网络通过给定样本进行自我学习,能够对信息并行处理,能逼近任意非线性函数关系,且泛化能力较好。 2. 信息存储量大。输入BP神经网络的信息以权值的形式存储在网络的神经元节点上,具有良好的记忆性。 3. 容错性好。BP神经网络模拟生物神经系统自动修复的特性,部分神经元的损伤不影响整体误差。 4. 适应能力强。BP神经网络通过其强大的自我学习和组织能力,能够不断调整各节点的权值来适应外部环境的变化。 1.3 BP神经网络的结构与原理 BP神经网络包含输入层、隐含层和输出层等三个层次。隐含层可以根据实际需要设置为单个或者多个隐含层。在节点之间的相互关系上,如图1所示,相邻层之间的节点,上一层的每一个节点都与下一层的所有节点相互连接,而同一层的节点之间则互不连接。 图1:BP神经网络结构图 节点是神经网络的一个基本处理单位,承担着将来自上一层所有节点的信息输入转化为若干输出的功能,信息输入和输出的维度分别对应其上一层和下一层的节点数。关于在节点中进行的信息处理过程,首先是对输入加权求和,然后减去阈值,再根据传递函数进行相应的函数变换,从而得到相应的输出。节点的基本结构如图2所示: 来自上一层的多个信息푋푖(푖=1,2,⋯,푛)输入节点j,푊푖푗是上层节点与节点j的连接权值,휃푗是阈值,f是传递函数,节点中实现的变换如下: 专题报告 푌푗=푓(∑푊푖푗푋푖푛푖=1−휃푗) 图2:BP神经网络节点基本结构 假设输出层有j个节点,푌푗为其输出,푑푗为其期望输出,则网络的误差为: e=12∑(푑푗−푌푗)2푛푗=1 根据反向传播的误差,网络将调整权值,这里引入梯度的概念,即误差对权值的偏导数,网络将沿着梯度的方向反向进行调整。 假设加权后的输入值为푦푗,则: 푦푗=∑푊푖푗푋푖푛푖=1−휃푗 那么梯度值可以转化为: 휕푒휕푊푖푗=휕푒휕푦푗휕푦푗휕푊푖푗 其中: 휕푒휕푦푗=휕12∑(푑푗−푌푗)2푛푗=1휕푦푗=휕12∑(푑푗−푌푗)2푛푗=1휕푌푗휕푌푗휕푦푖푗 =−(푑푗−푌푗)푓′(푦푗)≜−훿푗 这里我们将绝对偏差量与传递函数导数的乘积定义为变量훿푗,代表局部梯度的概念。 专题报告 휕푦푗휕푊푖푗=휕∑푊푖푗푋푖푛푖=1−휃푗휕푊푖푗=푋푖 假设η为学习率,则权值修正量为学习率与梯度的乘积,即: Δ푊푖푗=−휂휕푒휕푊푖푗=η훿푗푋푖 从式中可以看出,权值需要进行的调整量,等于学习率×局部梯度×这一权值所连接的来自上一层的输入信号。 2. 主成分分析法 主成分分析法(Principal Component Analysis, PCA)是一种将多维指标转化为维度较少的综合指标的数据处理方法。它的本质是线性正交变换,先将原数据变换到一个正交的坐标系中,在这一坐标系中,变量按照方差贡献值顺次排列,通过保留对方差贡献较多的子集来实现数据降维。这一保留下来的综合变量集合就是主成分。 在预测模型体系中,输入模型用于预测的每一个因素的历史观察值序列都是一个列向量,代表了对预测目标影响程度的一种描述。如果这些因素之间存在线性相关,那么这一组描述预测目标影响程度的因子中就存在信息冗余,因此,通过主成分分析法进行降维,可以去除信息中的冗余成分,并提高神经网络的稳定性和训练速度。 进行降维时,首先需要对原数据的矩阵进行正交变换,从而用一个新的角度来描述对预测目标的影响程度。在这一新视角中,原有的因素的不同线性组合构成了新的因素并取代原有因素。新的因素并不具有具体的经济学含义,只是一个抽象的数值指标,且彼此线性无关。在这些相互独立的新因素中,我们通过剔除作用较小的因素来实现降维。 那么,应该如何进行正交变换呢?首先,我们假设模型输入n个因素,则构成矩阵X=(푋1,푋2,⋯,푋푛)。假设存在变换P,将X变换为Y,即Y=PX。X和Y的协方差矩阵分别记为C和D,t为时间长度,则有: C=1푡−1푋푋푇 D=1푡−1푌푌푇 D=PC푃푇 因为我们希望实现的变换是使得新的因素之间彼此线性无关,所以因素之间的协方差为0,那么矩阵D应该是一个对角阵,则P应该是矩阵C的特征向量组成的矩阵,矩阵D对角线上的元素为矩阵C的特征值。将特征值贡献大的子集作为主成分,对应地取出P的子集P′,则Y=P′X便是我们实现降维的方法。 专题报告 3. BP神经网络模型的构建 3.1 网络初始化 模型的构建首先从网络的基础设定开始,包括几个方面: (1)设置隐含层层数和节点数 BP神经网络可以包含多个隐含层,但理论上,单隐含层的网络通过适当增加隐含层的节点数就可以实现任何非线性连续函数的映射,只有在学习不连续函数时才需要多个隐含层,因此对于中小型网络来说,单隐含层能够满足需要。 隐含层的节点数对网络的学习能力有较大影响,如果节点数太少,网络的容量便不足以存储训练样本中所蕴藏的信息,理论上节点数越多,对函数的逼近能力越强。但节点过多不仅造成网络训练计算量的增加,还会将样本中的干扰和噪声存储进去,造成过拟合,导致泛化能力的降低。因此,我们将在实践的基础上在拟合效果与节点数之间作出权衡。 (2)网络节点的传递函数 误差反向传播算法涉及梯度的计算,这里要求传递函数必须连续可微,因此这里使用的是Log-Sigmoid函数,它具有饱和非线性放大系数的功能,适合于处理和逼近非线性的函数关系。它的表达式为: f(x)=11+푒−푥 3.2 样本划分 样本内数据通常会划分为两组,分别是训练样本和验证样本。在网络训练的过程中,训练样本直接参与学习过程,是连接权值变化调整的依据。验证样本不直接参与权值的调整,它的主要作用是防止网络过拟合。在网络训练时,用训练样本每训练一次,都会将验证样本数据输入网络进行验证,得到验证输出误差。当这一误差连续几次验证都不下降甚至上升,次数达到了事先设定的步数时,我们便认为训练误差已经不再减小,训练效果已经是所能达到的最优情形,此时应停止训练。如果此时继续训练,网络可能陷入过学习而导致泛化能力不好。 3.3 确定训练算法与训练参数 BP神经网络存在多种训练算法,不同的训练方法有着不同的收敛速度和拟合性能。这里采用的是LM算法。 Levenberg-Marquardt(LM)算法是在Gauss-Newton算法的基础上改进得到的,它的优点是对于过参数化问题不敏感,能有效处理冗余参数, 专题报告 减小网络陷入局部最优的概率,更重要的是这一算法的收敛速度最快,且拥有较小的均方误差。 确定了训练算法后,还需要对其他训练参数进行设置,具体如下表所示: 表1:模型训练参数 参数名称 参数设置 性能函数类型 Mean Squared Error (mse) 训练目标 MSE < 10-3 最大训练次数 1000 最大验证失败次数 6 动量因子初值 0.001 训练方法 Levenberg-Marquardt法 4. PCA-BP模型的训练与预测 4.1 数据选取与预处理 铁矿石是指存在利用价值、含有铁元素或铁化合物的矿石。提炼1吨生铁约需要1.6吨铁矿石,在生铁成本中占比50%以上。 全球铁矿石分布集中,主要在澳大利亚、巴西、俄罗斯等国。我国铁矿石产量无法满足需求,因此有较大的进口依赖,铁矿石定价与海外矿山定价关系密切。由于