1. 引言
工厂复工复产导致用电需求急剧增加,推高了作为原材料煤炭的价格。此外,欧洲国家限制煤炭购买和出口、煤炭燃烧造成环境污染以及国家对于清洁能源的倾向均对煤炭价格产生了影响。在此背景下,分析煤炭价格影响因素并预测具有重要研究意义。
秦皇岛动力煤价格受到多种因素的综合影响,包括供需关系、能源政策、宏观经济、季节性需求、进口和出口影响、煤炭品质和产地、运输和物流成本以及天气条件等。在进行煤炭价格预测时,需要综合考虑这些因素的变化和相互关系,以更准确地预测价格趋势。当然,很多学者对此已经有所研究。例如,马艳文(2021)除了选取煤炭价格、煤炭供给量、煤炭需求量等指标,还综合了非金融和金融两个视角,引入了实际GDP增速、美元汇率、和货币供应量指标进行分析预测 [1] ;袁训锋(2022)利用主成分分析对煤炭价格影响因素的重要程度排序 [2] ,研究表明重要程度从高到低依次为:成本要素、其他能源价格、进口煤价格、供需要素、国家政策、季节;张建英(2016)使用月度数据用单位根检验、协整检验、Granger因果检验和VAR模型对我国煤炭价格的影响因素进行了分析 [3] ,研究表明除煤炭价格自身波动外,还受大宗商品价格、宏观经济景气指数和煤炭产量的影响。对于多指标的煤炭价格预测,常用的时间序列数据建模和预测算法包括统计模型、指数平滑模型、机器学习模型、混合模型。例如,孙继湖(2000)以计量经济学和统计学为基础,采用ARIMA模型对山西优混在秦皇岛车站的交易价格进行预测 [4] ;邹绍辉(2017)利用最小二乘方法和GARCH模型拟合煤炭价格 [5] ,结果表明GARCH模型对于随机波动趋势较强的煤炭价格时间序列拟合效果更优;袁训锋(2022)建立指数平滑模型在未来31天、35周和36个月对秦皇岛煤炭价格进行预测 [2] ;刘滋奇(2020)建立基于SVR算法动力煤价格预测模型,实验证明预测效果良好 [6] ;兰丰(2022)通过构造循环神经网络及时序卷积网络进行实验,为煤炭价格中短期预测提供了实际应用有效的解决思路 [7] ;崔曦文(2022)建立基于布谷鸟搜索算法优化的长短期记忆网络(CS-LSTM)模型预测山西电煤价格指数 [8] ,实例验证了该模型预测的精准度;刘维曼(2022)构建了LSTM-ARIMA预测模型对湖北、广东、北京三个试点地区碳排放权交易价格进行预测 [9] ,研究结果表明该模型的预测效果较好,具有适用性和有效性;Xiang Wang (2022)提出了一种创新的混合预测方法(CEEMDAN-GWO-CatBoost),通过结合机器学习模型、特征选择、数据分解和模型解释来预测煤炭价格指数 [10] ,此文提出的组合预测模型的预测性能明显优于其他比较模型;张克非(2021)构建一种基于经验模态分解(EMD)、注意力(Attention)机制的LSTM/GRU融合深度学习模型(EMD-Att-LSTM/GRU) [11] ,研究表明该组合模型很好的实现了EMD分解和Attention机制的双重优势,能够实现动力煤价格的精准预测;郭嘉宁(2021)使用双向LSTM引入卷积神经网络模块和横向注意力机制,最终验证了所提模型优于主流的时间序列预测模型 [12] ;Bo Cao (2023)将改进的麻雀搜索算法(ISSA)和最小二乘支持向量回归机(LSSVR)算法相结合,提出了ISSA-LSSVR煤炭价格时间序列预测模型 [13] ,与传统的ARIMA预测模型相比,该模型能够更好地匹配煤炭价格的变化趋势,具有较高的预测精度。
以上国内外煤炭价格波动情况、影响因素及煤炭价格预测方法的研究进展,为本研究提供了重要的理论依据和参考。本文将综合考虑各类影响因素,将传统计量学模型与神经网络模型的优点结合,希望得到更好的预测效果。
2. 模型简介
2.1. ARIMA模型
自回归移动平均模型(Autoregressive Integrated Moving Average Model, ARIMA)主要由三部分构成,分别为自回归模型(AR)、差分过程(I)和移动平均模型(MA)。ARIMA模型具体流程图如图1所示。
ARIMA模型预测时间序列的基本步骤如下:
1) 差分处理:ARIMA模型要求时间序列是平稳的。为了消除时间序列数据的非平稳性,ARIMA模型通常需要进行差分处理,即将原始数据转化为差分数据,以消除趋势和季节性等影响。模型中差分阶数d表示需要对时间序列数据进行差分的次数。
2) 模型定阶:确定ARIMA模型的阶数p、q通常需要通过观察自相关函数(ACF)和偏自相关函数(PACF)图来进行选择,ARMA通用判断标准如表1所示。
3) 参数估计:确定模型的阶数后,可以使用最小二乘估计等方法估计模型参数。
4) 模型预测:利用构建好的ARIMA模型进行时间序列数据的预测,通过已知历史数据得到未来时间点的预测值。
5) 模型评估:可以使用均方根误差(RMSE)等指标来评估模型的预测精度。
![](Images/Table_Tmp.jpg)
Table 1. ARMA general criteria description table
表1. ARMA通用判断标准说明表
2.2. LSTM模型
长短期记忆网络(Long-Short Term Memory, LSTM)应用于非线性模型,可以作为复杂的非线性单元用于构造更大型深度神经网络 [14] 。LSTM模型网络结构如图2所示。
1) 遗忘门
的计算过程如公式(1)所示。其中
是激活函数,
是遗忘门的权重矩阵,
是前一时刻的隐藏状态,
是当前时刻的输入,
是遗忘门的偏置。
(1)
2) 输入门
、候选记忆单元值
、记忆单元值
如公式(2)、(3)、(4)所示。其中
是输入门的权重矩阵,
是前一时刻的记忆单元值。
(2)
(3)
(4)
3) 输出门的值
和模型的最终输出值
的计算如公式(5)、(6)所示,其中
是输出门的权重矩阵,tanh是双曲正切激活函数。
(5)
(6)
2.3. BiLSTM模型
双向长短期记忆网络(Bi-directional Long Short-Term Memory, BiLSTM)由前向与后向LSTM模型组合而成。使用LSTM模型进行预测时可以较好的捕捉到较长距离的依赖关系,但无法编码从后到前的信息,此时可以利用BiLSTM模型捕捉双向依赖达到更精准的预测效果。BiLSTM模型网络结构如图3所示。
2.4. CNN-(Bi)LSTM-ARIMA模型
![](//html.hanspub.org/file/168-1701318x30_hanspub.png?20240104090028892)
Figure 4. CNN-(Bi)LSTM-ARIMA network structure
图4. CNN-(Bi)LSTM-ARIMA网络结构
煤炭价格数据趋势复杂,具有非平稳、长期依赖并受多种影响因素影响的特点。由于ARIMA模型在处理平稳或线性相关的时间序列数据方面表现良好,而LSTM、BiLSTM网络模型在处理非线性、复杂关系的数据时效果较好;并且LSTM这类神经网络能够对具有多个输入变量的问题进行建模,而ARIMA这种经典的线性方法无法进行多变量输入的预测问题。本文将两种类型的时间序列预测模型相结合,充分利用两者的优势,同时加入CNN模块提取特征信息,构建CNN-(Bi)LSTM-ARIMA融合模型对煤炭价格进行预测,期望提高预测的准确性。
CNN-(Bi)LSTM-ARIMA模型的流程图如图4。
1) 将煤炭价格历史数据用BiLSTM进行单特征预测分析;加入影响因素的煤炭价格历史数据用BiLSTM进行多特征预测分析,分别得到初始预测结果和预测误差;
2) 利用ARIMA模型对误差序列进一步拟合预测,并对初始BiLSTM预测值进行修正,从而得到最终预测结果;
3) 根据R2、RMSE、MAE和MAPE等评价指标来评估模型的预测准确度。
2.5. 评价指标
本文选择R2、MAPE和RMSE三种评价指标检验模型预测性能。
1) 判定系数R2:通过计算回归平方和(SSR)与总平方和(SST)的比值,反应因变量Y的全部变异能通过回归模型被自变量x解释的比例。判定系数越接近于1,模型的拟合效果越好。
(7)
2) 平均绝对百分误差MAPE:通过计算真实值
与预测值
的误差百分比避免了数据范围大小的影响。
(8)
3) 均方根误差RMSE:通过模型预测值
与真实值
之间的偏差来评估预测结果好坏。均方根误差越小,模型的预测效果越好。
(9)
3. 基于CNN-BiLSTM-ARIMA模型的预测研究
本文综合考虑了供需因素、替代能源、运输调度、宏观经济四大类指标,选取共计55种影响因素对动力煤价格利用趋势性、相关性和因果性分析,保留重要影响因素作为预测模型的输入特征;基于双轨制定价模式的调整,选取2016年1月4日至2023年6月6日秦皇岛动力煤大同优混(5800)的日平仓价作为煤炭价格预测的研究对象;针对传统的计量学模型与深度学习模型的优缺点,取长补短,构建CNN-(Bi)LSTM-ARIMA融合模型对煤炭价格以1/3/5/7为时间跨度分别进行预测,并与单特征和单一网络模型进行对比分析,以期加入影响因素的融合模型预测精准度更高。
3.1. 数据预处理与特征选择
观察数据集发现,各变量均有不同程度的数据缺失现象。针对缺失数据的数量及规律,本文采用不同的处理方法。对于存在大面积缺失的变量,如果将其人为填充可能会对研究结果产生错误的影响,因此决定删除这些变量,不使用其作为影响因素放入模型研究。针对那些有较强规律的缺失值,即主要集中在非工作日以及节假日期间的缺失数据,本文采用引入节假日标签的方式与工作日缺失值进行区分,并利用平推法填充。最后,由于数据漏更或者其他可能存在的技术原因造成的缺失值采用插值进行填充。
3.1.1. 相关性分析
对经过预处理后的煤炭价格及55个影响因素首先进行相关性检验。相关性分析是一种用于探索两个或多个变量之间关系的统计方法。可以帮助我们了解变量之间的相关程度,从而揭示变量之间的潜在关联。常用的相关性系数包括Pearson相关系数、Spearman等级相关系数和Kendall等级相关系数。以下是这三种相关性系数的公式:
1) Pearson相关系数:
. (10)
2) Spearman等级相关系数:
(11)
3) Kendall等级相关系数:
(12)
其中,
、
表示第i个数据点的值,
、
为均值,n表示数据点的数量,
表示X的第i个数据点与Y的第i个数据点的等级差,
表示具有相同等级顺序的数据点对的数量,
表示具有不同等级顺序的数据点对的数量,
表示总的数据点对的数量。
通常,当
时,可视为高度相关,以此为三种相关系数的共同筛选依据,可以初步剔除相关系数绝对值的均值小于0.8的49个变量,保留剩余6个自变量。
相关性分析提供的是线性关系方向上的参考,但一些变量带来的影响不是简单线性的。例如,某些变量对煤炭价格带来的影响不容易被发现,因为他们所造成的影响可能不是同期特征的变化就能够反映在煤炭价格的变化上。因此,下面需要Granger因果关系检验做进一步分析,查看各变量与煤炭价格之间的非线性关系,探究各自变量和因变量之间的因果关系,确定各自变量带来影响的滞后或先行时长。
3.1.2. 平稳性分析
进行格兰杰因果关系检验的一个前提条件是时间序列必须具有平稳性,否则可能会出现虚假回归问题。常用增广的迪基–富勒检验(ADF检验)来分别对各指标序列的平稳性进行单位根检验。
经过ADF检验与平稳化处理后,所有变量经过一次一阶自差分后均能够达到平稳。其中,煤炭价格变量一阶平稳,影响因素中原数据平稳的有16个变量,一阶差分后平稳的有39个变量。
3.1.3. 协整检验
协整检验用来分析变量之间的长期均衡关系,由于原始序列平稳肯定协整,变量间进行协整检验的必要条件是它们之间是同阶单整。故针对平稳性检验得到的39个一阶平稳变量以秦皇岛动力煤(大同优混5800)平仓价作为基准变量进行协整检验。
Engle-Granger (EG)两步法是一种用于检验时间序列数据是否存在协整关系的常用方法。它的基本思想是,首先在第一步中估计出长期均衡关系,然后在第二步中检验残差序列的平稳性,以确定是否存在协整关系。检验结果显示,在显著性水平为0.05时,有25个影响因素变量表现为协整。
3.1.4. Granger因果分析
协整检验结果可以得出协整变量之间存在长期的稳定关系,这只是从数量上得到的结论,但不能确定谁是因、谁是果。下面对协整检验后的协整变量进行Granger因果检验,判断影响因素与动力煤价格间的领先滞后关系。在5%显著性水平下,筛选出16个与因变量具有因果关系的自变量。
通过以上对煤炭价格及其影响因素定性和定量的分析,共同筛选出表2中的5个指标作为煤炭价格预测的输入变量。
由于数据之间存在量纲不一致问题,对原始数据使用“MinMaxScaler”函数对数据进行归一化处理,函数表达式为:
(13)
其中,
是归一化后数值,x是原始数值,
是数据最大值,
是最小值。
3.2. 实验结果与分析
数据集按照9:1划分训练集和测试集。参数Kim = 10,Step = 1/3/5/7表示利用煤炭价格及其影响因素过去10个历史数据预测未来步长为1/3/5/7的煤炭价格。各模型的名称、分类及输入如表3所示。
对于不同时间步长,图5显示在SF-LSTM、SF-BiLSTM两个单一价格变量预测网络的基础上加入影响因素后,测试集预测效果更优;图6显示在加入影响因素的LSTM、BiLSTM网络中加入CNN特征提取模块后,测试集的预测效果提升;图7显示加入ARIMA修正使得CNN-LSTM、CNN-BiLSTM模型预测效果再次得到提升,从而得到ARIMA-CNN-(Bi)LSTM融合模型。
![](//html.hanspub.org/file/168-1701318x54_hanspub.png?20240104090028892)
Figure 5. Add the prediction curve comparison of influencing factors
图5. 加入影响因素的预测曲线对比
![](//html.hanspub.org/file/168-1701318x55_hanspub.png?20240104090028892)
![](//html.hanspub.org/file/168-1701318x56_hanspub.png?20240104090028892)
Figure 6. Add the prediction curve comparison of CNN module
图6. 加入CNN模块的预测曲线对比
![](//html.hanspub.org/file/168-1701318x57_hanspub.png?20240104090028892)
Figure 7. Add ARIMA modified prediction curve comparison
图7. 加入ARIMA修正的预测曲线对比
表4具体展示了各类模型通过判定系数、平均绝对百分误差、均方根误差对其预测效果的评价结果。
![](Images/Table_Tmp.jpg)
Table 4. Comparison of model prediction results
表4. 模型预测结果对比
由表4可知:
1) 步长一定时,多变量LSTM、BiLSTM模型的预测准确率高于单变量的对应模型,说明加入影响因素对煤炭价格预测有重要作用;
2) 步长一定时,BiLSTM比LSTM模型准确率更高,说明BiLSTM模型的双向反馈机制可以有效提升预测效果;
3) 模型加入CNN模块后,LSTM及BiLSTM模型的预测效果都有所提升,说明CNN模块可以加强对模型输入的特征提取作用;
4) 利用ARIMA模型对融合模型的误差序列进一步拟合预测,并对CNN-(Bi)LSTM预测值进行修正,由此得到的预测结果准确度显著提升,说明ARIMA对预测模型具有较强的修正效果;
5) 综合来看,针对不同的步长,利用CNN-BiLSTM-ARIMA融合模型预测煤炭价格效果最好。
4. 结论与展望
本文调研选取秦皇岛动力煤大同优混(5800)的日平仓价作为煤炭价格预测的研究对象,综合考虑了四大类指标,选取共计55种影响因素对动力煤价格利用趋势性、相关性和因果性分析,最终保留4种影响因素作为预测模型的输入特征,通过实验验证加入影响因素显著提升了模型的预测能力。
通过在多特征LSTM、BiLSTM基准神经网络中加入CNN特征提取模块,提高了预测模型对煤炭价格影响因素的特征提取能力,同时也与传统计量学ARIMA模型进行融合,改善了神经网络对复杂的煤炭价格中线性趋势的把握,最终利用CNN-BiLSTM-ARIMA融合模型对1、3、5、7不同的时间步长进行预测,准确率均达到99%以上。
由于个人时间精力有限,本文工作还有进一步提升的空间。后续可以考虑增加环境、政策、气温等因素对煤炭价格的影响,或者可以通过增加其他煤炭价格验证融合模型的适用性。
致谢
感谢给予引用权的文献作者及发布相关数据的数据库对本文的论据支撑。
基金项目
国家自然科学基金面上项目(62076137)。