张 静,秦 青
(河南科技大学 数学与统计学院,河南 洛阳 471000)
我国作为煤炭资源比较丰富的国家,煤炭的消耗量占我国能源产业的58.5%。我国的煤炭资源分布呈现出“北煤南运”的格局,在山西、内蒙古、陕西、宁夏等煤炭主要产地与东南沿海主要煤炭消费地之间形成了煤炭流通的枢纽,被称为环渤海地区[1]。由于该地区煤炭的运销最为集中,动力煤交易量也较大。在经过了长时间的煤炭市场交易后,环渤海地区港口的煤炭价格水平已经成为我国煤炭价格的风向标,其变动情况直接反映了我国煤炭市场的运行动态,可以作为研究我国煤炭市场变化的关键性指标。
为了预测我国煤炭价格的具体走势,刘玥等[2]利用ARMA方法进行煤炭价格的预测,提出用EMD分解的方式增加ARMA模型的精准度,但其模型本身只考虑了环渤海动力煤的时间序列信息,延伸了数据本身的趋势性和周期性,对其他外部因素带来的影响并没有加以考虑。刘原奇[3]构建了环渤海动力煤价格的多元线性回归预测模型,虽然考虑了一些外部因素对于价格走势的影响,但由于煤炭价格影响因素复杂,难以运用简单的数学模型进行解释和拟合,模型预测效果不佳。
随着人工智能算法在股票市场中的大量实践,基于神经网络的预测模型近些年来越来越多地被应用于金融预测领域,刘斌[4]利用BP神经网络对煤炭价格进行简单预测的结果,体现出神经网络在金融时间序列预测方面的显著优势。而长短期记忆神经网络(LSTM)模型由于自身的选择记忆性和基于时间序列内部影响的特性,非常适用于拟合价格时间序列这种非线性、非平稳的数据,能够实现以时间序列作为载体,进行多个输入的同时实现多个输出,在价格预测模型中表现出了独特的优势。
笔者尝试将深度学习LSTM方法应用于我国环渤海动力煤价格指数预测,并采取线性、非线性对照组的方式,进行预测模型精度和准确度的对比分析,证明了LSTM神经网络在金融时间序列预测方面具有显著的优越性。
传统的循环神经网络(RNN)是一类用于处理时间序列的神经网络。相比于一般的神经网络,它的优势体现在能够保存有助于当前决策的历史信息,它的核心思想是用循环结构替换了前馈神经网络的隐藏层。在传递信息的过程中,每一次循环都会有一部分信息保留在神经元中,作为输入与新信息一同进入下一个神经元,对预测的结果产生影响。
LSTM网络是改进后的RNN网络,通过增加输入门、输出门、遗忘门和单元状态,改变自循环的权重参数,在模型参数固定的情况下,可以有效地避免梯度“消失”或者“爆炸”的问题。其中,输入门和输出门控制信息流的流入和流出,遗忘门用来选择上一时刻的单元状态有多少保存到这一时刻。
笔者在设计LSTM神经网络时特别添加了Dropout层以优化神经网络结构,用以解决深层神经网络存在的两种可能影响模型训练效果的问题(一是梯度消失导致神经网络难以收敛,二是过拟合导致测试集失效)。本文LSTM神经网络的主体结构包括两层LSTM神经层,加入Dropout层(失活概率设为0.3)。本文所有模型拟合实验基于Python语言环境。
煤炭价格的相关影响因素不是单一存在的,在实际市场中,煤炭价格受到多个因素的共同影响,例如我国宏观经济的整体发展态势、世界能源市场上的相关行情、生产成本、煤炭产量以及库存变化、煤炭相关替代能源的价格、政治经济因素等。
2.1.1 宏观经济。中国经济的高速增长是煤炭需求增长的主要原因,通过对煤炭需求量与我国GDP数据进行格兰杰因果检验可以得到,5%的显著水平下GDP是煤炭需求变化的原因。从动力煤价格指数时序图中可以大致看出,宏观经济的发展对动力煤价格指数是呈现正向促进作用的[5]。
2.1.2 生产成本。煤炭的生产和运输成本是影响煤炭价格走势的重要因素。在其他条件不变的情况下,煤炭的生产成本越高,煤炭的价格就会越高,也就是说,煤炭价格的变动与生产成本的变化方向是一致的。
2.1.3 煤炭产量以及库存变化。价格的变动与供求关系的变化密不可分,煤炭价格受煤炭当期产量以及库存量的影响,其作用方式就是影响了煤炭市场的供求关系,进而影响到了煤炭的价格。
2.1.4 煤炭相关替代能源的价格。对于煤炭来说,石油就是它的替代品,石油一方面作为其替代能源直接影响煤炭价格,另一方面由于其作为我国的重要战略资源也影响到了我国的宏观经济,进一步对煤炭价格产生了间接的影响[6]。
2.1.5 政治经济因素。国家出台的政策,直接或间接的影响煤炭产量,从而影响煤炭价格走势。
为了能够充分评估LSTM神经网络在预测价格指数方面的价值,本文采用2010年8月—2021年10月的环渤海动力煤价格指数(以下简称为BSPI)进行模型拟合以及预测。我国环渤海动力煤价格指数的时间序列呈现出显著非平稳的特征,大体呈上升趋势,但由于其影响因素复杂,数据并无明显规律性(本文数据均来自中国金融信息网、前瞻数据库)。
数据预处理主要是补全了数据集中的空值部分(由于节假日以及国家政策的影响),笔者选择上下均值填补法,对原始数据进行补全;接着对数据进行了归一化处理,以提高模型预测精度;最后对预测模型的输入和输出进行定义。针对上面提出的多个变量与BSPI指数进行可视化分析,剔除无效不相关因素,最终建立输入变量组见表1。
表1 变量信息对照表
为了观察不同预测方法对环渤海动力煤指数的预测效果,本文分别取总样本的前80%、60%作为训练集,样本的剩余部分作为测试集进行模型拟合,从各个对照模型中选取最优的预测模型。
LSTM神经网络对未来BSPI价格指数预测的思路是:用历史5个月的动力煤价格指数信息对未来一个月的价格指数进行预测。将表1中共10个变量的月度数据作为模型输入部分,LSTM神经网络的输出量即为未来一个月的BSPI指数的预测值。
本文将经典RNN、KNN作为LSTM模型的非线性对照组,进行模型性能的比较。RNN作为主要解决序列问题的方法,强调的是数据间的先后关系。RNN具有其独特的性质,在每次训练时都会将前一次的输出结果带到下一次的隐藏层中,一起进行训练。
KNN(最邻近算法)可以用于对连续的数据标签进行预测,基本方法是求出预测数据集与训练数据集的每个点之间的距离,取前k个数据集的结果集,将结果求平均作为预测的数据集。
为了使文章更为严谨,本文采用简单多元线性回归的方式作为线性对照组,建立多元线性方程:
y=k1x1+k2x2+k3x3+…+k10x10
(1)
将已知变量输入,利用训练集数据进行模型训练,寻找到合适的参数,最后在测试集上进行测试。
平均绝对误差(MAE)、均方误差(MSE)计算公式分别为:
(2)
(3)
选择以上两个指标对各组预测模型进行比较,MAE、MSE是评估预测值与真实值的误差的指数,这两个值越小表明误差越小,预测的稳定性越高。
笔者通过20组每组10次共200次的对照实验方法确定LSTM神经网络基础模型的层数和每层的神经元个数,选取MSE和MAE两种模型评价指标进行考量。
通过模型训练可以得出:①输入层神经元节点数为32,隐含层神经元节点数为16时,模型的鲁棒性较好;②并不是隐含层神经元节点数越多,越深层次的神经网络学习能力越强;③不同的神经网络参数,结果都会存在差异。
笔者经多次实验得到第一个LSTM层的前馈网络层的最佳隐藏神经元个数为32个,为避免过拟合现象采用L2正则化项和dropout机制,来提高模型的泛化能力。
由图1可以看出LSTM模型预测数据与真实数据波动方向几乎一致,也较为接近,相比单层模型有了一定的进步,但在长期来看模型拟合仍存在一定的误差以及滞后性。其中实验所得预测值精度如表2所示。
图1 多层LSTM模型
表2 多层LSTM网络模型预测结果
搭建简单线性回归模型,并在训练集上进行模型训练,最终可以得到其拟合模型的预测。在测试集的范畴内,简单线性模型预测值始终低于真实值,虽然在2021年预测值与真实值有了一定的重合,但模型预测值整体波动较大,且在2020年前后预测值与真实值有很大的误差。
图2 线性对照模型
图3 非线性对照模型
非线性对照模型显示出了较大的波动性,模型拟合效果一般。
笔者采取多次训练的结果,取平均值的方法来展示算法的平均水平。利用MSE、MAE这具体两个指标进行多个模型的比对分析,可以得到表3(表中显示MSE、MAE数值均为多次实验平均值)。
表3 模型预测结果对比
通过多次实验结果可以看出,在误差稳定性方面,线性回归方法、K近邻回归的方法均表现出较强的稳定性,LSTM模型稳定性紧随其后,而RNN模型预测的稳定性则呈现较大的波动,但从MSE、MAE的数值上可以看出,LSTM模型预测在稳定性以及准确性方面具有明显的优势,说明该方法比较适用于环渤海动力煤价格指数的预测,预测精度、稳定性都较高。
通过研究发现,环渤海动力煤价格指数在近段时间波动幅度较大,呈现快速增长的态势,其大幅度变动必然会对我国煤炭相关行业带来极大的影响。本文结合目前最前沿的深度学习神经网络技术构造了一个LSTM神经网络,将其应用于分析预测我国环渤海动力煤价格指数,并进行了模型的线性、非线性对照组的训练。验证了LSTM神经网络在价格指数预测方面具有较好的稳定性以及预测准确性。
根据模型预测结果来看,短期内煤炭价格指数受到多种因素的影响,波动细小频繁(1元/t左右),对整体价格变动影响不大;从长期来看,环渤海动力煤价格指数变动主要受到季节因素的影响,但由于国内外大环境,煤炭、石油等能源价格持续上涨,动力煤价格也始终呈现上升态势。
综上所述,煤炭加工生产及其相关行业应把握煤炭市场价格的走势规律,重视降低成本,提高生产效率,最大化的应对未来可能出现的风险;而其他煤炭消耗企业应做好煤炭价格持续上涨的准备,通过追加煤炭等能源的库存或改换其他替代品等方式来应对价格上涨带来的成本压力。