1. 引言
在当代社会迅猛发展的背景下,全球碳排放问题日益显著,成为与气候变化和环境保护密切相关的重大议题。与碳排放密切相关的碳排放权也愈发重要。碳排放权在碳市场中的价格受多种因素的影响,例如宏观经济状况和能源价格波动等,可能导致碳价格的波动,影响市场的稳定性。因此准确的碳交易价格预测模型尤为重要,其可以更好地帮助企业获取碳排放权来降低企业的碳排放,使企业获得更多的利润,并有助于推动经济体系向更加环保和可持续的发展方向转变。
为了解碳排放权交易市场的变动规律来构建准确的碳交易价格预测模型,国内外研究人员对其价格波动特性进行了深入探讨。根据王扬雷与杜莉(2015)的研究,使用分形市场理论揭示了北京市试点碳交易市场的配额交易价格系列具备显著的回忆特性[1]。魏素豪及宗刚(2016)利用非线性特质检测模式发现五个试点区域内的碳交易价格波动无固定周期规律[2]。为解决上述问题,模态分解算法(Modal Decomposition, MD)被广泛应用于分解碳价数据以简化计算和提高预测精度。ZHU B Z等(2012)采用经验模态分解(Empirical Mode Decomposition, EMD)结合人工神经网络进行预测分析[3]。WANG J J (2022)运用变分模态分解(Variational Mode Decomposition, VMD)结合极限学习机(Extreme Learning Machine, ELM),解决了模态混叠问题[4]。
当前针对碳交易价格的预测模型主要分为三类:传统统计模型、人工智能模型、组合模型。传统时间序列预测模型基于统计学原理,通过分析历史数据模式进行预测。主要模型包括ARIMA、指数平滑、STL、SARIMA、Holt-Winters、VAR和ARIMAX等。例如徐宁等(2023)建立AGRM (1,1)模型,实现对带有波动和振荡的碳排放序列的准确预测[5]。传统统计模型具备简单直观、易于应用的优点。但由于传统模型对复杂非线性关系的拟合能力有限且碳价格数据波动性大,在模型训练过程中容易出现欠拟合现象。为应对这一问题,研究者开始利用人工智能模型提升预测性和稳定性。随着机器学习的发展,人工智能预测模型在处理大规模数据和发现隐藏模式方面表现出色,被广泛应用于碳价格预测中[6]。例如,谭川江等(2024)利用BP模型和LSTM模型进行预测,进一步提高了模型预测的准确性[7]。人工智能模型更加适应复杂非线性关系,具有强大的特征学习和数据处理能力。然而,它们可能面临过拟合和训练复杂的问题,影响预测精度和性能。为进一步提高预测精度,研究者提出了结合多种模型的组合模型,以达到更好的效果。例如,魏欣等(2020)提出的动态权重组合模型整合了多种单一模型的信息[8]。炊婉冰等(2023)利用ARIMA-SSA-LSTM组合模型得到的预测精度评价指标均为最小,碳排放交易价格预测精度最优[9]。
综上,考虑到CEEMDAN对于非线性、非平稳的碳价格时间序列可以进行有效分解,CNN-GRU-Attention的预测模型可以覆盖更全面的信息,本文将结合CEEMDAN与CNN-GRU-Attention来搭建碳价格数据预测模型以期达到更精准的碳市场价格预测。
2. 相关理论及模型
2.1. CEEMDAN分解
自适应噪声完备集合经验模态分解(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise, CEEMDAN),与EEMD相比,其具备一些显著的优点:首先是完整性,即使是在较低的平均频率情况下,CEEMDAN也能表现出优秀的完整度,其次,它的运行效率更高,由于CEEMDAN并不需要过多的平均频率,因此能大幅提高软件执行速率;最后,模式分离的结果更为优秀。
应用CEEMDAN算法,原始序列被拆解为多个本征模态函数,它们展现出显著的优势,重构前后的序列误差极小,确保信息无较大损失。因此,通过CEEMDAN算法引入自适应白噪声来分解碳交易市场的时序数据,能在少量操作下实现误差接近零的目标。CEEMDAN方法每求得一个IMF分量后,将残差与白噪声(或白噪声的IMF分量)相加,然后求这时的IMF分量均值,并不断进行迭代。CEEMDAN分解的原理流程图如图1所示,具体分解步骤如下:
在EMD分解后的序列中,
代表第j个内在模式函数(IMF)分量。于CEEMDAN的第m个阶段,
乃作用于输入序列的噪声系数,而
即为CEEMDAN经由该阶段生成的第m个IMF分量。
(1) 对原始信号
增添N次高斯白噪声,高斯白噪声的权值系数为
,第n次处理时的高斯白噪声为
,进而构建总计N个预处理的序列
,如式(1.1)所示。
(1.1)
(2) 针对预处理序列
开展EMD分解,获得首个IMF分量
,其平均值被定义为第一个IMF分量
,同时产生第一个残差序列
,这些过程遵循式(1.2)和(1.3)所示。
(1.2)
(1.3)
(3) 向残差序列
添加高斯白噪声构造为N个新的序列
,对每个新序列进行EMD分解,并计算其平均值,由此得到第二个IMF分量
,这个过程如公式(1.4)所示,并得到第二个残差序列
,如式(1.5)所示。
(1.4)
(1.5)
以此类推,第m阶段的残差如式(1.6)所示。
(1.6)
(4) 对
实施N次EMD分解,便能得到CEEMDAN分解后的第
个IMF序列,记为
,如式(1.7)所示。
(1.7)
(5) 持续循环上述流程,一直到分解终止,最后残余序列如式(1.8)所示。
(1.8)
即信号序列
经CEEMDAN分解后的表达式如式(1.9)所示。
(1.9)
由上述计算步骤可知,一方面CEEMDAN算法在计算IMF2及之后的分量时,会重复之前的步骤,即对上一轮的残余部分加入高斯白噪声的IMF分量,并计算此时的IMF分量均值,如此逐次迭代。另一方面,CEEMDAN算法会设定一些停止条件,如达到预定的迭代次数、残差的能量降低到一定阈值以下等,来判断是否继续进行迭代分解,从而实现了对信号的高效分解和去噪。
Figure 1. Flowchart of CEEMDAN decomposition principle
图1. CEEMDAN分解原理流程图
2.2. CNN-GRU-Attention模型
2.2.1. 卷积神经网络
卷积神经网络(Convolutional Neural Network, CNN)是一种前向反馈神经网络,其具有出色的特征提取能力和优异的泛化性能,它的结构包括输入层、卷积层、全连接层等。输入层接纳原始数据,卷积层借助卷积运算提炼数据的特性,激励层引入非线性因素,池化层针对特征图实施下采样,减少参数数目并增强模型的稳健性,全连接层把池化层的输出与输出层相连接,达成最终的分类或回归任务。
CNN通常以一种交替的卷积层和池化层的方式构建,这种结构设计的目的在于逐渐缩小空间维度,同时提取越来越抽象的特征。在卷积层内,相邻神经元共享相同的权值,这种共享机制有助于减少参数量,进而简化模型,同时提高模型的感受范围,增强模型对输入数据结构的理解能力。CNN的基本架构如图2所示:
Figure 2. CNN basic architecture
图2. CNN基本架构
2.2.2. 门控循环单元
门控循环单元(Gated Recurrent Unit, GRU)被Cho等人提出,是一种更简单但同样有效的LSTM替代方案。GRU的主要演化包括门控机制的整合,它将LSTM中的遗忘门和输入门合并为一个单一的更新门(update gate),减少了参数数量和计算复杂度;结构的简单化,GRU的结构十分简单,只包含更新门和重置门,这使得它更容易训练和理解;更快的训练速度,GRU的参数量较少,通常在训练过程中收敛更快,并且在一些任务中的表现不弱与LSTM。
GRU的神经单元结构如图3所示,其关键组成部分如下:
Figure 3. GRU neural unit structure
图3. GRU神经单元结构
更新门(Update Gate):GRU引入了一个更新门,决定了前一时间步的隐藏状态如何被保留或遗忘。该门控制了信息的更新程度,以及模型学习在每个时间步更新多少先前的信息。
重置门(Reset Gate):与更新门一样,重置门决定了前一时间步的隐藏状态在当前时间步的影响。通过控制该门,模型可以选择性地忽略先前的隐藏状态,以适应当前输入。
候选隐藏状态(Candidate Hidden State):这是一个临时的候选隐藏状态,计算基于重置门和当前输入的新信息。这个候选隐藏状态会被用来更新当前的隐藏状态。
隐藏状态(Hidden State):在GRU系统中,可以通过整合前一时间步的隐藏状态和待选隐藏状态来实现。这个过程涵盖了模型对于当前时间步的理解和记忆。
GRU具体计算公式如(1.10)所示:
(1.9)
式中:
代表更新门,
代表复位门,
代表中间记忆状态,
和
分别为更新门和复位门的连接权值;σ和tanh为激活功能。
2.2.3. 注意力机制
注意力机制(Attention Mechanism)是一种提升神经网络对输入信息的专注力和理解深度的策略。在处理序列数据时,它允许网络动态地将注意力集中在输入的不同部分,以便更有效地处理输入序列中的重要信息。注意力机制允许模型根据输入的具体内容动态调整对不同部分的关注程度,从而更有效地捕捉序列中的长期依赖关系。
Attention机制被视为一种链接方式,它把Encoder与Decoder联系起来,并为Decoder提供了每一个Encoder隐含层的状态信息。当Encoder处理输入序列的各个部分时,它能生成一系列基于各种序列成分及各权重参数混合而成的多维语义编码C,这个过程通过式(1.11)和(1.12)来实现:
(1.10)
(1.11)
其中,j代表序列第j个元素,
代表序列长度,
代表编码函数,
代表元素
对
的重要程度,
是通过softmax函数计算得出的概率,
代表待编码元素和其他元素之间的匹配度。
Attention机制的结构如图4所示:
Figure 4. Schematic diagram of the Attention mechanism structure
图4. Attention机制结构示意图
3. 结合CEEMDAN与CNN-GRU-Attention模型搭建
3.1. 建模数据的选取
本研究在数据的选取方面,选定了深圳市域碳交易市场的碳配额价格相关数据,其中的初始碳日价格序列是来源于国泰安数据库。
在碳价格所涉及的数据范畴里,通常广泛地包括了收盘价格、开盘价格、成交量等等一系列内容。其中,收盘价格往往能够较为全面地反映出当日碳市场的整体交易状况以及市场参与者的态度和倾向,于深入分析碳市场的价格走势、其自身的波动性以及有效进行未来价格预测等方面,都具有至关重要的意义,因此本文选定收盘价格为初始碳价格。
3.2. 建模思路
首先,对碳价格原始序列进行了CEEMDAN分解,并通过计算排列熵值重组为新的子序列来提高预测精度并减小计算规模。针对分解后子序列的非平稳性,本文采用GRU模型作为基础模型,其具有结构简单和时间特征提取能力强的优点,可处理序列数据并捕获序列之间的长期依赖关系,同时采用CNN模型,其具有强大的空间特征提取能力,并在对数据集进行特征提取时成效显著,可以帮助模型自动学习输入数据的特征表示,从而提高模型的性能,还将采用注意力机制以帮助模型更集中于输入序列中的关键信息。综合三种模型的优势构建出CNN-GRU-Attention模型,该模型依次提取了数据集的空间特征、时间特征以及序列中的关键信息,较好地提高了对数据特征的全面捕捉能力。
3.3. 评价指标
为了对不同模型的预测结果进行比较分析,本文选用均方根误差(RMSE)、平均绝对百分误差(MAPE)、平均绝对误差(MAE)和拟合度(R2)作为评估指标来径直评测模型的性能。
(1) 均方根误差(RMSE)用于衡量模型的预测值与实际观测值之间的差异程度。
(2.1)
(2) 平均绝对百分误差(MAPE)用于评估模型的预测值与实际观测值之间的相对误差程度。MAPE表示的是每个样本的预测误差在实际值中所占的百分比的平均值。
(2.2)
(3) 平均绝对误差(MAE)于度量模型预测值与实际观测值之间的平均绝对差异程度。MAE表示的是模型在所有样本上预测误差的平均值,它不考虑误差的方向,因此对于异常值(离群值)不敏感。
(2.3)
(4) 拟合度R2的值介于0到1之间,数值越接近1表示模型对数据的解释能力越强,即能更好地拟合数据,同时也能说明模型能够解释更多的数据变异性。而当R2接近0时,则表示模型的解释能力较差,无法很好地拟合数据。
(2.4)
式中,
代表第t次测试的真实值,
代表算法模型输出值,m代表测试总次数。
4. 实证分析
4.1. 数据的分解与重构
初始碳价格序列的时间跨度从2013年8月5日到2023年1月12日,数据是以日为单位来进行及时更新的,同时剔除了非交易日的数据,总计有4608条记录的碳价格时间序列原始信号,为后续的研究和分析提供了基础素材和依据,如图5所示。
Figure 5. Original signal of Shenzhen carbon price time series
图5. 深圳市碳价格时间序列原始信号
4.1.1. CEEMDAN分解
由图5可以看出深圳市碳价格具有明显的非线性和非平稳性,为了能够进一步挖掘出碳价格序列的时序特征,本文通过CEEMDAN算法对其进行分解,结果如图6所示。
Figure 6. CEEMDAN decomposition results of carbon price series
图6. 碳价格序列CEEMDAN分解结果
图6中,红色曲线代表CEEMDAN分解得到的11组IMF分量和一组残余分量RES。可以看出,各个序列按频率从高到低依次排列,并且不同频率的序列波呈现出了一定的规律性,这种规律性使得整个分解结果显得更加清晰和有序。
4.1.2. 排列熵重构
由图6中CEEMDAN的分解结果可知,在信号频率逐渐降低之际,IMF分量的波动复杂性亦随之降低。相较于高频信号的预测通常需注重更多局部数据特征而言,低频信号更侧重于序列的趋势变化,所以可以对具有相近复杂度的分量予以合并重组。
计算了经过CEEMDAN处理的各个子序列的排列熵值,其归一化后的数据如表1所示。
Table 1. Entropy values of each subsequence component
表1. 各个子序列分量排列熵值
序列分量 |
PE值 |
IMF1 |
0.95576 |
IMF2 |
0.8671 |
IMF3 |
0.8813 |
IMF4 |
0.70186 |
IMF5 |
0.50358 |
IMF6 |
0.35222 |
IMF7 |
0.26062 |
IMF8 |
0.21189 |
IMF9 |
0.17216 |
IMF10 |
0.15906 |
IMF11 |
0.15271 |
RES |
0.10211 |
根据表1的结果显示,可以发现,在序列长度增加的同时,各个模态分量的排列熵值(PE)也在逐渐的减小,即复杂性正在逐渐下降。通过比较标准化序列的熵值相似性,确保归一化排列熵值之间的差异保持在0.2或更小,然后将相近的序列合并重组,重组序列的排列熵值取其平均值,以此提高模型的计算效率。具体操作为:IMF1、IMF2、IMF3和IMF4的排列熵值相差最大为0.1983,因此可以将其合并为一组;IMF5的排列熵值与其他分量差距较大,因此单独将IMF5划分为一组;同理,IMF6、IMF7和IMF8的复杂度相近,因此可合并为一组;IMF9、IMF10、IMF11和RES的复杂度相近,因此整合在一起;最终创建了四个新的子序列。
通过上述重组策略,将预测模型的数量从原有的12个缩减至4个,大幅度提高了整个模型的计算效率。重组后构成新的四个分解序列如图7所示:
Figure 7. Reconstructed subsequence decomposition results
图7. 重构子序列分解结果
4.2. CNN-GRU-Attention建模预测
在上节中,对碳价格原始序列进行了CEEMDAN分解得到12组子序列,并通过计算排列熵值重组为四个新的子序列,不仅可以提高预测精度,还可以减小计算规模。针对分解后子序列的非平稳性,本文采用GRU模型作为基础模型,其具有结构简单和时间特征提取能力强两个优点,可用于处理序列数据并捕获序列之间的长期依赖关系,同时采用CNN模型,其具有强大的空间特征提取能力,并且在对数据集进行特征提取时成效显著,可以帮助模型自动学习输入数据的特征表示,从而提高模型的性能以及采用Attention模型以帮助模型更集中于输入序列中的关键信息,从而提高模型的性能和泛化能力。综合三种模型的优势构建出CNN-GRU-Attention模型,该模型依次提取了数据集的空间特征、时间特征以及序列中的关键信息,很好地提高了对数据特征的全面捕捉能力。
CNN-GRU-Attention模型在CNN-GRU模型的基础上结合了Attention在处理序列数据时注意力集中在序列中的特定部分的特性,提高了模型的表现力和泛化能力,使得模型在处理序列数据时更加高效和准确。其模型结构图如图8所示。
CNN-GRU-Attention模型包含一个输入层、两个卷积层、一个池化层、一个全连接层、一个输出层和一个注意层。在一维CNN层,卷积核数量为64,内核大小为12,同时添加了最大池化层,并采用了ReLU作为激活函数,卷积层和池化层的stride均为1。设置GRU网络,每层的隐藏单元个数为60,并在GRU网络中加入Dropout,设置其值为0.3,应用Dropout层可以防止模型过拟合。
Figure 8. CNN-GRU-Attention model
图8. CNN-GRU-Attention模型
4.3. 模型预测结果比较
4.3.1. 实验一:对比分析采用原始数据序列和CEEMDAN分解重构后数据序列在同一模型中的预测效果
由上文4.1中可以得到深圳市碳交易日收盘价格在经过CEEMDAN分解后得到12个子序列,又通过计算每个子序列的排列熵值,将排列熵值相近的子序列组合求平均值,得到4组新的子序列,完成原始数据的分解重构。
1. 原始数据序列的模型预测
将原始的碳价格时间序列传输进CNN-GRU-Attention模型进行预测,所得到的预测结果如图9所示:
Figure 9. Original data CNN-GRU-Attention prediction results
图9. 原始数据CNN-GRU-Attention预测结果
2. 分解重构序列的模型预测
将分解重构后的碳价格时间序列预传输进CNN-GRU-Attention模型进行预测,预测结果如图10所示:
Figure 10. Decomposition data CNN-GRU-Attention prediction results
图10. 分解数据CNN-GRU-Attention预测结果
由图9和图10对比可以看出,原始的碳价格数据不稳定,波动幅度大,且预测效果的拟合程度差。
3. 预测效果对比分析
将以上两次实验所得到预测误差进行整理,可得到如对比结果表2所示:
Table 2. Comparison of prediction errors of the CNN-GRU-Attention model for the original data sequence and the decomposed and reconstructed data sequence
表2. 原始数据序列和分解重构数据序列CNN-GRU-Attention模型预测误差对比
|
MAE |
MAPE |
RMSE |
R2 |
原始碳价格序列 |
2.532 |
1007.387 |
4.146 |
0.118 |
分解重构后碳价格序列 |
2.257 |
51.263 |
3.348 |
0.956 |
经过将表2中的数据对比分析后可知,在三项误差评价指标中采用CEEMDAN分解重构后的数据序列的预测误差均处于优势地位,在R2指标中采用CEEMDAN分解重构后的数据序列的预测效果同样展现出十分明显的优势地位,其预测结果的模型拟合程度远远高于采用原始数据序列的模型拟合程度。
由此可以得到结论:采用使用CEEMDAN分解算法并重构后的数据序列进行预测,可有效降低预测误差,提升模型的预测拟合度和精度。
4.3.2. 实验二:对比分析采用同一数据序列在GRU模型、CNN-GRU模型与CNN-GRU-Attention模型中的预测效果
采用分解重构后的数据序列,分别输入到GRU模型、CNN-GRU模型和CNN-GRU-Attention模型中进行预测,可以得到以下预测结果:
1. GRU模型预测
将分解重构后的数据序列输入到GRU模型中得到的loss值如图11所示:
Figure 11. GRU neural network loss value
图11. GRU神经网络loss值
其预测结果如图12所示:
Figure 12. GRU neural network prediction results
图12. GRU神经网络预测结果
2. CNN-GRU模型预测
将分解重构后数据序列传输到CNN-GRU模型中得到的loss值变化如图13所示:
Figure 13. CNN-GRU neural network loss value
图13. CNN-GRU神经网络loss值
其预测结果如图14所示:
Figure 14. CNN-GRU neural network prediction results
图14. CNN-GRU神经网络预测结果
3. CNN-GRU-Attention模型预测
将分解重构后数据序列传输到CNN-GRU-Attention模型中得到的loss值变化如图15所示:
Figure 15. CNN-GRU-Attention neural network loss value
图15. CNN-GRU-Attention神经网络loss值
其预测结果如图16所示:
Figure 16. CNN-GRU-Attention neural network prediction results
图16. CNN-GRU-Attention神经网络预测结果
通过观察图13、图14和图15,可以看出三模型的损失值均呈现逐渐减小的趋势并最终趋于稳定,这表明模型正在逐渐收敛到最优解。其中,采用CNN-GRU-Attention模型预测的损失图最为平滑,表明相较于其他两种模型,该模型在训练过程中的稳定性最好。
3. 预测效果对比分析
将以上三次实验所得到的预测误差进行整理,可得到误差对比如表3所示:
Table 3. Comparison of prediction errors between single model and CNN-GRU-Attention model
表3. 单一模型与CNN-GRU-Attention模型预测误差对比
|
MAE |
MAPE |
RMSE |
R2 |
GRU |
3.157 |
73.564 |
3.536 |
0.885 |
CNN-GRU |
2.308 |
62.831 |
3.488 |
0.935 |
CNN-GRU-Attention |
2.257 |
51.263 |
3.348 |
0.956 |
由表3可知,GRU、CNN-GRU、CNN-GRU-Attention模型的三项误差数值相对比,呈现出依次递减的状态,即采用CNN-GRU-Attention模型得到的预测误差最低,MAE、MAPE、RMSE分别为2.257,51.263,3.348。这说明结合了CNN和Attention的GRU模型,具有更强大的特征提取能力,可以使得模型能够更准确地捕获数据中的模式和规律;并且该模型在处理序列数据时具有更好的表现,可以更好地理解和利用序列中的时间相关性;同时可发现其可以在序列中自动选择和聚焦于最重要的特征,具有更好的泛化能力,能够更好地适应新数据和未知模式从而产生更低的预测误差。并且采用CNN-GRU-Attention模型预测得到的拟合度R2最高,为0.956。这说明该模型能够更好地拟合训练数据,捕捉数据中的复杂关系,具有更强大的模型适应性。
5. 结语
本文提出了一种结合CEEMDAN分解和CNN-GRU-Attention模型的新方法来构建碳价预测模型。在本方法中,首先利用CEEMDAN分解来处理原始数据序列,之后再使用分解重构后的数据序列构建CNN-GRU-Attention模型。通过多实验结果的对比,本文提出的结合CEEMDAN分解和CNN-GRU-Attention模型构建碳价预测模型的方法具有较好的泛化能力,能够更精确地进行碳价的预测。
NOTES
*通讯作者。