
随着全球经济发展进入新常态,电力生产消费也呈现新常态特征[1]。电力供应结构持续优化,电力消费增长减速换挡、结构不断调整,电力消费增长主要动力呈现由高耗能向新兴产业、服务业和居民生活用电转换,电力供需形势由偏紧转为宽松。
电量平衡是对“一定时期内可发电量能否满足用电需求”这一问题进行分析与预测[2]。电量余缺通过对比可发电量与用电需求得到,并考虑了计划或地方协议已经确定的输入输出电量,其中可发电量的计算采用了不同发电技术设备利用小时数的理论值。虽然理论相对完善、实践经验丰富,但在电力需求增长乏力、清洁能源迅猛发展、电力供需相对宽松的新形势下,电力电量平衡面临着来自多个方面的挑战,以往行之有效的方法变得粗放低效。同时发电量跟很多自然资源关联很大,比如:煤矿、天然气、石油等。有必要探索一种高效的用电量预测方案,从而决定自然资源的分配以调配电量的平衡。
关于用电量的预测问题,当历史数据集量大且具有噪音,而且维度很大时,预测需要高精确度的需求。目前,很多预测方法采用不同的机器学习算法,比如:模糊神经网络、灰色算法、灰色马尔科夫模型、支持向量回归等。这些方法在预测上都取得了一定的成功。但它们不能处理大数据,也不一定高效。急需要一种有效的方案处理大体积复杂度高的数据集。
预测用电量是非常重要的,精确地预测可合理分配资源,根据需求量和发电量,同时可以计算应该进口多少电量等。为了达到这个目的,机器学习算法基于人工智能算法已经被大量开发。然而仍旧存在很多问题,比如如何处理大尺寸和复杂度高的进程。
本文提出的预测模型,是基于大数据分析技术的分三层的框架:
(1)数据格式转化层;
(2)数据标准化层;
(3)数据训练应用层。
本模型首先就是要收集以往历史用电量数据,并以分布式数据库进行保存,然后使用大数据工具来处理数据。
1背景知识
机器学习(ML)与人工神经网络(ANN)属于认知科学的分支,最初由两个重要概念:模式识别与计算学习转化而来,却属于人工智能领域。ML用来处理数据的分析算法,根据历史数据通过实验模拟预测未来。
ANN是基于统计模型和人工神经网络的一个
基于大数据技术的用电量预测模型
陈星豪1,2,陶国飞1,黄柳萍2
(1广西电力职业技术学院,南宁530007;2广西经贸职业技术学院,南宁530021) [摘要]将机器学习结合大数据技术用于解决复杂的数据分析并建立高效的用电量预测模型。首先使用Mapper算法和Reducer算法在MapReduce中执行任务以完成原始数据处理和提取特征,使用统计列标准化方法来转换数据,使数据标准化,最后标准化的数据以结构化格式保存在HDFS当中,训练反向传播神经网络用于预测用电量。实验结果表明,通过收集的数据,预测精准度达到93%,证明机器学习结合大数据技术,可以用于预测可增强效率和解决复杂数据分析问题,特别是在电力发电系统中。
[关键词]大数据;机器学习;用电量;预测模型
[中图分类号]TP399;TM74[文献标识码]B[文章编号]1003-1510(2018)02-00083-05
[收稿日期]2017-11-23
[基金项目]广西高校中青年教师基础能力提升项目“基于随机矩阵理论的电网故障诊断研究”(项目编号:2107KY1192)的研究成果之一[作者简介]陈星豪(1980-),男,广西防城港人,广西电力职业技术学院副教授、硕士,主要研究方向:大数据与智能电网。
·计算机应用·
83
学习过程。基于大批量的输入数据的人工神经网
络联合数字神经元经过可调节的训练,允许它们在学习过程中使用输入数据,最后用于评估价值。ANN 就像人类的大脑一样处理信息,常用来开发出能够判断输入数据和输出数据之间的关系。一旦被成功训练,它可以根据一组未经预习的输入去预测输出。
反向传播算法(简称:BP 算法)是一种监督学习算法,常被用来训练多层感知机。于1974年,Paul Werbos[3]首次给出了如何训练一般网络的学习算法,而人工神经网络只是其中的特例。本文在使用ANN 的基础上引入BP 算法,称为反向传播神经网络(BPNN )
。
图1反向传播神经网络(BPNN )
图1展示了基本的反向传播神经网络的基本构
成:输入,隐藏,输出。
预测发电量和消耗量的参数是一个困难的任务,因为数据具有复杂的特征,比如:高维度,内在噪音,的关系,同时也依赖一些其它参数,比如气候等。然而,针对这个问题的很多研究已经开始,在这些研究当中,ANN 被发现是比其它智能预测更有效。很多ANN 算法以及改进的算法已被实施,并用来预测。很多研究项目提出的ANN 改进算法比原来的更有效率。文献[4]使用正向输送神经网络,文献[5]那些系统被证实在分析小规模的数据集时是比较有效的。大数据的预测不高效的原因是因为在结构化数据集的同时要清除噪音。
大数据技术可以处理大量的电力数据集,ANN 可用来在处理完后进行训练。
2模型结构
本文使用机器学习结合大数据技术去克服大数据集的挑战来构建高效的用电量预测模型。
本文所构建的模型不但具有预测功能,同时可
以用来处理非结构化和半结构化的具有噪音的大
数据。模型由3个重要的层构成:数据收集和处理层,数据规范化层,模拟训练层(见图2)
。
图2预测模型
图2展示了模型的3个主要阶段:
(1)处理原始数据和提取特征;(2)规范化数据成结构化数据;(3)训练BPNN 用来预测。起初,数据是保存在数据库中,在实行第一阶段之前,数据首先要保存在分布式文件系统(HDFS )当中,以分布式的方式保存在合适然后加载到HDFS 当中,通过HDFS 分配数据到不同的节点。接着通过高性能分布式计算从数据中提取特征,所用的高性能分布式计算式以分布式计算系统(MapReduce )的形式。然后,特征数据以结构化格式再存回HDFS 当中。通过这个流程,在进行BP 训练之前,各个节点的数据都是规范化的了。最后,整个训练的网络就可以用于预测用电量了。2.1处理原始数据和提取特征
本文采用文献[6~7]所提供的美国1980年到2010年共计30年的发电量和用电量作为实验数据。在实验数据中,每个州的发电量以月为单位收集起来。这些不同州的数据包含有冗余的信息和文本,有些数据集还是完全未格式化的格式。
这些原始数据是保存在hadoop 集群里的HDFS 中。HDFS 以分布式的形式保存文件,同时它复制数据块在不同的节点中。这些数据可被分成M ,128M ,256M 的大小。本文以MB 为默认大小。
数据以分布式形式保存的原因是为了执行平行的处理和计算,增加可靠性、灵活性和可伸缩性。所以,我们应用MapReduce ,一个低级语言去提取数据特征。
84
算法1:(数据提取)
//Map Class
Input:(key:name of the input;Value:Value of the input)
Output:(Key,Value)//Pair of Key&Value Map(Key,Value)Start Intermediate('Key',Value);
//Reducer Class
Input:(Key:name of the Mapped data;Value:List of all map data with same key)Output:Key of the Mapped data into row and col⁃umn and save into CSV file
Reducer(key,Value)Start
i=0;
While(value.hasNext()
{
value=values.next().get();
output=values+line.split(cvsSplitBy);
i++;
If(i=13)
{
return;//for12months value and next month as target
}
}
Output(key,Row,Column);
算法1描述了MapReduce操作过程,主要有3步:原始数据保存在HDFS中;提取并清理数据;转换数据为格式化格式。MapReduce算法就是用来从集群中挖掘数据,并转化为适合ML处理的结构化格式。
2.2数据标准化
从原始数据提取特征的目的是转换为结构化格式。文献[6]提出了几个标准化数据方法,此处使用统计列标准化方法来转换数据,使其具有减少错误的能力。
标准化因素用式(1)来计算:
V nor=V alue NF(1)
式中:
NF=V max/F;
V max=Maximum value of the column;
F=Convert the value of V max to floating point;
具体算法如算法2所示。
算法2:(数据标准化)
//Map Class
Input:(key:name of the input;Value:Value of the input)
Output:(Key,Value)//Key&Value Pair Map(Key,Value)Start Intermediate('Key',Value);
//Reducer Class
Input:(Key:name of the Mapped data;Value:List of all map data with same key)Output:Key of the Mapped data into normaliza⁃tion function
Reducer(key,Value)Start
While(value.hasNext())
{
Normalization Factor=Normalization Equation;value=values.next().get()*Normalization factor;}
Output(key,Value);
算法2表明了标准化操作模型的过程。标准化的目的是为了增加机器学习质量的力度。虽然标准化可有很多种算法来执行。不过MapReduce能达到高的效率和可扩展性。标准化之后,结构化的数据集又一次保存到HADOOP集群。
2.3训练反向传播神经网络用于预测
经过标准化的数据以结构化格式保存在HDFS 当中,被拿来用于BPNN。数据被分成两部分,90%用于训练网络,10%用于测试网络。
对于每一个预测,在输入层有12个节点,隐藏层有6个节点,输出层有1个节点。在设置输入层有12个节点之前,预测结果被估计使用第3、4、6、8个节点。经过估算之后看,下个月的发电量预测将使用过去12个月的发电量,所以过去12个月的发电量数据被包含在数据中。因此,算法的输出最优结果针对过去12个月是当做输入到12个节点。BPNN可以以两种不同的方法运行,机器学习模式和回归模式。ML模式决定输出时类别标签;回归模式则是返回数值。本文中BPNN以回归模式运
85
行,输出层有一个单独的节点。隐藏层有6个节点,
随着节点数的增加,性能改进则越小,也导致计算开销。隐藏层的节点数主要有输入和输出层决定。
文献[5]建议隐藏层最优节点数是介于输入层和输出层的节点数。本模型是用第6,7,8节点测试。
在每一个节点,都有一个激活函数,用来触发。激活函数如式(2)所示。
f =1
()
1+exp
-()
netInput (2)
其中,netInput 代表过去12
个月的用电量。
图3
BPNN 误差图
从图3中可知,误差值减少而训练次数迭代增
加。是因为反向传播过程。图3中的误差值是标准化格式,算法训练设置迭代值为4000。每一个输入数据集被训练4000次,但是整个模型被测试2600到12000次。误差值在被训练2800次之后基本保持一个固定的水准。
为了在仿真精度和速度中保持最优状态,迭代值一般保持在4000。统计迭代化会减小这种类型的风险,尽管这个算法有训练过度的风险。
算法3:(BPNN 算法)//Map Class Input :Training Datasets in structured format
Output :Electricity Generation Forecast Model :BPNN
//Procedure
算法3描述了BPNN 的流程图,数据集被分成两部分:训练集和测试集。
尽管BP 算法有一些问题,但因为它出色的性能,也是一个不错的选择。一旦它训练成功,它具有过滤噪音的能力。
3结果和分析
本段将对算法的性能进行评估,对2014年的用
电量预测与实际进行比较。首先依据各州进行测试,
最后汇总进行总的预测。
图4Connecticut
州的实际与预测值
图5
Texas
州的实际与预测值
图6Califonia
州的实际与预测值
图7全国的实际与预测值
86
实验结果表明,模型被正确训练,误差率最小化。模型可以从有噪音的输入进行预测,通过学习和训练之后,它具有检测异常需求的能力,发电量预测值与实际值非常接近。本模型可以识别数据正确模式,准确地进行预测。
为了验证预测的结果,MAPE被用来计算BPNN 模型的结果。MAPE用来计算总的预测值和州的预测值。通过MAPE的计算,总的预测结果4.13%,各个州的值在4%~9%之间。标准化过程对MAPE有一个影响。标准化过程有助于减少失误,使ML方法学习更快,同时减少平均绝对误差。所以,BPNN 的性能满足分析和预测的结果。
本文主要创新如下:
(1)一个BP算法通过模拟结果实现了用来高效地处理大数据集;
(2)使用大数据技术处理了大数据集;
(3)在大数据具有复杂冗余性情况下,ML方法与大数据结合产生了可行的预测方案。
4结论
本文使用BPNN结合ML进行预测,预测精准度达到93%。在执行的过程中,MapReduce算法可以有效地实现从集群中提取清理数据,达到格式化数据的目的。使用统计列标准化方法来转换数据达到标准化数据的目的,使其具有减少错误的能力,增加机器学习质量的力度。
本文证明机器学习结合大数据技术,用于预测可增强效率和解决复杂数据分析问题,特别是在电力发电系统中。
将来的研究方向:我们打算加入一项指标在我们的分析当中,比如负载。
参考文献:
[1]林火灿.电力消费呈现新常态[EB/OL].(2016-02-19). http://www.china5e.com/news/news-932357-1.html. [2]李江涛.适应供需新形势做好电力电量平衡预测[EB/ OL].(2016-09-02)[电力决策与舆情参考].http://yq.cpnn.com. cn/nygc/201609/t20160902_921227.htm.
[3]BENAYCH-GEORGES F,ROCHET J.Outliers in the sin⁃gle ring theorem,arXiv preprint arXiv.1308.30,2013[J/OL]. Available:http://arxiv.org/pdf/1308.30v4.pdf.
[4]QIU R,ANTONIK P.Smart Grid and Big Data[M].New York:John Wiley and Sons,2014.
[5]Yin J,Sharma P,Gorton I,et al.Large-scale data chal⁃lenges in future power grids[C]//2013IEEE Seventh Internation⁃al Symposium on Service-Oriented System Engineering.Red⁃wood:IEEE,2013.
[6]Wilczak,J.Freedman,S.Haupt,J.Cline,etal.Recent trends in variable generation fore-casting and its value to the power system,IEEE Trans.Sustain.Energy2015. [7]Wikipedia contributor(2014,April20),Artificial Neural Network(version ID:174595685)[online],available:http:// en.wikipedia.org/wiki/Artificial_neural_network.
(责任编辑:刘征湛)
Electricity consumption prediction model based on big data technology CHEN Xing-hao1,2,TAO Guo-fei1,HUANG Liu-ping2
(1.Guangxi Electrical Polytechnic Institute,Nanning530007,China;2.Guangxi Economic&Trade Vocational
Institute,Nanning530021,China)
Abstract:Machine learning combined with large data technology can be used to conduct complex data analysis and establish efficient electricity consumption prediction model.First,processing and feature extraction of original data was carried out with MapReduce by Mapper algorithm and Reducer algorithm;second,data transforming was con⁃ducted by statistical standardized method.The standardized data is stored in a structured format in HDFS,training reverse propagation neural network for prediction of electricity consumption.The results of testing demonstrate the prediction accuracy reaches93%.
Key words:Big data;machine learning;electricity consumption;prediction model
87
