1. 引言
随着全球经济的快速发展和人口规模的增加,碳排放已成为全球气候变化的主要原因之一。面对节能减排的紧迫任务,中国积极参与全球气候治理,我国政府已经提出了碳减排目标的中长期发展计划。因此,研究我国碳排放量的长期动态并做出准确预测意义重大。
目前在此领域常见的预测方法有回归分析和时间序列分析等,这些方法是通过对碳排放量与影响因素之间的关系,或者利用历史碳排放数据的时间序列特征进行建模来预测未来的碳排放量。此外,灰色关联分析可通过对碳排放量与影响因素之间的关联程度进行分析,建立灰色关联模型,进而预测未来的碳排放量。其中,Santos [1]等人提出了一种混合预测模型,结合了时间序列分析和机器学习方法,用于预测碳排放。该模型利用历史数据和外部因素进行预测,具有较高的准确性和预测能力。Abdullah [2]等人比较了人工神经网络和时间序列模型在碳排放预测中的表现。结果显示,人工神经网络模型在预测准确性和稳健性上表现优异。Kim [3]等人基于深度学习技术,考虑了多种影响因素,建立了碳排放预测模型。通过深度学习网络的训练,此模型能够更准确地预测未来的碳排放量。王磊[4]等人研究了利用BP神经网络构建了碳排放量预测模型,并通过历史数据的学习和拟合,实现了对未来碳排放量的预测。郑春根[5]等人利用灰色关联分析方法,建立了碳排放预测模型,通过分析碳排放与影响因素之间的关联程度,实现了对未来碳排放量的预测。
2. 研究方法
2.1. BP神经网络
BP神经网络是一种按照误差反向传播算法的多层前馈型网络,它包括输入层、隐藏层、输出层。每一层有多个神经元,层与层之间的神经元通过权值连接[6]。
Step 1:信号的前向传播
符号含义见表1。
Table 1. Symbolic meaning
表1. 符号含义
 
  
    | 符号 | 含义 | 
  
    | 
 | 输入层第j个神经元的输入信号 | 
  
    | 
 | 输入层与隐藏层之间的权值 | 
  
    | 
 | 隐藏层第i个神经元的阈值 | 
  
    | 
 | 隐藏层的传递函数 | 
  
    | 
 | 隐藏层与输出层之间的权值 | 
  
    | 
 | 输出层第k个神经元的阈值 | 
  
    | 
 | 输出层的传递函数 | 
  
    | 
 | 输出层第k个神经元的输出信号 | 
 因此,隐藏层第i个神经元的输入信号可表示为:
隐藏层第i个神经元的输出信号为:
输出层第k个神经元的输入信号为:
输出层第k个神经元的输出信号为:
这样,神经网络就完成了第一步信号的向前传播。
Step 2:误差的反向传播
对于单个样本p,用
表示神经网络的期望值
与实际值
之间的误差。
用平方误差来计算:
因此对于所有P个样本,用E表示总体误差,则它的公式为:
采用梯度下降法,更新参数,求出问题的最优解。
修正的权值阈值分别为:
其中
是学习率。
Step 3:重复进行这两个过程,直到误差低于预先给定的误差或者达到预先给定的学习次数,训练就完成了。
2.2. GA-BP
BP神经网络因为其内部采用的是局部搜索算法和梯度下降法,极易陷入局部最优解,而遗传算法是一种全局搜索最优解的算法,所以可以用遗传算法来优化BP神经网络。
遗传算法的流程一般包括染色体的编码、初始群体的生成、适应度函数的设计、选择、交叉、变异操作、终止条件。
BP神经网络因为其内部采用的是局部搜索算法和梯度下降法,极易陷入局部最优解,而遗传算法是一种全局搜索最优解的算法,所以可以用遗传算法来优化BP神经网络[7]。
遗传算法的流程一般包括染色体的编码、初始群体的生成、适应度函数的设计、选择、交叉、变异操作、终止条件。
2.2.1. 染色体的编码方法
遗传算法是把参数空间中的解通过一定的方式编码成字符串进行运算的,一个解对应一条染色体,这些编码后的染色体可以进行基因的交叉、变异操作。染色体的编码方式有很多种,例如二进制编码、符号编码、浮点数编码等,其中最常用的是二进制编码。
2.2.2. 初始群体的生成
染色体编码后会形成一些字符串,一个字符串就对应一个个体,所有的个体构成一个种群。一般是通过电脑编码生成随机数,因为个体是随机生成的,所以它们适应环境的能力不同,有好有坏,也就是适应度有高有低。
2.2.3. 适应度函数的设计
随机生成的个体适应度有高有低,适应度低的个体会被淘汰。所以,我们需要一个判断标准,来判断个体的优劣。这就是适应度函数。本文中用均方误差作为适应度的评估值,可以表示为:
其中,
和
分别为第i天的期望值与实际值。
2.2.4. 选择
选择是指从种群里选择出适应环境能力强的个体,让它们产生下一代种群,适应环境能力差的个体直接淘汰。通常适应度高的个体,更容易生存下来,适应度低的个体,更容易被淘汰。一般采用轮盘赌选择法。公式为:
其中,
为第i个个体适应度值,
为个体被选择的概率,n为种群规模。
2.2.5. 交叉
交叉对应遗传学中的基因重组,是指把通过交叉概率选出来的个体,互相交换自身染色体上基因的一部分,产生新的两条染色体,即新的个体。基因不断发生重组,产生新的个体,有可能使优良的基因结合在一起,种群向更适应环境的方向进化。交叉概率的取值一般为0.9~1。
2.2.6. 变异
变异对应遗传学中的基因突变,是指把通过变异概率选出来的个体,改变其染色体上的某些基因。变异发生的概率很小,取值一般为0.001~0.1。
当误差低于预先给定的误差或者达到预先给定的遗传代数时,训练就完成了。
遗传算法是通过调节BP神经网络的初始权重和阈值,来优化BP神经网络的。GA-BP算法的思想是:
Step 1:确定BP神经网络的结构并初始化参数,然后对参数进行编码操作,也就是形成种群中的个体。
Step 2:进入遗传算法的流程,当达到遗传算法预先设定的目标时,就得到了BP神经网络参数的最优解。
Step 3:对具有最优参数的BP神经网络进行训练,就得到用遗传算法优化的BP神经网络。
3. 精度检验指标
不要使用空格、制表符设置段落缩进,不要通过连续的回车符(换行符)调整段间距。
本文采用平均绝对误差(MAE)、平均绝对百分误差(MAPE)、均方误差(MSE)、均方根误差(RMSE)来评估模型的精度。
平均绝对误差(MAE)是指真实值与预测值之间的偏差绝对值的算术平均值。公式为:
平均绝对百分误差(MAPE)是指真实值与预测值之间的偏差与真实值比值的绝对值的算术平均值。公式为:
均方误差(MSE)是指真实值与预测值之间的偏差的平方和除以预测次数。公式为:
均方根误差(RMSE)是指真实值与预测值之间偏差的平方和除以预测次数的平方根。公式为:
4. 实证分析
4.1. BP神经网络预测模型
下面构建碳排放量和影响碳排放量因素的BP神经网络预测模型,将2000~2015年的数据作为训练集,2016~2021年的数据作为测试集[8]。
输入变量为社会、经济、技术三个方面影响碳排放量的11个影响因素,输出变量为全国的碳排放量。所以,BP神经网络的输入层的神经元节点数为11,输出层的神经元节点数为1。隐藏层神经元的节点数一般用公式
来计算,其中,
表示隐藏层节点数,n表示输入层节点数,m表示输出层节点数,a是常数,
。所以本文隐藏层神经元节点数的初步确定为
。不同隐藏层节点数的网络训练结果见下表2。
Table 2. Network training results with different number of hidden layer nodes
表2. 不同隐藏层节点数的网络训练结果
 
  
    | 隐藏层节点数 | 均方误差 | 
  
    | 4 | 0.0018387 | 
  
    | 5 | 0.00066936 | 
  
    | 6 | 0.0023831 | 
  
    | 7 | 0.0085494 | 
  
    | 8 | 0.0016204 | 
  
    | 9 | 0.00029676 | 
  
    | 10 | 0.00060354 | 
  
    | 11 | 0.013189 | 
  
    | 12 | 0.0028528 | 
  
    | 13 | 0.0012026 | 
 由上表可以看出,最佳隐藏层节点数为9,相应的均方误差为0.00029676。
确定最佳隐藏层节点后,可以构建最佳隐藏层节点数的BP神经网络,对2000~2015年的数据进行训练,具体的参数设置如下表3所示。
Table 3. Network parameter value
表3. 网络参数取值
 
  
    | 参数 | 取值 | 
  
    | 神经元节点数目 | 11、9、1 | 
  
    | 隐含层传递函数 | Tan-sigmoid型 | 
  
    | 输出层传递函数 | Purelin型 | 
  
    | 训练函数 | trainlm | 
  
    | 最大迭代次数 | 50000 | 
  
    | 目标误差 | 0.000001 | 
  
    | 学习效率 | 0.01 | 
 BP神经网络训练得到的碳排放量预测值与真实值的对比图见下图1。
Figure 1. Comparison of real and predicted carbon emissions and error chart
图1. 碳排放量真实值与预测值对比及误差图
由图1可以看出,测试集的真实值和预测值非常接近,且误差在−0.04和0.04之间,说明BP神经网络模型的预测效果很好。
4.2. GA-BP神经网络预测模型
BP神经网络因为其内部采用的是局部搜索算法和梯度下降法,极易陷入局部最优解,而遗传算法是一种全局搜索最优解的算法,所以可以用遗传算法来优化BP神经网络。仍然将2000-2015年的数据作为训练集,2016~2021年的数据作为测试集,最大迭代次数、目标误差、学习效率也和BP神经网络设置的相同,分别为50000、0.000001、0.01。GA-BP的其它参数设置如下表4所示:
Table 4. Network parameter value of GA-BP
表4. GA-BP网络参数取值
 
  
    | 参数 | 取值 | 
  
    | 种群规模 | 50 | 
  
    | 遗传代数 | 20 | 
  
    | 交叉概率 | 0.95 | 
  
    | 变异概率 | 0.005 | 
 由图2可以看出,GA-BP神经网络的训练集的
,也就是碳排放量真实值与预测值的拟合度为0.9972。真实值曲线与拟合曲线可以看到是重合的,说明拟合效果非常好。网络的验证集的
,测试集的
,所有样本集的
。
Figure 2. Regression fitting diagram of GA-BP neural network
图2. GA-BP神经网络的回归拟合图
由图3可以看出,测试集和训练集的真实值和预测值都非常接近,并且训练集的均方误差RMSE为0.013239,测试集的均方误差RMSE为0.069951,误差都比较小,说明GA-BP神经网络模型的预测效果很好。
Figure 3. Comparison of training results of GA-BP training set and test set
图3. GA-BP训练集和测试集训练结果对比图
4.3. 模型预测效果
由表5可以看出,遗传算法优化的BP神经网络模型的预测精度优于BP神经网络,因此更适合用于碳排放量的预测。
Table 5. Comparison of prediction effect of each mode
表5. 各模型预测效果对比
 
  
    | 模型 | MAE | MSE | RMSE | MAPE | 
  
    | BP | 0.02439 | 0.00081 | 0.00018 | 0.27028% | 
  
    | GA-BP | 0.01005 | 0.00018 | 0.01324 | 0.00059% | 
 5. 结论
本文根据2000年至2021年我国各省份的碳排放量数据,先构建了碳排放量和影响碳排放量因素的BP神经网络预测模型[9]。由于BP神经网络其内部采用的是局部搜索算法和梯度下降法,极易陷入局部最优解,而遗传算法是一种全局搜索最优解的算法,所以可以用遗传算法来优化BP神经网络。本文实验结果表明,相较于传统的BP神经网络模型,采用遗传算法GA优化后的BP神经网络,在预测准确性、误差控制以及精度以及上展现出了显著的优势,因此该模型更适合用于碳排放量的预测。