基于对抗生成网络与BP 神经网络的低压台区线损率预测

2019-11-08 02:51裘炜浩夏鹏飞龚康家周后盘
浙江电力 2019年10期
关键词:损率台区聚类

方 舟,裘炜浩,季 超,夏鹏飞,龚康家,周后盘

(1.国网浙江省电力有限公司信息通信分公司,杭州 310007;2.杭州电子科技大学,杭州 310018)

0 引言

线损率是电力企业一项重要的综合性技术经济指标,不但能反映电网结构和运行方面的合理性,而且可以反映电力企业的技术和经营管理水平[1]。低压台区作为电力系统的末端环节,快速准确预测低压台区线损率,为制定合理的降损措施提供依据是供电企业的重要任务[2]。在实际电力生产中,影响线损率的因素是复杂的,这给线损率预测带来一定难度。因此,如何建立一个合理有效的线损率预测模型值得进一步研究。

为了建立一个合理有效的线损率预测模型,学者们进行了许多研究,提出了各种预测模型。文献[3]采用核偏最小二乘法进行线损率预测,核偏最小二乘回归可以看做是多元线性回归分析、典型相关分析、主成分分析三者的结合,该预测模型适合特征值较少的方法,特征值较多使该预测模型计算量过大。文献[4]采用GM(1,1)灰色模型,能够在历史数据不多的情况下,找到线损率预测量的内在规律,但它只在影响电力系统线损的因素不出现很大变化的前提下适用。多元线性回归法在实际应用中,由于选择的变量之间往往存在很强的相互关系,导致其在建模精度和回归精度上都存在一定的不足。文献[5]提出了一种基于快速独立成分分析和支持向量回归的计算方法。智能算法的一个不可避免的问题是特征的选择,而特征多为有功功率、无功功率、线路长度、配电变压器容量等,没有综合考虑上月线损率、同期线损率、同期累计线损率等历史线损数据对线损的影响。

1 相关技术介绍

1.1 K-Means++算法

聚类是一种无监督的学习,即聚类是不需要类别的标注,通过聚类可以实现在大量数据中归类相似的数据[6]。最常见的聚类方法是K-Means算法,而K-Means++算法是基于K-Means 算法改进的,K-Means++在选取第1 个聚类中心时是随机产生的,与K-Means 算法相同,但是在选取第n+1(n是正整数)个聚类中心时,K-Means++算法是选择距离当前n个聚类中心最远的点做为第n+1 个聚类中心,可以说这也符合我们的直觉:聚类中心当然是互相离得越远越好[7]。这个改进虽然直观简单,但是却非常有效。

K-Means++算法中的K 表示的是聚类为K个簇,Means 代表取每一个聚类中数据值的均值作为该簇的中心,或者称为质心,即用每一类的质心对该簇进行描述。通过计算各个K 值对应的轮廓系数来确定最优聚类数K[8]。轮廓系数计算公式:

式中:a(i)是样本x与簇内的其他点之间的平均距离;b(i)是样本x与最近簇中所有点之间的平均距离。

由轮廓系数计算公式可分析得s(i)接近1 则说明样本聚类合理,则选择轮廓系数接近1 的聚类数为最优聚类数K。

1.2 对抗生成网络

GAN(对抗生成网络)是一种深度学习模型,是近年来最具前景的无监督学习之一[9]。对抗生成网络中包含两个网络:生成网络和判别网络,对抗生成网络结构如图1 所示[10]。

图1 对抗生成网络结构

生成网络G:不断学习训练集中真实数据的概率分布,目标是将输入的随机噪声数据转化为可以以假乱真的数据。判别网络D:判断一个数据是否是真实的数据,目标是将生成网络G产生的“假”数据与训练集中的“真”数据分辨开[11]。训练过程中通过相互竞争让这两个网络同时得到增强,G和D构成一个动态的“博弈过程”[12]。对于对抗生成网络来说,其判别网络、生成网络的损失函数分别定义为:

式中:z为噪音数据;x为真实数据;D为判别网络;G为生成网络。

随着时间的推移生成网络和判别网络不断进行对抗,最终两个网络达到一个动态平衡:生成网络生成的数据G(z)接近于真实数据分布,而判别网络识别不出生成网络生成的数据G(z)。最后,我们就可以使用生成网络来生成数据。

1.3 BP 神经网络

BP 神经网络是由Rumelhart 和McClelland 为首的科学家提出的概念,它是一种按照误差逆向传播算法训练的多层前馈神经网[13]。BP 神经网络的过程主要分为两个阶段,第一阶段是信号的前向传播,从输入层经过隐含层,最后到达输出层;第二阶段是误差的反向传播,从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和偏置以及输入层到隐含层的权重和偏置[14]。

2 构建低压台区线损率预测模型

本文结合低压台区历史线损数据,提出了一种基于对抗生成网络与BP 神经网络的低压台区线损率预测模型,如图2 所示。

图2 低压台区线损预测模型结构

2.1 数据来源及数据集

某市电网公司提供了50 000 条低压台区线损相关数据,台区线损率按月统计,空间范围是某市所有低压台区,时间范围是2016 年1 月至2018 年9 月。选取的特征属性包括:合计供电量(T_PPQ)、线损率(L_LLR)、上月线损率(L_LM_LLR)、同期线损率(L_PERIOD_LLR)、同期累计线损率(ACCU_PERIOD_LLR)、台区容量(TG_CAP)、总户数(TOTAL_USER_NUM)。

2.2 数据处理过程

2.2.1 数据预处理

首先对原始数据进行预处理,包括删除空数据、去掉不符合业务实际的异常数据,再将这些处理后的数据进行归一化处理,最后整理在一张表中保存以备用。归一化处理格式如式(4)所示:

式中:x 为样本数据,x=[x1,x2,x3,…,xn],n 为样本个数;xmax为样本中的最大值;xmin为样本中的最小值;xi为单个样本。

2.2.2 低压台区数据分类

对于相似的低压台区,其线损率应该是相似的。从保存的表中取出T_PPQ、TOTAL_USER_NUM 两个特征值,对所有台区进行K-Means++聚类,计算各个K 值对应的轮廓系数,并选择轮廓系数最接近1 的聚类数为最优聚类数。各个K值对应的轮廓系数见图3。由图3 可知K=2 时轮廓系数更接近1。

图3 轮廓系数柱状图

通过K-Means++算法把低压台区分为2 类,分别记为A 类和B 类。A 类和B 类的数据数量见图4。对比A 类、B 类台区数据发现,A 类低压台区大部分是用户数量、供电量均较多的,B 类低压台区大部分用户数量、供电量均较少的。

图4 聚类后数量比例饼图

2.2.3 低压台区数据增加

从图4 可知A 类台区数量为10 679 条、B类台区数量为8 393 条,对于BP 神经网络来说训练的样本数量较少,则可以利用对抗生成网络来训练一个判别网络和一个生成网络,通过生成网络增大样本数据。

真实数据是由L_LLR、L_LM_LLR、L_PERIOD_LLR、ACCU_PERIOD_LLR、TG_CAP 组成的向量,对抗生成网络噪音数据是(-1,1)之间的随机数,维度与真实数据相同。将噪音数据输入生成网络里产生伪造数据,判别网络对伪造数据和真实数据进行分辨。生成对抗网络结构如图5所示。

图5 生成对抗网络结构

随着时间的推移生成网络和判别网络不断进行对抗,使生成网络、判别网络损失函数下降直到得到最小值。A 类、B 类对抗生成网络损失函数分别如图6、7 所示。从图中可以看出,A 类、B 类对抗生成网络中判别网络均在训练到300 轮左右时损失函数接近1,此时获得较好分类效果。在训练到400 轮时,A 类、B 类对抗生成网络中生成器的参数优化到可以使得损失函数结果较低的程度,说明其可以较为稳定地输出样本数据。

图6 A 类对抗生成网络损失函数

通过生成器来增加A 类、B 类低压台区的线损数据,根据实验的实际情况,使用A 类生成网络、B 类生成网络分别产生6 000 条线损数据时实验效果最佳。

图7 B 类对抗生成网络损失函数

2.3 建立BP 神经网络的线损率预测模型

BP 神经网络具有结构简单、使用方便、易于理解等特点,函数的逼近能力较强。BP 神经网络的学习过程主要包括信号的前向传播及误差的反向传播两部分。

2.3.1 BP 神经网络超参数选择

BP 神经网络由3 层全连接的神经网络组成,分别为两层隐藏层和一层输出层。隐藏层神经元个数通常根据经验以及实验尝试获取,本次实验中隐藏层神经元数分别为64 和128 个。隐藏层采用RELU 函数进行激活,增强模型的非线性,初始值选取(-1,1)之间的随机数。输出层外加一层softmax 层使神经网络输出变成一个概率分布,最终完成分类预测。经softmax 回归处理之后的输出为:

式中:y1,y2,y3,…,yn为原始神经网络的输出;为输出的概率分布。

学习率直接反映了每次神经网络训练过程中相邻神经元之间连接权值变化速度的快慢,根据实际的训练需要将学习率设置为0.001,既不会导致函数震荡,也不会延长网络训练的时间。

2.3.2 BP 神经网络的输入数据

数据增加后A 类、B 类低压台区数据分别为14 393、16 679 条。把A 类里的14 393 个低压台区和B 类里的16 679 个低压台区分别拆分为训练集和测试集,拆分比例为3:1,具体数据数量如表1 所示。

为A 类、B 类低压台区数据分别建立预测模型,每个预测模型选取L_LM_LLR、L_PERIOD_LLR、ACCU_PERIOD_LLR、TG_CAP 组成向量,并将此向量数据输入BP 神经网络进行训练;选取L_LLR 作为为标签值,根据某电网线损参考数据将线损率分为四类:合格线损率(0100),在输入前进行One-Hot 编码处理。

表1 各数据数量

2.3.3 损失函数与梯度优化

本文使用损失函数作为模型的误差计算方式。通过计算损失函数的值,对模型中的权重进行反馈调节,调整整个模型的参数设置。本次实验所用的损失函数为交叉熵损失函数:

式中:给定两个概率分布p和q,通过q来表示p的交叉熵。

对于上述模型,求导、反馈等操作由Tensorflow 后端完成,对权重矩阵进行优化,使梯度逐步下降直到得到最小的损失函数值。

2.4 实验结果分析

按本文提出的预测模型分别进行10 次低压台区线损预测实验,实验结果为:A 类低压台区的平均预测准确率约为92.1%,B 类低压台区的平均预测准确率约91.5%。

为了说明对抗生成网络增大的样本数据有效提高预测准确率,在不使用对抗生成网络生成的数据前提下,使用基于BP 神经网络的低压台区线损预测模型做了平行对比实验,实验的准确率对比如表2 所示。

表2 两种模型的准确率对比 %

3 结语

本文提出一种基于对抗生成网络与BP 神经网络的低压台区线损预测模型。该模型既充分考虑了合计供电量、台区容量、总用户等特征数据与当前线损率之间的关系,又使用了上月线损率、同期线损率、同期累计线损率等历史线损数据来提高预测的准确性。所做工作如下:使用Tensorflow 框架成功搭建了一个低压台区线损预测模型;某市电网公司提供了某市从2016 年1 月至2018 年9 月共50 000 条低压台区线损相关数据,其中选取了合计供电量、上月线损、台区容量、总用户等特征属性作为特征值,实际中存在大量低压台区缺失特征数据,剔除这些特征数据后还剩下近20 000 条实验的低压台区线损相关数据。根据相似低压台区线损率相似原则,通过KMeans++算法将低压台区分类,分别记为A 类、B类;其数据分别为10 679 条、8 393 条;为解决BP 神经网络训练数据样本偏少的问题,分类后利用对抗生成网络来增加训练的数据样本,经试验发现A 类生成网络、B 类生成网络分别产生6 000 条线损数据时实验结果最佳,再使用增大的样本数据训练BP 神经网络从而搭建线损的预测模型。

将有无使用对抗生成网络增大的样本数据做了平行对比实验,实验结果表明,本文提出的基于对抗生成网络与BP 神经网络的低压台区线损预测模型具有更加准确的预测效果,表明通过对抗生成网络增大样本数据可以改善低压台区有效线损数据量偏小的问题,从而可以减小不符合业务实际的异常数据、空数据等对线损率研究的影响;快速准确预测低压台区线损率,会帮助供电企业制定合理的降损措施,从而提高企业的经济效益。

猜你喜欢
损率台区聚类
配电台区变-户拓扑关系异常辨识方法
用“分区”牌显微镜透视各类“病毒”
降低台区实时线损整治工作方法
无功补偿极限线损率分析及降损措施探究
基于高斯混合聚类的阵列干涉SAR三维成像
10kV变压器台区设计安装技术研究
供电企业月度实际线损率定量计算方法
基于用电信息采集系统的台区线损管理研究
基于Spark平台的K-means聚类算法改进及并行化实现
基于加权模糊聚类的不平衡数据分类方法