基于GM(1,1)和Elman神经网络的社会用电量预测模型

2015-05-22 20:35王东
卷宗 2015年2期
关键词:用电量神经网络误差

摘 要:本文通过对2005-2013年我国的年度用电量数据建立GM(1,1)模型,通过实际值与预测值的对比得出平均相对误差为1.80%。同时,对2009-2013年我国月度用电量数据建立Elman神经网络模型,运用matlab仿真实验,经过203次训练后达到目标误差值0.005。经过实证分析,这两种方法对预测我国社会用电量具有很好的拟合效果。

关键词:Elman神经网络;GM(1,1)模型;仿真实验;用电量预测

1 引言

随着社会工业化进程的不断加快,人们对电力的需求也在不断的增加,作为电网规划设计的主要依据——社会用电量的预测直接关系到电网设计规划的科学性,经济性和前瞻性。同时,它也是衡量社会发展的重要经济指标。所以,国内许多学者对社会用电量的预测也做过很多研究。

从文献可以看出,学者们主要是通过建立数学函数模型[1-3]或者BP神经网络模型[4-5]预测社会用电量。其中数学函数模型主要是通过选取一定的经济指标,运用统计学方法建立数学函数模型进行预测,并根据预测值与实际值的误差来修正模型。BP神经网络方法选取几个主要的经济指标或者前几个月的用电量作为输入层数据,通过反馈机制来修正权值和阀值以完成对网络的训练。

通过以上学者的研究对用电量的预测也达到了很高的精度。但是,对数学模型的建立需要选取一定的经济指标,这些指标的选取具有一定的主观性,同时也容易受一些不确定性因素的干扰,而GM(1,1)在小样本、贫信息和不确定性系统的应用却十分广泛[6];另外,Elman神经网络通过存储内部状态使其具备映射动态特性的功能,从而使系统具有适应时变特性的能力。因此Elman神经网络比BP神经网络在预测时变的时间序列数据时具有更好的稳定性。因此,本文选用GM(1,1)和Elman神经网络模型分别对我国的年社会用电量和月社会用电量进行预测。

2 GM(1,1)模型原理

GM(1,1)模型是灰色系统理论的主要内容之一。它是一种基于时间序列的预测模型,能根据少量信息进行建模和预测,因此得到了广泛的应用。在对数据进行建模之前,本文先介绍一下GM(1,1)模型的原理[7]。

设原始数据序列为X0=(x0(1),x0(2),…,x0(n)),则GM(1,1)模型的建模步骤如下:

第一步:对原始数据序列X做一次累加,得到新的数据序列

X1=( x1(1),x1(2),……,x1(n)) (1)

其中,其中n为原始数据的序列数。

第二步:建立GM(1,1)模型

(2)

其中z1=(z1(1),z1(2),……,z1(n))是由X的紧邻均值生成,

即。\

第三步:使用最小二乘法求解灰色微分方程(2)的参数列

设,

则微分方程的参数列为:

第四步:求解时间响应函数

模型(2)所对应的影子方程为:

(4)

有(4)解得时间响应函数为

取则模型(2)的时间响应函数为

第五步:求得灰色预测模型并还原值

作一次累减生成原始数据预测序列,得模型(2)的还原值为:

原始数据序列X0的灰色预测模型为:

3 Elman神经网络模型

Elman神经网络分为四层:输入层、隐含层、承接层和输出层,即在前馈网络的隐含层中增加一个承接层用来记忆隐含层单元前一时刻的输出值,作为一步延时算子,以达到记忆的目的,从而使系统具有适应时变特性的能力,能直接反映动态过程系统的特性[8]。Elman神经网络的结构如图1所示。设网络的外部输入u(k-1)Rr,输出y(k)Rm,隐含层输出x(k) Rl,承接层输出xc(k)Rl,其中r,m,l分别为输入层、输出层和隐含层的单元数。则Elman网络的数学模型[9]为:

x(k) = f(w1xc(k) + w2u(k - 1)) (1)

xc(k) = x(k - 1) (2)

y(k) = g(w3x(k)) (3)

其中w1、w2、w3分别为承接层到隐含层、输入层到隐含层以及隐含层到输出层的连接权值矩阵。f和g分为是隐含层和输出层的激发函数。

Elman神经网络也采用BP神经网络算法进行权值修正,其学习指标函数E(k)为:

其中为预测输出向量,为目标输出向量。

将E(k)分别对连接权w1、w2、w3求偏导,由梯度下降法可到Elman神经网络的学习算法:

其中η1,η2,η3分别是权值矩阵W1,W2,W3的学习率。

4 GM(1,1)模型预测我国年度用电量

4.1 年用电量的GM(1,1)模型建立

本文选取我国2005-2013年每年的社会总用电量数据生成灰色导数数据序列:X0=(x0(1),x0(2),…,x0(9))=( 24781,28368,…, 53863),并通过灰色导数序列累加生成1-AGO背景值序列X1=( x1(1),x1(2),…,x1(n))=(24781,53149,…,348543)。运用matlab编程实现GM(1,1)算法,经过运行得到参数列的估计值:

根据a、b的值建立GM(1,1)的数学模型如下:

该模型的时间响应序列为:

作一次累减生成预测序列的灰色预测模型为:

图1 Elman神经网络结构图

4.2 GM(1,1)模型的误差检验

根据matlab输出的预测值与实际数据建立误差检验表。如表1所示。

表1 残差数据表

年份 实际数据 预测数据 残差 相对误差

2006

2007

2008

2009

2010

2011

2012

2013 28368

32458

34268

36483

41923

46844

49555

53863 28808.42

31545.20

34541.97

37823.43

41416.63

45351.18

49659.52

54377.14 440.42

-912.81

273.97

1340.43

-506.36

-1492.82

104.51

514.13 1.55%

2.81%

0.80%

3.67%

1.21%

3.19%

0.21%

0.95%

根据残差数据表求得平均相对误差以及后验差的比值分别为:

,后验差比值c=0.0847。

由表1可以看出2007、2009、2011年的预测误差相对较高,分析其主要原因为:2007和2009年分别为金融危机的爆发前期以及缓慢复苏阶段,社会经济的萧条使得各个产业对于用电量需求有所 下降。而2011年的残差为负值说明实际预测偏低,可能原因是经过2010年的缓慢复苏,我国经济社会发展正在恢复正常。但总的来说,GM(1,1)模型对于预测年用电量数据具有很好的拟合效果。

5 Elam模型预测我国月度用电量

5.1数据收集及预处理

由于社会用电量的月度数据受季节变化影响很大,不易采用GM(1,1)模型,而Elman神经网络通过存储内部状态使其具备映射动态特性的功能,从而使系统具有适应时变特性的能力,更适宜用来预测月度数据。

由于收集月度社会用电量数据的困难,本文收集到2009-2013年每月的社会用电量数据,为了消除季节因素的影响,将数据按照月份分为12组,用每组的前三个年份预测下一个年份,这样将数据分为24组。为使输入输出符合神经网络的要求,在训练网络之前需要对数据进行归一化处理,本文选用最大最小化进行归一化处理。同时,为了保证训练网络的数据的全面,从每个季节中抽取部分月份数据来训练网络。本文选取9个月份共18组的数据作为训练样本用于训练网络,另外6组数据作为预测检验样本。

5.2 Elman神经网络的建立

首先,由上文对于数据的处理可以看出Elman神经网络的输入层有三个单元,输出层有一个单元,对于隐含层单元的数量没有明确的公式,本文采用经验公式选取隐含层的单元数[9]:

式中:r、m分别是输入和输出层的单元数,α是1-10之间的整数。笔者通过比较仿真实验中的误差大小,当隐含层的单元数为4时,实验误差最小。

利用18组训练样本,采用学习率可变的动量BP算法修正神经网络的权值和阀值,其主要代码[10]如下:

net=newelm(minmax(p),[4 1],{‘tansig,purelin},

‘traingdx);%创建Elman神经网络

net.trainParam.epochs=5000;%最大训练次数

net.trainparam.goal=0.005; %确定训练目标

net.trainparam.lr_inc=1.05;%确定学习率增长比

net.trainparam.lr=0.05;% 设置学习率

[net,tr]=train(net,pseq,tseq);%开始训练,pseq,tseq为输入输出样本

sim(net,p1seq)%用训练好的模型进行仿真,p1seq为预测检验样本

在matlab仿真实验中经过203次训练后,Elman网络的目标误差值达到0.005。仿真实验结果如图2所示。

图2 Elman神经网络仿真结果

用另外6组预测检验样本对训练好的模型进行测试,将得到的结果进行反归一化得到Elman神经网络预测误差,见表2。通过表2可以得出Elman神经网络的平均相对误差为1.80%,可以用于实际预测。

表2 Elman神经网络预测误差

样本 实际值 预测值 相对误差(%)

11 4136 4152.77 0.41

12 4384 4321.53 1.43

17 4051 4122.66 1.76

12 4384 4321.53 1.43

17 4051 4122.66 1.76

18 4448 4332.36 2.60

19 3998 4089.91 2.30

20 4375 4275.58 2.20

6 结束语

随着工业化进程的不断加深,各个行业的发展都需要电力作为支撑。对社会用电量的准确预测不仅是电网设计的重要依据,也是为我国经济社会的稳定发展提供保障。本文分别使用GM(1,1)模型和Elman神经网络模型对年度用电量和月度用电量进行预测,通过matlab实验结果表明具有较高的预测精度,可以作为预测我国社会用电量的一种方法。

参考文献

王文圣,丁 晶,赵玉龙,张晓明.基于偏最小二乘回归的年用电量预测研究[J].中国电机工程学报,2003,23(10):18-21.

樊福梅,梁 平.基于分形的社会总用电量及其构成预测[J].中国电机工程学报,2004,24(11):92-95.

于 渤,于 浩.基于随动思想的月度用电量时间序列预测模型[J].电力系统自动化,2000,23(14):42-44.

马光文,王 黎,唐 明,刘 岩.人工神经网络在用电量预测中的应用[J].四川大学学报(工程科学版),2000,32(2):25-27.

蒋惠凤,何有世,张 兵,孙运全.基于BP神经网络的江苏用电量预测模型研究[J].统计与决策,2005,20(1):46-48.

刘思峰,邓聚龙.GM(1,1)模型的适用范围[J].系统工程理论与实践,2000,20(5):121-124.

郭晓君,李大治,褚海鸥,缪雪晴.基于GM(1,1)改进模型的“两税”税收预测研究[J].统计与决策,2014,29(4):34-36.

Gao X Z,Ovaska S J. Genetic Algorithm Training of Elman Neural Network in Motor Fault Detection[J].Neural Comput& Applic,2002,(11)37-44.

王晓霞,马良玉,王兵树,王 涛.进化 Elman 神经网络在实时数据预测中的应用[J].电力自动化设备,2011,31(12):77-81.

周开利,康耀红.神经网络模型及其MATLAB仿真程序设计[M].成都:清华大学出版社,2005:10-23.

作者简介

王东(1992-),男,安徽寿县人,安徽财经大学硕士研究生。研究方向:机器学习,数据挖掘等。

猜你喜欢
用电量神经网络误差
02 国家能源局:1~7月全社会用电量同比增长3.4%
01 国家能源局:3月份全社会用电量同比增长3.5%
角接触球轴承接触角误差控制
Beidou, le système de navigation par satellite compatible et interopérable
神经网络抑制无线通信干扰探究
压力容器制造误差探究
1~10月全社会用电量累计56552亿千瓦时同比增长8.7%
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定