基于图神经网络的配电网故障预测①

2020-09-22 07:45李喜旺司志坚
计算机系统应用 2020年9期
关键词:馈线配电网神经网络

杨 华,李喜旺,司志坚,3,张 晓

1(中国科学院大学 计算机与控制学院,北京 100049)

2(中国科学院 沈阳计算技术研究所,沈阳 110168)

3(国网辽宁省电力有限公司,沈阳 110168)

电力是国家发展的关键命脉,是各行业及日常生活中至关重要的基础成分.相关统计显示80%以上的停电事故都是因配电网故障导致的.若在故障发生之前得到故障预警排查出故障所在位置并进行修复,可以有效的减少停电故障的发生,进而可以提升配电网的服务质量.随着电网技术的不断提升相量测量装置和无线传感网络等电网基础设施的建设为电网提供了数据驱动的态势感知能力,这为收集电网运行状态并使用这些状态进行相关研究提供了基础,但是配电网故障影响因素众多,并且结构复杂,这都成为配电网故障预测的难点.

近年来相关的专家学者将研究方向集中在使用机器学习进行相关探索上.郑晨玲[1]将贝叶斯估计法应用在故障定位上,这种方法考虑到了配电网的内部结构,具有一定的因果推理效果.对本文预测算法结构的提出产生了很大的启发.刘科研等[2]基于数据挖掘技术提出了一种风险预警方法,核心思想是将每个站点的特征输入SVM 中进行风险分类.张稳等[3]针对天气因素使用ADABoost 算法进行故障的预测.以上方案都使用了经典的机器学习算法,并且预测的对象主要集中在单一馈线上,针对每条馈线建模预测每条馈线出现故障的概率,并未考虑相连馈线间的互相影响.本文结合图神经网络[4,5]的思想针对配电网实际结构的拓扑图进行建模,融合了站点间流通的信息,使得模型更加符合真实的环境.文中提出的算法主要借鉴了Hamilton[6]提出的图卷积神经网络模型,该模型可以支持多种聚合函数,并且支持泛化到未知节点,这样对算法的鲁棒性和泛化能力都有很大的提升[7].

本文使用东北地区某省会城市的配电网分布数据进行算法的仿真测试,并与前人的方法进行了横向比较.验证了本文提出的故障预测模型的准确性和鲁棒性,对实际应用有一定的指导意义.

1 配电网结构分析

配电网中主要的设备有变压器、多种传感器、隔离开关等,这些设备的运行状态与整个配电网的运行状态息息相关.设备的多样性,以及天气等外界因素的影响使得配电网故障发生的原因比较难以确定,这也为故障发生的预测带来了很大的困难.研究发现配电网故障大多发生在馈线上,所以本文建模的目标也延续与前文研究人员相同的方案,预测的故障目标也是馈线是否会发生故障.

图1是选取的是某城区局部拓扑图.图中正方形表示变电站.黑色的圆点表示配电网节点,节点是指从配电网干路出现分支的地方,每个节点对应一条最小单位的馈线.如果预测得出某一个节点将会出现故障,易知代表与该节点连接的馈线会出现故障.

图1 配电网局部拓扑图

2 算法模型

2.1 算法框架概述

图神经网络是一种直接对图数据进行建模的神经网络模型,本文主要参考了文献[6]提到的图神经网络框架,并根据本文实际应用场景进行了细节上的微调.为了更清晰的阐述算法本身,我们设计了一个结构更简单的拓扑图,如图2.

观察图2中节点N3,该节点的运行状态要受到直接邻居节点N1、N2和N5影响.间接邻居节点N6和N4的信息可以通过邻居节点传递到N3中,随着传递深度的增加信息产生的影响也在减弱,因此定义k为信息汇合的深度,例如k=1表示直接邻居节点,即图2中的N1、N2和N5;k=2 表示N6、N4.定义xn为每个节点的输入特征,为节点v第k层的隐状态,预测输出为ov;定义fv为节点信息汇集函数[8-11],用来定义汇集节点v及其邻居节点信息的方法;定义gv为局部输出函数,该函数定义了节点v输出状态的计算.定义与ov的表达式(1).

式(1)中,lv表示节点n的标签,表示节点v邻居节点第k层迭代的隐状态.基于以上分析可以将图2内部计算过程表示成图3所示的计算图.观察图3发现每个节点都会输出一个ov,用来表示该节点相连的馈线发生故障的概率.

图3 图模型计算结构

2.2 关键算法流程

常见的节点信息汇集方案有均值、卷积、序列等方法[12-14].本文通过在算法效率和精度方面的对比最终选定了如式(2)所示的均值法,将目标节点和邻居节点的状态拼接起来并求平均值.从应用场景角度来看,本文参与求均值的节点是直接相邻的节点,这些节点对目标节点影响最大.但使用均值计算默认了节点间的权重相同,而本文算法中节点类型恰好比较单一,彼此对目标节点的影响趋势相近;从数学角度来看,均值方案计算简单且可导,考虑到某些区域设备多导致运算量过大,这个方法易于进行迭代优化,特别是通过仿真实验验证均值方案计算效率最高并且精度与卷积方案差0.007,位于第二位.分析发现卷积方案本质上也是一种加权平均,但是在执行速度上远远落后于普通平均,综合考虑选定式(2)方案.

节点信息汇集算法的完整流程如算法1 所示.算法1中G(V,ε)表示整个图结构,包括图中的顶点V以及顶点间的连接关系ε;xv表示原始的训练样本即将要用来训练的数据,由算法1 中的第1 行可以得到xv仅在第一次输入算法中时参与计算,之后是转化后的隐状态在网络中流动;k与前文中所述的汇集节点的深度相同,如果k=0表示只使用当前节点的特征进行计算;表示第k层的各节点权重矩阵,且每层间的权重是共享的;表示对于一个节点v来说不同层汇集方法不同,本文节点比较单一所以采用了相同的节点汇集函数;算法1最终输出一个结果tv,即表示这个节点的隐藏状态也作为gv的输入项.

算法1.节点信息聚合算法输入:Graph input features ;depth ;initial weight Different aggregator functions tv,v∈V G(V,ε) {xv,∀v∈V} k Wkfkw输出:结果 h0v←xv,∀v∈V 1 2 for to 0 do v∈V K 3 for do hkv←fkw({hk-1 v,∀v∈Ne[v]})4 5 end hkv←hkv/images/BZ_137_1509_1400_1522_1430.pngimages/BZ_137_1509_1413_1522_1443.pngimages/BZ_137_1509_1425_1522_1456.pnghkvimages/BZ_137_1551_1400_1564_1430.pngimages/BZ_137_1551_1413_1564_1443.pngimages/BZ_137_1551_1425_1564_1456.png2,∀v∈V 6 7 end tv←hkv,∀v∈V 8

外层循环k表示当前搜索的层数,表示v在k层的隐状态.首先,每个节点v汇集了直接相连的邻居节点的隐状态并生成一个新的隐状态,当然的生成需要依赖上一次外层循环产生的隐状态.因为每个节点的邻居节点数目不同,所以在第6 行需要进行归一化操作.式(3)为结果输出函数.本文应用场景本质上是个二分类问题,而 σ函数的输出值在(0,1)之间这样可以直接将输出结果作为出现故障的概率值.

损失函数采用式(4)所示交叉熵损失的方式进行损失的计算.因为输入ov由Sigmoid 函数计算得出,使用交叉熵损失在求解梯度后得到

形式比较简单易于计算,并且不依赖Sigmoid 函数的导数.

2.3 优化方法

算法的优化采用常见的神经网络中前向传播和反向传播相同的思路[15].将图3展开成图4所示常见的神经网络结构,容易发现图神经网络的层数由前文提到的k决定;层与层间的连接关系由原图的连接关系决定.

图4 网络展开图

整个模型的训练先进行从左向右的前向传播,然后根据损失进行反向传播.根据前向传播计算公式得到输出层计算梯度计算公式(5).综上所述,可以得到算法2 所示整个模型的算法流程.分析算法2,第3 行第1 次迭代时,每个节点编码了输入特征的信息,第1 次迭代时每个节点编码了本身以及直接相连节点的特征信息,第2 次迭代时每个节点的直接邻居节点包含了当前节点第2 层节点的信息[16-18].

算法2.算法整体流程G(V,ε) {xv,∀v∈V} kWk输入:Graph ;input features ;layer ;initial weight fkvEpoch Different aggregator functions ;iteration Main:for=1 to do L=Forward epochEpoch Backward End Forward:tv=aggregation(G(V,ε),xv,k,Wkagg,fkv)ot=σ(Wo×hv)L=∑t∈Tyt log(ot)+(1-yt)log(1-ot)return Backward:k L For 2 to do:Wo=Wo-λ(yt-ot)·hkv

bo=bo-α·(yt-ot)Wagg=Wagg-β(yt-ot)·σ(Wagg·hk-1 v +bagg)×(1-σ(Wagg·hk-1 v +bagg))·hk-1 v bagg=bagg-δ·(yt-ot)σ(Wohkv+bo)(1-σ(Wohkv+bo))

3 仿真实验

仿真实验使用的数据来自东北地区某省会城市的配电网运行数据.提取的影响因素根据文献[2]中提出的方案进行提取,即分析了论文中提到的22 个影响因素,包括故障因素6 个、自身因素3 个、外部因素8个以及运行因素5 个.并计算特征值的权重.本文的关注点在每条馈线的节点上,而文献[2]在每条馈线上.所以将有多条馈线发出的节点进行平均计算每个节点上的特征值表达.

根据以上方法本文共提取从2012年4月到2018年3月间某区的150 条馈线数据作为训练样本,2018年5月到2019年3月的数据作为测试样本,预测用来验证模型的实际结果.

3.1 网络深度的取值与分析

根据图5所示的训练曲线发现当深度为2 时取得了更好的结果,易知每个节点的信息都会通过迭代不断的向深层传递,但是随着传递的层数越深信息强度也在不断的减弱.本文实际应用场景中各节点分支最多为4 个分支,且选取的样本都在一个区域中在地理上比较接近,节点与节点间样本特征上差别不大,所以当传递的深度为3 时出现了信息交叉出现进而影响到了模型的精度,深度为1 时模型的信息汇集程度不够loss 比较高.所以根据实际的测试结果选定了k值为2.此外,查阅相关论文得出,在大型图网络中k的取值一般为3 或者节点度的均值.但结合本文来看,最好方案还是结合实际的场景来分析设置.

图5 不同k 值的损失对比

3.2 模型对比

使用文中算法与之前研究人员使用的RBF-SVM[2]和ADABoost[3]算法进行对比分析.数据采用的是上文提到的2018年6 至2019年3月的数据,并根据月份分别进行统计模型预测的准确率.如表1所示,前两种算法在模型的准确程度上取得了相对好的结果,并且两个算法在8月份同时出现了预测准确率下降的现象.分析发现因为东北地区8月份是最炎热的时候,并且近年来的8月份非要比往年更加炎热,导致出现了跟其他月份不同扰动因素,进而模型预测的准确程度有所下降.观察其他月份特别寒冷季节的月份,模型预测都比较稳定.

观察本文提出的算法发现,模型的鲁棒性和准确性都比较高.这是因为模型是基于全局给出的一个结果.最大程度上避免了随机因素扰动的干扰.所以取得了在算法的准确上和算法的鲁棒性都取得了较好结果.

表1 不同模型预测准确率对比结果(%)

4 结论与展望

本文结合实际场景的特点和前人的研究成果,提出了基于图神经网络的故障预测模型.通过使用图神经网络进行配电网拓扑结构的真实建模,有效的捕捉了各个节点间信息流通产生的相互影响.并在小数据集上进行了测试,测试的精度相比于前人在此领域上常用的方法上提高3.0%.除此之外,通过图神经网络对真实拓扑进行建模得到的模型鲁棒性更强.但因为配电网结构复杂,不同类型的节点众多,本文选用的是配电网文本研究过程中常用的馈线为基本单位.方法中还有许多不足之处,后面还要考虑一下是否可以直接对不同的核心设备作为多类节点进行建模,这样的建模方案才更加符合真实的配电网信息流动.

猜你喜欢
馈线配电网神经网络
基于神经网络的船舶电力系统故障诊断方法
配电网单相接地故障智能处置关键技术及成套装置
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
浅探地铁直流牵引供电系统馈线的保护技术
浅谈10千瓦发射机天线馈线系统的设计与调试
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
基于Tabu算法的配电网无功补偿研究
基于启发式规则与和声搜索的配电网重构算法
10kV配电网现状及智能化改造