基于混合神经网络的玉米期货价格预测模型

2020-10-10 11:56
魅力中国 2020年34期
关键词:分量神经网络函数

(成都理工大学管理科学学院,四川 成都 610059)

在国内商品期货交易市场中,农产品期货价格的形成机制对资产的供需平衡具有重要的意义。准确预测未来农产品价格走势,将为农产品期货市场上的各交易者提供有效的建议。本文提出了一种基于EMD 与LSTM 的预测农产品价格的混合模型。首先利用EMD 提取出价格序列中的周期分量与趋势分量,然后使用LSTM分别对周期分量与趋势分量进行训练并得出各分量的预测结果,通过SVR 叠加各预测结果,从而生成最终的预测价格。最后,以大连期货交易所中玉米C2009 合约价格数据为算例,验证了本文提出的混合模型能够较好地预测价格变化。

一、基本算法

(一)经验模式分解

经验模式分解(EMD),它将一个复杂的时间序列数据拆分为若干个本征模态函数(IMF)和一个残余项res,能够针对非线性、非平稳的时间序列完全自适应时频分析,近年来已经在很多重要的数据挖掘领域成功应用。本征模态函数(IMF)具有以下特征:①在任意时刻,其上下包络线的均值都为零;②分量序列在相邻的零点之间有且只有一个极值。因此原始的价格时间序列可以被分解为。其中,n为本征模态函数的个数;rn是残余项;hi(t)为本征模态函数。

(二)长短期记忆神经网络

长短期记忆神经网络(LSTM)是一种特殊的循环神经网络,它对RNN 模型中单一的激活层记忆单元进行了优化,从而解决因为时序数据连续输入导致的梯度消失或梯度爆炸的缺点,使得该神经网络模型具有长期保存有效的历史信息的能力。通过门限结构和记忆单元状态的设计,使得LSTM 可以让时间序列中的关键信息进行有效的更新和传递。其结构由一个记忆单元和三个控制门组成,分别是忘记门、输入门和输出门,从而实现了长期记忆的功能。

LSTM 模块当前输入状态为t,其存储单元由四个“门”实现,分别是:

1.遗忘门:读取上一层的输出ht1-和当前输入tx,输出ft并赋值到当前的细胞状态Ct1-中;

2.输入门:记忆现在的信息it和一部分忘记门输出的信息;

3.更新门:将过去的状态Ct1-和当前的记忆进行合并,输出当前状态Ct;

4.输出门:选择一部分细胞状态最终输出th。

(三)支持向量回归(SVR)

支持向量机(SVM)算法是由前苏联学者Vapinik 于1963 年提出,其核心思想是确定一个最优超平面,使得样本到超平面的欧式距离最大。使用核函数可以将输入空间映射到高维空间,从而解决高维计算中对算力要求过高的问题。通常使用的核函数为径向基核函数(RBF),定义式为:

其中,x为输入空间中任一点,为某一中心,σ为函数的宽度参数。一般取。SVR 能够快速收敛到全局最优解,已经在金融资产价格预测领域得到了广泛应用,例如文献[2]已使用SVR 和ARMA 进行股价预测。

二、混合神经网络模型

本文模拟的是对玉米期货价格预测的场景,当日及历史玉米价格数据均已获取,即使用滑动窗口的时间序列来进行多步长序列预测。用以训练的玉米期货价格数据可以通过EMD 方法分解为若干个IMF 和一个残余项res 的,然后对所有子序列分别训练LSTM 模型,再将各LSTM 的输出值传入到SVR,形成最终的预测结果。为了保证结论稳健性,本文采用三种误差评估指标,分别是绝对误差(MAE)、平均绝对百分比误差(MAPE)、均方根误差(RMSE)。

三、实证分析

本文使用大连商品交易所中2019 年9 月17 日至2020 年7 月31 日的C2009 玉米合约为实证对象,共包含211 个交易日的收盘价数据。模型输入为预测日前14 天的玉米期货收盘价序列,输出为未来一日的收盘价,并选择最后46 个交易日的收盘价格作为测试集。模型预测分析在Python3.6 环境下实现。选择IMF 的前5 个序列可以较好地描述X的周期性趋势,因此,本次实证过程中后续的模型的输入IMF 都设为5 项。

在LSTM 的构建中,本次是实证过程设置3 个隐藏层和1个输出层的神经网络结构,隐藏层神经元个数为20,采用均方误差MSE 作为损失函数,设置优化算法为Adam。在测试集数据上验证MAE、MAPE 与RMSE 得到IM5F的值分别是0.26、0.61 和0.89,证明了模型精度良好。

将神经网络模型对各子序列的预测结果作为SVR 模型的输入,核函数选择RBF,径向基宽度参数γ使用网格搜索方法在(0.1,1,10,100)中寻找最优参数,惩罚系数设置为C=1。图2 为玉米期货收盘价的测试集预测结果,与真实价格对比可见,本模型预测的玉米价格能够准确反映当日价格的变动方向以及幅度,与真实值拟合较好。

四、结语

本文提出一种基于混合神经网络模型预测米期货价格的方法,首先利用EMD 分解训练序列,然后将子序列分别输入LSTM 神经网络,最后将LSTM 的分量预测结果输入到SVR 中,得到最终的预测结果。为了验证该模型在预测精度方面的表现,本文还使用大连期货交易所中C2009 玉米期货合约的日收盘价数据作为算例,实证结论指出,该模型能够有效地预测价格变化。但本模型无法进一步控制预测偏差,意味着无法帮助投资者完全规避爆仓风险,在未来的研究中可以考虑纳入气候数据、进出口额度或者同类期货合约价格作为输入变量来对未来玉米价格走势进行综合预测。

猜你喜欢
分量神经网络函数
基于神经网络的船舶电力系统故障诊断方法
MIV-PSO-BP神经网络用户热负荷预测
函数备考精讲
画里有话
一斤生漆的“分量”——“漆农”刘照元的平常生活
一物千斤
基于神经网络的中小学生情感分析
论《哈姆雷特》中良心的分量
基于Q-Learning算法和神经网络的飞艇控制
关于函数的一些补充知识