大数据平台下的电力负荷预测系统设计与实现

大数据平台下的电力负荷预测系统设计与实现

(中国能源建设集团辽宁电力勘测设计院有限公司辽宁省沈阳市110179)

摘要:随着常规电力系统向智能电网的逐步发展,电力系统中使用了大量的传感器和智能设备,使得需要处理的各类数据呈指数级增长。数据存储规模将增长到TB级,甚至PB级。而电力系统负荷预测的误差大小直接影响发供电计划的制定、电网的供需平衡以及电力市场的平稳运行。现有的预测方法中,数据挖掘法、小波分析法、近似熵法等都具有较好的预测精度,但是在处理海量数据方面还存在很大的不足。

关键词:大数据;Xgboost;随机森林;梯度提升决策树;

常规的电力系统负荷预测过程中,所用的预测方法不能快速、有效地训练大量数据样本,并且不能有效地运用历史数据。为了解决这些问题,设计了一种基于大数据平台的电力系统负荷预测模型。

一、负荷预测试验及结果分析

试验采用平均绝对百分比误差(meanabsolutepercentageerror,MAPE)和均方根误差(rootmeansquarederror,RMSE),公式如下:

(1)

(2)

式中:Xi为实际负荷值;Yi为预测负荷值;n为负荷预测结果的个数。在负荷预测中,MAPE越小,负荷预测结果就越准确。RMSE越小,则负荷预测结果的精度就越高。本次预测的数据来源于某省M县2014年1月1日至2017年9月30日:每5min采集一次的负荷数据,共计368640条数据;以及对应日期的天气数据,如最高气温、平均气温等共计10240条数据。短期负荷受天气、时间、日期等因素的影响而出现波动。这些因素都为负荷特性分析提出了挑战。分析这些因素与负荷之间的互相关系,有利于负荷预测模型特征的建立。选择2017年6月1日至2017年8月24日的日最大负荷值作为训练数据,预测2017年8月25日至2017年8月31日的日最大负荷值。同时,选取上星期同日的日最大负荷值、上月同日的日最大负荷值、当日最高气温、当日平均气温、当日是否为工作日等数据,构成预测数据的特征。其中:上星期同日的日最大负荷值、上月同日的日最大负荷值、当日最高气温、当日平均气温的特征值均为具体真实的数值;当日是否为工作日用0、1表示,0表示当日为非工作日、1表示当日为工作日。训练数据及特征如表1所示。

表1训练数据及特征

分布式Xgboost算法成功运行后,将单机版Xgboost算法所采用的样本重新输入分布式Xgboost算法进行预测。夏季和冬季的分布式预测结果MAPE和RMSE对比如表2所示。

表2MAPE和RMSE的对比

从表2可以看出,Xgboost算法预测精度略高于其他两个算法。由于样本量大,各算法训练速度出现较大差异,考虑计算过程中相关因素对结果造成的影响,经过多次训练求平均值,结果见表3。

表3算法训练速度对比

分布式Xgboost采用的是分布式加权值算法。在数据无法一次载入内存或在分布式情况下,该方法可以高效地生成候选的分割点。从表3可以看出,RF训练模型的时间比其他两个算法训练时间多,这是由于RF需要多次随机抽取特征,导致训练时间增加。Xgboost开启多线程模式后,训练速度相对于其他算法有较大的优势。平台首先通过将负荷数据、气象数据以及其他特征由客户端输入;然后,将对应的数据进行分块,分给两台机器进行处理,并将各台所处理得到的结果汇总到主机上得到整体的预测模型;最后,可以通过测试数据的输入进行相关的负荷预测工作。

二、大数据分析平台与预测框架

大数据应用需要一个统一的大数据平台,通过集成各种工具与服务来管理海量异构的数据,实现对海量异构数据的存储、访问与处理,整合多种分析工具实现各种大数据业务。以电力大数据平台为支撑,大数据应用开发者只需关注于业务,而不用深入大数据技术的细节。对大数据平台的研究尚处起步,目前仅IT巨头,互联网企业如IBM、结合自身业务开发了大数据平台,涉及电力大数据的研究仅一些小型科技公司,如C3Energy、Opower,总体还没有形成支持大数据平台技术开发的相关技术体系。Apache基金会开源技术通用的大数据平台架构具有较好的通用性,也适合构建智能电网大数据平台,其核心思想是利用Hadoop分布式文件处理系统HDFS(Hadoopdistributedfilesystem)作为大数据的存储框架、分布式计算框架MapReduce作为大数据处理框架。中长期负荷预测作为智能电网大数据平台业务之一,在数据源方面,不仅包括电网负荷大数据、负荷空间分布数据,还包括经济、规划方案、政府政策等相关数据,要求大数据平台在数据管理层,实现对各类相关数据库的数据访问与调度;在数据分析层,实现对异构数据的并行计算与快速处理,从而整合海量的异构数据,融合不同的信息源。基于大数据分析平台强大的数据管理与数据处理能力,实现负荷预测大数据的准确分析和负荷增长和关联规则的准确挖掘。海量负荷分布于广域空间,呈现明显地域性特点;受到多种因素的影响且作用方式不尽相同,负荷类型丰富、发展规律多元。准确地进行负荷分析,首先根据负荷地域性分布特点建立预测分区,分别挖掘各分区内客户用电规律,然后利用适合大数据处理的聚类方法,区分不同的客户负荷类型,将变化规律相似的负荷划归一类,针对类负荷结合分区内经济、城市规划等数据进行影响因子关联性分析;最后在区域用电结构分析的基础上实现各分类负荷预测模型的有效综合,其中区域用电结构分析与预测分区对应,与大区域的经济结构、产业结构等密切关联。

三、大数据平台实现

1.MapReduce。MapReduce是Hadoop的核心组件之一,是一种数据处理的编程框架。MapReduce采用“分而治之”的办法。首先,各个节点处理其分得的数据集,再整合节点的处理结果得到最终结果。在分布式计算中,MapReduce框架负责处理并行编程中一些相对复杂问题,把处理过程高度抽象为map和reduce两个函数。map可以对操作进行分解,reduce则是要综合各个结果。

2.MapReduce架构。与Hadoop分布式文件系统(Hadoopdistributedfilesystem,HDFS)一样,MapReduce采用了主从结构模型,主要由Client、JobTracker、TaskTracker和Task四个部分组成。Client客户端:每一项任务都会将应用程序和所要配置的相关参数打包处理后再存储到HDFS,并将路径提交到JobTracker的master服务中,然后由master创建每一个Task(即MapTask和ReduceTask),并将它们分发到各个TaskTracker服务中去执行。在Hadoop中,依据自己的需求对调度器进行设计。TaskTracker定期将自己节点情况汇报给JobTracker,并且接受反馈的命令,然后执行相应的操作。TaskTracker使用“slot”等量划分本节点上的资源量。“slot”代表计算资源(CPU、内存等)。调度器可以把每个TaskTracker上空闲的slot分配给Task使用。slot分为Mapslot和Reduceslot两种,分别供MapTask和ReduceTask使用。可配置参数又能够对Task的并发度进行限定。Task分为MapTask和ReduceTask两种,均由TaskTracker启动。采用map函数对输入的信息进行处理,并且把中间结果存储到本地磁盘上,临时数据会被分成若干个partition,每个partition对应一个ReduceTask。ReduceTask从节点上读取MapTask中间结果;按照key对key/value进行排序;调用reduce函数,将结果保存到HDFS上。

3.Hadoop平台搭建及Xgboost部署。本次试验通过虚拟机虚拟3台主机进行数据处理。其中1台作为主节点Master,另外2台作为分节点Node1、Node2。每台主机配置为4核处理器,3G内存并安装CentOS6.5系统作为基础环境。构建的Hadoop集群拓扑示意图如图1所示。

图1Hadoop集群拓扑示意图

在CentOS6.5系统中创建Hadoop账户,并赋予Hadoop账户管理员权限,通过修改hosts为主节点和从节点配置IP地址,然后配置ssh使各节点间实现密码登录,完成后各台机器之间可以直接通过ssh+机器名进行访问。Spark安装成功后,将Xgbooost克隆到本地并进行编译。编译成功后通过指令以yarn模式启动spark-shell,并引用Xgboost包。将训练数据及相应参数输入Xgboost后运行,至此Xgboost算法基于Spark的分布式计算部署成功。

通过实际负荷数据特性分析,构建了基于负荷的时间特性、温度特性的训练样本,并分别进行了夏季、冬季情况下的负荷预测,同时与RF和GBDT两种算法进行对比。预测试验对比验证了Xgboost算法具有准确性好、训练速度快等特点,且在开启多线程的情况下,Xgboost算法有更明显的速度提升。

参考文献

[1]李灿兵.基于人工神经网络的负荷模型预测.2016.

[2]杨福拴,浅谈大数据平台下的电力负荷预测系统设计与实现.2017.

标签:;  ;  ;  

大数据平台下的电力负荷预测系统设计与实现
下载Doc文档

猜你喜欢