基于改进神经网络的用电量预测模型的研究
2019-01-23
(华北电力大学控制与计算机工程学院 北京 102206)
一、引言
用电量预测可以为制定科学合理的电力发展规划提供有力依据。在选择影响用电量因素方面,气温是影响用电量最重要的因子[1],同时,节假日和工作日的负荷情况会有较大区别[2]。由于经济、气候、政策等相关因素影响,用电量具有明显的时间变化趋势[3]。
基于以上用电量特征,综合考虑气象、节假日类型等因素的影响,并针对用电量数据具有时序特性这一性质,将时间序列和神经网络算法相结合进行用电量预测。随着用电量数据的增加,在spark平台上使用时间序列-神经网络模型对用电量数据进行预测。
二、基于spark的时间序列-神经网络用电量预测模型
(一)时间序列-神经网络模型的建立
时间序列分析是一种根据动态数据揭示系统动态结构和规律的统计方法,具体描述如下:
xn=f(x1,x2,…,xm)
(1)
其中,通过前m项建立函数,预测第n项的值。
根据用电量具有时序性这一特点[4],将历史用电量数据也作为神经网络的输入,对用电量进行预测。
BP神经网络是一种多层前馈神经网络,包括输入层、隐含层和输出层。其基本原理是采用梯度下降法调整权值和阈值使得网络的实际输出值和期望输出值的均方误差最小[5]。
1.BP神经网络输出函数为:
(2)
其中βij(i=0,1,2,…,p;j=0,1,2,…,q)和αj(j=0,1,2,…,q)是神经网络的连接权重,p、q分别是网络的输入层及隐藏层节点数,g为网络的激活函数,一般使用logistic函数。
2.BP神经网络的误差函数为:
(3)
(二)基于Spark的用电量预测模型的实现
基于Spark的神经网络并行化方法,采用spark并行编程对神经网络的权值进行全局化迅游,经过一定次数的迭代后,得到优化的神经网络初始权值,再使用并行的神经网络算法进行迭代,最终输出网络结构[5]。
并行化实现神经网络具体步骤如下:
步骤1:数据预处理,将全局训练集切分成多个子集和,并且存储到分布式文件系统中;
步骤2:对BP神经网络的权值进行全局寻优,得到优化的网络初始权值;
步骤3:在各计算节点上均采用优化后的网络初始权值建立自身的神经网络结构;
步骤4:采用BP神经网络算法,对原始训练数据集进行迭代训练。
步骤5:输出训练后的神经网络结构,使用并行BP神经网络算法进行迭代训练,使用训练好的模型并行预测用电量。
三、算例分析
(一)实验数据
本文的实验样本包括电量数据、气候数据、节假日类型三种数据,其中电量数据来自某省A市,数据时间跨度为2015年8月至2016年8月,采集频率为1日/次;气候数据,即日最高气温与日最低气温,来自A市天气网;节假日类型是说明某一天是否为节假日,数据根据实际情况自行记录。
预测样本数据集如表1所示,为达到时间序列预测的目的,将x1-1、以及x1-2的用电量数据作为x1的影响因素,归一化后将其一并作为时间序列神经网络的输入,训练模型。
表1 预测样本数据集
(二)实验分析
为验证时间序列-神经网络算法在预测用电量方面的高精确性,使用matlab中的神经网络工具箱,分别采用时间序列-BP神经网络和BP神经网络算法进行预测用电量对比实验。图1(a)(b)直观地展示了两个模型预测的精度,从图中可以看到两者预测误差基本在0.0%~10%之间,满足精度要求。同时可大致看出前者预测误差超过10%的数据占比要小于后者。经过数据统计得到,如表2所示。
使用时间序列-神经网络模型预测的误差超过10%的数据占比为15.3%,而神经网络的数据占比为19.2%。
图1 (a)时间序列-神经网络预测结果
从预测精度来看,考虑了用电量时序特性的时间序列-神经网络算法更适于用电量预测,而仅从影响用电量因素考虑的神经网络模型表现稍差。
图1 (b)神经网络预测结果
算法模型误差小于5%的数据占比误差大于10%的数据占比时间序列-神经网络68.4%15.3%神经网络65.1%19.2%
(三)基于spark的时间序列-神经网络预测算法实现
进行用电量分析预测时,由于数据量较大,为提高其效率,本次实验在spark上实现神经网络算法,使用eclipse软件及Scala语言对神经网络算法进行编写,并对用电量进行预测。经过多次测试后,最终选定1个中间层、中间层节点为7、输出信号为用电量所构成的结构为5-7-1的时间序列-神经网络为所用模型。为进一步验证本文建立的时间序列-BP神经网络模型在spark的高效性和准确性,对模型的预测误差和平均绝对误差进行了计算。
选取A市2016年9月1~7日的天气数据、节假日类型作为该模型的输入数据,使用该模型预测2016年9月的用电量,并计算预测值和实际值的误差,预测结果及预测误差如表3所示:
平均绝对误差能够定量考察模型的预测精度,值越小说明预测效果越好,其计算公式如下:
(4)
表3 A市2016年9月用电量预测结果及误差
四、总结
本文考虑用电量具有时序性这一规律,综合考虑天气、时间、节假日类型的影响,提出了时间序列-神经网络预测模型,并在spark平台上对用电量进行了预测。从预测结果可知,该模型对用电量的预测精度较高。
随着用电量数据的增加,将模型应用在大数据集群上运行可保证数据的存储空间,并行预测可大大减少模型训练、预测时间。
下一步研究的重点则是,在用电量数据骤增的将来,进一步在大数据集群中完善预测模型,对时间序列-神经网络模型的参数进行训练和优化,提高预测精度。