灰色神经网络组合模型在能源需求中的应用
Application of the Gray Neural Network Combination Model in Forecasting Energy Demand of China

作者: 夏 杰 * , 吴文青 :西南科技大学理学院,四川 绵阳;

关键词: 灰色GM(1 1)模型灰色神经网络能源需求预测精度GM(1 1) Prediction Model Grey Neural Network Model Energy Demand Prediction Accuracy

摘要:
能源是社会发展的基石,随着经济的发展,能源需求也不断增加,为此较高精度的对能源需求进行预测具有十分重要的意义。本文基于GM(1, 1)预测模型和BP神经网络模型,以与能源消耗总量相关的居民消费水平指数,能源生产总量,能源工业投资,国内生产总值,可供消费的能源总量,年末总人口为6个影响指标,建立串联式灰色神经网络模型对全国能源需求总量进行预测。选取2000~2011年全国能源消费总量实际数据为建模数据,以2012~2016年的实际数据为检验数据,对比分析GM(1, 1)、和灰色神经网络的预测精度。其结果表明,灰色神经网络模型预测精度最高,预测误差均方差为0.5840,小于单一的GM(1, 1)预测误差的均方差。

Abstract: Energy is the cornerstone of social development. With the development of economy, the demand for energy is increasing year by year. So it is very important to forecast the energy demand with high precision. In this paper, based on GM(1, 1) model and BP neural network model, a tandem type grey neural network model is established to forecast the national total energy demand using the resident consumption level index, the total energy production, the energy industry investment, the gross domestic product, the total energy available for consumption, and the total population at year-end as the influence indexes. The actual data of total energy consumption in 2000~2011 were selected as modeling data, and those in 2012~2016 were selected as testing data. Comparative analysis of GM(1, 1) and gray neural network prediction accuracy was made. The results show that the grey neural network model has the highest prediction accuracy and the mean variance of the prediction error is 0.5840, which is less than the mean variance of the single GM(1, 1) prediction error.

1. 引言

能源是人类生存和发展的重要物质基础,也是当今国际政治、经济、军事关注的焦点,能源需求预测是合理制定能源规划的基础 [1] 。据2017年《BP世界能源统计年鉴》数据显示,中国2016年一次能源消费总量占全球一次能源消费总量的23%。在2016年中,中国一次能源消费量已达30.53亿吨,同比增长5.6%,2005~2015年均复合增长率为5.3%。能源问题成为制约经济和社会发展的主要因素,能源短缺将会给国民经济的发展带来巨大损失,因此能源在国民经济发展中具有十分重要的地位。为此,做好未来能源战略,高精度的对能源预测为能源规划和政策的制定提供理论依据,对2020年全面建成小康社会有着重要的现实意义。

最近几年,能源短缺问题在国内外学者中引起了广泛关注,对能源需求的预测也受到各位国内外学者的大量研究。能源需求预测的方法主要包括:线性时间序列法,非线性时间序列,灰色预测,人工神经网络,遗传算法等。其中,文献 [2] 采用灰色预测,BP神经网络以及三次指数平滑法进行组合优化,对我国能源进行预测;文献 [3] 建立基于GM-GRNN能源需求预测模型,确定网络的输入与输出,对影响能源需求的相关数据进行仿真分析;文献 [4] 针对传统的人工智能预测BP神经网络自身局限以及在中长期预测中需要数据量大、泛化能力不足的缺点,提出了利用粒子群算法优化BP神经网络学习算法;文献 [5] 从能源消费总量、产业结构、重点行业等方面对红河州能源消费现状进行分析;文献 [6] 提出了BP神经网络的非线性组合预测模型,并通过混沌遗传算法优化神经网络,从而提高了预测精度。回顾以上文献可知,能源需求预测现已取得了很大的突破,从单一的预测模型到组合预测模型,但在预测能源时忽略了与能源有关的指标对能源需求的影响,此外模型的预测精度也该进一步提高。

组合预测的基本思想是综合不同模型的优点,从而提高预测精度和预测效果。本文在基于历史数据的基础上,以与能源消耗总量的相关性指标,建立串联式灰色神经网络模型,对全国能源需求总量进行预测,并进行预测精度检验,从而获得能源预测的实用方法。

2. 研究方法

2.1. GM(1, 1)预测模型

1982年,邓聚龙教授首次提出了灰色理论(Grey system) [7] ,该理论对原始数作累加生成的的近似指数规律再进行建模的方法。灰色模型有严格的理论基础,最大的优点是所需数据少,一般只需要4个数据就能对未来数据进行预测,为此该理论被广泛应用于各个领域。能源需求量既有已知的信息,也有未确定的信息,可看做一个灰色系统。GM(1, 1)灰色模型 [8] 建立如下:

设原始序列为 X ( 0 ) 为非负原始序列: X ( 0 ) = ( x ( 0 ) ( 1 ) , x ( 0 ) ( 2 ) , , x ( 0 ) ( n ) ) ,对于满足光滑条件的序列,可建立灰色微分方程。经过累加生成 X ( 1 ) ,称 X ( 1 ) X ( 0 ) 的1-AGO序列: X ( 1 ) = ( x ( 1 ) ( 1 ) , x ( 1 ) ( 2 ) , , x ( 1 ) ( n ) ) ,其中:

x ( 1 ) ( k ) = i = 1 k x ( 0 ) ( i ) ( k = 1 , 2 , , n ) . (1)

Z ( 1 ) X ( 1 ) 的紧邻均值生成序列: Z ( 1 ) = ( z ( 1 ) ( 2 ) , z ( 1 ) ( 3 ) , , z ( 1 ) ( n ) ) ,其中:

z ( 1 ) ( k ) = 0.5 ( x ( 1 ) ( k ) + 0.5 x ( 1 ) ( k 1 ) ) , k = 2 , 3 , , n . (2)

为此,灰微分方程为:

x ( 0 ) ( k ) + a z ( 1 ) ( k ) = b , k = 2 , 3 , , n . (3)

其中, a 为发展系数, b 为灰色作用量。

u = [ a , b ] T 为参数列,且有

B = [ z ( 1 ) ( 2 ) 1 z ( 1 ) ( 3 ) 1 z ( 1 ) ( n ) 1 ] , Y = [ x ( 0 ) ( 2 ) x ( 0 ) ( 3 ) x ( 0 ) ( n ) ] (4)

则式(3)的最小二乘估计参数列满足:

u ^ = ( B T B ) 1 B T Y (5)

B , Y , u ^ 满足式(4)和式(5),相应的白化微分方程为

d x ( 1 ) d t + a x ( 1 ) ( t ) = b . (6)

GM(1, 1)模型的时间序列为:

x ^ ( 1 ) ( k + 1 ) = ( x ( 0 ) ( 1 ) b a ) e a k + b a , k = 1 , 2 , , n (7)

还原后, x ( 0 ) 的模拟值为:

x ^ ( 1 ) ( k + 1 ) = x ^ ( 1 ) ( k + 1 ) x ^ ( 1 ) ( k ) = ( 1 e a ) ( x ^ ( 0 ) ( 1 ) b a ) e a k (8)

最后,对预测值进行检验。设残差为 ε ( k ) ,则有

ε ( k ) = x ( 0 ) ( k ) x ^ ( 0 ) ( k ) x ( 0 ) ( k ) (9)

2.2. BP神经网络模型

1985年,美国加州大学的鲁梅尔哈特和麦克莱兰等人提出BP神经网络 [9] ,神经网络已广泛应用于各个领域。从结构上看,该模型具有输入层,隐含层和输出层,是一种典型的多层前向型神经网络。该网络广泛应用于图像处理、模式识别、语言处理、预测分析等领域。

1) 神经元模型

一个基本的BP神经元,具有 R 个输入,每个输入都通过一个对应的权值 w 和下一层相连,网络输出可表示为:

Y = f ( w p + b ) (10)

其中, f 为输入与输出的传递函数, w 代表权值, b 为隐含层神经元的偏置值。

2) 激励函数

神经元的各种不同的数学模型的主要区别在于采用了不同的激励函数,使得神经元有不同的处理信息的能力。神经元输入层与输出层之间的关系由功能函数 f 决定,其 f 不同神经元的激励函数也不同,常见的激励函数有:阈值型、分段线性饱和性、S型、子阈累积性。其中最常见的是S型函数,其表达式为:

f ( x ) = 1 1 + e c x (11)

3) BP神经网络的学习算法

BP神经网络的误差反向传播算法基本思想是对一定数量的样本对输入和期望输出进行学习,将输入数据传送至各个神经元,经隐含层和输出层计算后,输出层输出对应的预测值。如果预测值与实际值误差较大时,输出层进行反向传播该误差,进行权值和阈值的调整,不断修正误差,直至满足精度要求。其算法核心的思想是:权值和阈值的调整总是沿着误差函数最快的方向,即负梯度方向。

设一样本 ( X , Y ) X = [ x 1 , x 2 , , x m ] Y = [ y 1 , y 2 , , y m ] ,隐含层神经元为 O = [ O 1 , O 2 , , O m ] 。输入层与隐含层神经元间的权值矩阵 W 1 和隐含层与输出层神经元间的网络权值 W 2 分别可表示为

W 1 = ( w i j 1 ) l × m , i = 1 , 2 , , l , j = 1 , 2 , , m (12)

W 2 = ( w i j 2 ) n × l , i = 1 , 2 , , n , j = 1 , 2 , , l (13)

则隐含层神经元的输出为:

O j = f ( i = 1 m w j i 2 x i θ l 1 ) = f ( n e t j ) , j = 1 , 2 , , l (14)

其中, n e t j = i = 1 m w j i x i θ l 1 , j = 1 , 2 , , l f ( · ) 为隐含层的传递函数。

输出层神经元的输出为:

z k = g ( j = 1 l w k j 2 O j θ k 2 ) = g ( n e t k ) , k = 1 , 2 , , n (15)

其中, n e t k = j = 1 l w k j 2 O j θ k 2 , k = 1 , 2 , , n g ( · ) 为输出层的传递函数。

网络输出与期望输出的误差为

E = 1 2 k = 1 n ( y k z k ) 2 (16)

网络的输入误差是各层 w j i 1 w k j 2 权值的调整,调整权值可改变误差 E ,调整的数学表达式如下:

Δ w j i 1 = η E w j i 1 , Δ w k j 2 = η E w k j 2 (17)

式(17)中负号表明梯度下降, η ( 0 , 1 ) 是常数,反映了学习过程中的学习梯度。BP神经网络仿真测试结束后,通过计算真实值与输出值的偏差情况,对网络训练的泛化能力进行评价,选取决定系数 R 2 评价模型的性能,其中

R 2 = ( l i = 0 l y ^ i y i i = 0 l y ^ i i = 0 l y i ) 2 ( l i = 0 l y ^ i 2 ( i = 0 l y ^ i 2 ) 2 ) ( l i = 0 l y i 2 ( i = 0 l y i 2 ) 2 ) , (18)

式(18)中, y ^ i 为预测值, y i 为真实值。决定系数在 [ 0 , 1 ] 内,系数越接近于1,表明训练效果越接近真实值,反之,系数越接近于0,表明训练效果越差。

2.3. 组合灰色神经网络模型

单一的灰色系统模型预测效果往往不好,忽略了影响能源需求的因子,为此本文将影响能源需求量的因子和灰色预测模型的预测结果作为神经网络的输入层,以能源需求量的实际值作为神经网络的输出层。其结构图如图1

设串联式灰色神经网络由 R 个输入包括 m 1 , m 2 , m 3 , , m n ,和GM(1, 1)的预测值,其中 m 1 , m 2 , m 3 , , m n 表示影响能源需求量的因子。隐含层共有 N 节点,第 i 个节点的参数向量为: [ w i 1 , w i 2 , , w i R , θ i ] ,一个输出节点 Y t 。隐含层一部分参数用来映射灰色预测模型的解,其余部分参数用来学习影响能源需求量的主要因素对能源需求量的非线性作用。

为了综合评价所建模型的性能,本文选取误差的均方差作为评价指标,其表达式为:

δ = k = 1 n ( x ( 0 ) ( k ) x ^ ( 0 ) ( k ) ) 2 / n (19)

3. 能源需求实例分析

3.1. 数据收集

对能源需求进行实证分析时,需要收集年度能源消费总量及与能源消费有关的指标数据。本文选取2000年~2016年的居民消费水平指数,能源生产总量,能源工业投资,国内生产总值,可供消费的能源

Figure 1. Gray network structure diagram

图1. 灰色网络结构图

总量和年末总人口6个影响能源需求的指标,以及能源消费总量。数据来源于中国统计局官网和《2017年中国统计年鉴》 [10] ,其中收集数据资料见表1

3.2. 灰色GM(1, 1)预测模型

本文利用MATLAB软件编程,以2000年到2011年共12年的全国能源消费总量对2012年到2016年共5年的能源需求总量进行预测,为此求得GM(1, 1)预测模型的发展系数为 a = 0.0825 ,灰色作用量为 b = 156881.93 。GM(1, 1)预测模型的时间响应方程为:

x ^ ( 1 ) ( k + 1 ) = 2048563.152 e 0.0825 k 1901599.152 , k = 1 , 2 , , n

通过MATLAB软件求得最终预测值与误差值见表2

进一步,利用MATLAB对预测值与真实值进行绘图,见图3

Table 1. Energy demand indicators

表1. 能源需求指标

Table 2. Comparison of forecast and actual value of total energy demand in 2012~2016 based on different models

表2. 基于不同模型的2012~2016年全能源需求量预测值与实际值的比较

3.3. 组合灰色神经网络预测模型

1) 模型的输入、输出参数的选择

本文用MTALAB 2015a进行神经网络训练,其中模型的输入层为影响能源需求总量的指标和GM(1, 1)预测值,输出层为能源需求总量,具体设计如下:

输入层:居民消费水平指数,能源生产总量,能源工业投资,国内生产总值,可供消费的能源总量和年末总人口和GM(1, 1)预测值共7个指标作为输入层。

输出层:能源消费总量共一个输出层。

2) 模型的结构设计

本文神经网络模型采用三层网络模型,输入参数为2000年到2016年与能源相关的7个理化因子。对于隐含层节点的选取,通过构造不同隐节点数的网络进行训练,根据各层网络的误差对权值和阈值进行修正,并通过评价系数来判断拟合的效果。经过多次训练后发现,40个隐含节点的网络结构拟合效果最佳,因此网络拓扑结构为 7 × 40 × 1 。在训练过程中,选取tansig函数为输入层与隐含层的传递函数,purelin为隐含层与输出层的传递函数,选取trainbr为训练函数,选取learngdm为网络学习函数。组合灰色神经网络拓扑结构图如图2所示。

3) 模型网络参数的选取及参数设定

参数设置为:net.trainparam.epochs = 10,000为网络训练的最大次数,net.trainparam.lr = 0.01为学习效率,net.trainparam.show = 20为每20轮显示一次,net.trainparam.goal = 5e−10为训练误差。

通过MATLAB软件进行灰色神经网络训练,选取2000年~2011年共12年的数据为训练集,2012年~2016年共五年的数据为测试集,其预测值与训练误差见表2

3.4. 模型精度比较

为了清晰地展示各个模型预测结果与真实值的误差,分别对灰色GM(1, 1)预测模型,灰色神经网络模型的预测值与真实值的相对误差绘制直方图,如图4所示,由图4可得灰色神经网络的相对误差整体上比单一的GM(1, 1)预测模型小。进一步计算模型相对误差的均方差由表2可得,灰色GM(1, 1)预测模型、灰色神经网络模型的预测结果与实际值的相对误差的均方差分别为12.3462,0.58400。因此,串联式灰色神经网络模型的预测精度比单一的灰色神经网络高。

4. 结论

根据能源消耗总量与居民消费水平指数,能源生产总量,能源工业投资,国内生产总值,可供消费

Figure 2. Gray neural network topology

图2. 灰色神经网络拓扑结构图

Figure 3. Energy demand forecast based on different models versus real value chart

图3. 基于不同模型的能源需求预测值与真实值对比图

Figure 4. Comparison chart of relative error between predicted and actual value of energy demand based on different models

图4. 基于不同模型的能源需求预测值与真实值相对误差对比图

的能源总量,年末总人口之间的关系,本文结合GM(1, 1)预测模型和BP神经网络模型,建立灰色神经网络模型,以全国能源需求为例进行了能源需求预测,其结果表明:

1) 由于全国能源需求总量具有波动性和非线性的特点,建立了灰色GM(1, 1)预测模型和灰色神经网络模型,并以2000~2011年的能源需求量基础数据作为训练样本,以2012~2016年的数据为检验样本,经计算预测值与真实值的误差均在13%以内,表明建立的模型是有效的。

2) 以全国能源需求为例分别利用GM(1, 1)和灰色神经网络对能源需求进行预测,其预测误差的均方差分别为:12.3462,0.5840,可以看出灰色神经网络对能源需求总量预测的精度最高。

3) 灰色神经网络模型具有更好的预测效果,能够弥补单一模型的不足。

基金项目

西南科技大学理学院创新基金项目“量化投资平台下的交易策略研究”(项目编号:LXCX-05),主持人:夏杰。

文章引用: 夏 杰 , 吴文青 (2018) 灰色神经网络组合模型在能源需求中的应用。 计算机科学与应用, 8, 181-189. doi: 10.12677/CSA.2018.82022

参考文献

[1] 周扬, 吴文祥, 胡莹, 等. 基于组合模型的能源需求预测[J]. 中国人口•资源与环境, 2010, 20(4): 63-68.

[2] 索瑞霞, 王福林. 组合预测模型在能源消费预测中的应用[J]. 数学的实践与认识, 2010, 40(18): 80-85.

[3] 张帆. 基于GM-GRNN的能源需求预测模型研究[J]. 湖北汽车工业学院学报, 2012, 26(3): 65-69.

[4] 崔吉峰, 乞建勋, 杨尚东. 基于粒子群改进BP神经网络的组合预测模型及其应用[J]. 中南大学学报(自然科学版), 2009, 40(1): 190-194.

[5] 赵荣. 云南省某州(市)能源预测模型的研究[D]: [硕士学位论文]. 昆明: 昆明理工大学, 2017.

[6] 虞亚平. 京津冀能源需求预测分析及发展对策研究[D]: [硕士学位论文]. 天津: 天津理工大学, 2017.

[7] 邓聚龙. 灰色系统基本方法[M]. 武汉: 华中工学院出版社, 1987: 96-108.

[8] 李剑波, 鲜学福. 基于灰色神经网络模型的重庆能源需求预测[J]. 西南大学学报(自然科学版), 2016, 38(6): 136-141.

[9] 李柏年, 吴礼斌. MATLAB数据分析方法[M]. 北京: 机械工业出版社, 2012: 170-172.

[10] 中国省统计局. 中国统计年鉴(2017) [M]. 北京: 中国统计出版社, 2017.

分享
Top