融入a tten tion机制的台风风险预警模型
2020-03-27李晓帆
李晓帆
(昆明能讯科技有限责任公司,昆明 650217)
0 前言
台风是一种可以给沿海地区电网造成巨大破坏的自然灾害,中国东南沿海地区正是台风灾害频发的地区。对于强台风环境下的地区电网,台风的强风可导致输配电网中的电气设备产生结构性损伤,影响供电稳定性。在电网设备中,杆塔是最易被台风影响的大型设备,从中国东南沿海电网历史台风灾损统计结果来看,绝大多数的倒塔与断杆主要发生在强风圈内,显然风速对杆塔的影响是巨大的。现在的绝大部分台风预警型都是以台风的预测风速为基础进行预警,但是显然输电杆塔的故障并不只取决于风速这一个特征,可是由于其他的特征数据太少且数据质量不高,难以和台风故障相关联,所以很难进行分析和建模,那么如何从这些复杂数据中提取出有用的信息,用来进一步完善台风预警模型就很值得研究。
1 主要影响因素分析
电网设备台风预警相关的数据特征主要分布于三个维度:气象、地形、设备。
由于台风路径的随机性,风圈半径的变化以及对电网组件损害的不确定性等,需要充分考虑到台风破坏风险的事故前预备程度。
通过对台风相关资料的查询以及获取到的数据分析,台风对电网的影响主要体现在几个方面,输电线路断线,倒塔以及水淹,伴随着各种故障引起的线路跳闸事故则是最多的,而这些情况自然和台风自身的风速以及降雨量有极强的相关性。从气象台可以得到实时以及预测的台风风速,台风风圈以及台风移动路径,降雨等数据,也可以在GIS 系统中获得相应位置的地理环境数据,结合电网内部的设备状态数据,可以使用机器学习模型给出台风到达之前的电网灾害预警,以及台风经过时的电网实时状态评估。
1.1 数据处理与分析
通过对海南电网2014 年至今设备缺陷和故障的统计分析,电网设备在台风期间受台风的影响主要包括设备的地形环境、设备参数、气象环境的影响。然而由于电网对台风的损失统计都是在台风过后进行,因此数据仅有一个大概的统计结果,时效性很差,并且不够细致,并不能作为建立模型的可用数据。因此我们另辟蹊径,从95598 的故障单来寻找信息。
95598 的故障单是根据用户的实时电话进行记录,因此在时效性上很强,且自带地点信息,虽然地点不够准确,但是也可以确定所在的县市等。但是工单报的故障是否和台风有强相关性就需要进一步分析了。
以下是从2016 年到现在海南省各地区95598 在正常日收到的日平均故障报告与台风日收到的日平均故障报告的对比图如表1 所示:
表1 正常天与台风天故障报告次数对比
从上表中我们可以看到,在台风经过的日期中,日平均故障报告要明显多于没有台风时的日平均故障报告,因此可以确定,95598 的故障报告单数据与台风故障有着很强的关联性,以此数据为标准建立模型是可以反应真实情况的。
由于各地区的杆塔数量不同,所以不能简单的以报故障次数的多少来评判危险程度,那么我们可以分开来看每一个地区,用每一个地区平时的报故障次数和台风期间的报故障次数来做归一化处理,这样就可以得到比较合理的故障危险程度了。
数据归一化就是按一定方式将所有数据缩放到0-1 之间,归一化方法:
1.2 气象特征
通常情况气象特征有很多,例如温度、湿度、风速、风向、降雨等,跟台风相关的大概有风速、风向、降雨,但是风向和降雨只有在特定情况下才会对输电杆塔造成影响,比如风向和输电线路形成一定角度的时候,降雨在某些特定的地形条件下可以对输电设备造成淹没或侵泡的时候,这些数据很难做进一步处理,与其他相关数据进行关联,成为可以进行杆塔风险模型建设的结构化数据。
风速是对电网设备造成破坏的第一因素,风速越高破坏力越强,强风会导致主网和配网的杆塔倒塌,倾斜。风速数据根据气象局的预测风圈决定。那么如何确定不同风力下输电杆塔的危险程度呢,我们使用一个通用的指数型曲线函数拟合算法公式:
其中:V 是目前风速,Vmin为杆塔设计风速,Vex为杆塔的极限风速,K 为一个待定系数,在此次建模中,通过各种尝试,我们取0.15。这样就可以计算出风速对杆塔的影响系数,也就是风速危险系数,系数越大则代表杆塔越危险。
1.3 地形特征
由于配电网杆塔与架空线经常需要贯穿一些复杂地形,从平原地区到高山地区,经常伴随着几千米的海拔变化,而随着海拔的变化,台风经过该地区时的风速也会受到相应的影响,因此对配电网所在地区微地形对台风的影响进行分析和评估就对输电线路在台风经过时的危险程度的评定有重大价值。
电网设备所处的地形也至关重要,在高坡或者山地等高海拔地区的设备受到风力的影响会更大,远大于平原和洼地,然而由于高山地形也会对台风的强度造成影响,导致台风减弱,但是我们无法从具体地形去分析。从设备台账数据中,我们观察到有杆塔所在的微地形数据,并且可以和所在区域关联起来,那么通过刚才得到的每一区域的危险系数,可以把地形的特征加入建立一个线性回归模型,来看每一种地形对不同危险的贡献程度。
多元线性回归就是用多个数据特征来线性拟合另一个特征,其公式如下:
建立了特征之间的对应关系之后,通过最小二乘法来寻找每个特征的最佳系数。普通最小二乘法通过最小化误差的平方和寻找最佳参数,优化公式如下:
我们从杆塔台账数据表中,找出四种最常见的地形:平原、丘陵、山地、高山,并建立线性回归模型,地形线性回归模型特征对照表如表2 所示:
表2 地形危险系数线性回归对应表
最后,我们得到这四种地形对于台风的危险系数如表3 所示:
表3 地形危险系数
1.4 设备特征
输电杆塔的类型也对台风经过时杆塔的危险程度有很大影响,通常来说,输电网中最多的输电杆塔为耐张杆塔和直线杆塔,耐张塔需要承受架空线的拉力,所以在结构设计上更为坚固;直线杆塔只需要承受架空线的自重,所以相比耐张塔来说,直线杆塔在自身的结构强度上要弱一些。
我们同样使用多元线性回归拟合的方法,去得到杆塔类型的台风危险系数。我们同样选取最常见的四种类型杆塔:普通直线塔、普通耐张塔、普通直线杆、普通耐张杆,如表4 所示:
表4 杆塔类型危险系数线性回归对应表
最后,我们得到这四种地形对于台风的危险系数:
表5 杆塔类型危险系数
2 台风危险区域预警模型
根据之前所做的地形危险系数、杆塔类型危险系数和台风风速危险系数等特征的台风危险系数结果进行线性叠加得到台风对电网的不同的影响,建立预警模型,其中地形危险系数和杆塔类型危险系数是固定值,而台风风速危险系数可以通过气象台所预报的台风位置以及风速,对相关区域的杆塔设备进行风速危险系数计算,最后在做一次归一化,后得到预警模型结果。
通过这样的建模方法得到的危险系数有一个问题,就是通过归一化后,无法看出每种特征对最后的危险系数的贡献程度,而使用统一的系数。而这并不符合客观情况,现实情况中或许在一些区域只有风速对结果产生影响,地形和杆塔类型的贡献可以忽略不计,而由于地形和杆塔类型危险系数是固定值,会稳定的对模型产生影响贡献,我们尝试引入attention 机制,对台风预警模型不同特征的贡献程度根据实际数据做一下调整。
2.1 attention机制融合
A ttention 机制实际上是一个编码再解码的过程,编码算法和解码算法可以根据情况自行选择,最后,通过中间码的大小来确定每一个特征的贡献程度。这里我们选择编码和解码都使用多层BP 神经网络。
深层人工神经网络(DNN,M LP),除了输入输出层,它中间可以有多个隐层。最简单的MLP 需要有一层隐层,即输入层、隐层和输出层才能称为一个简单的神经网络。神经网络是仿生物神经网络而来的一种技术,通过连接多个特征值,经过线性和非线性的组合,最终达到一个目标。如图1 所示:
图1 深层神经网络结构示意图
前向传播指的是信息从第一层逐渐地向高层进行传递的过程。假设第一层为输入层,输入的信息为[x1,x2,x3]。对于层l,用Ll表示该层的所有神经元,其输出为yl, 其中第j个节点的输出为yl(j),该节点的输入为ul(j),连接第l层与第(l-1)层的权重矩阵为Wl,上一层的第i个节点到第l层第j个节点的权重为wl ji。结合之前定义的字母标记,对于第二层的三个神经元的输出则有:
将上述的式子转换为矩阵表达式:
将第二层的前向传播计算过程推广到网络中的任意一层,则:
其中f(.)为激活函数,bl(j)为第l层第j个节点的偏置。
由于深层网络的特殊性,普通的激活函数,例如sigmoid 容易在层与层间传播时有梯度弥散,导致信息丢失,因此这里选择leaky relu 作为激活函数,如图2 所示:
图2 relu激活函数图
基本的模型搭建完成后,训练的时候所做的就是完成模型参数的更新。由于存在多层的网络结构,因此无法直接对中间的隐层利用损失来进行参数更新,但可以利用损失从顶层到底层的反向传播来进行参数的估计。对于网络的最后一层第k层——输出层,现在定义损失函数:
为了极小化损失函数,通过梯度下降来进行推导:
那么则有:
另有,下一层所有结点的输入都与前一层的每个结点输出有关,因此损失函数可以认为是下一层的每个神经元结点输入的函数。那么: 此处定义节点的灵敏度为误差对输入的变化率,即:
注意到上式中表达的是前后两层的灵敏度关系,而对于最后一层,也就是输出层来说,并不存在后续的一层,因此并不满足上式。但输出层的输出是直接和误差联系的,因此可以用损失函数的定义来直接求取偏导数。那么:
至此,损失函数对各参数的梯度为:
2.2 建模并预测
建模使用多层BP 神经网络分类算法,通过随机数来随机生成风速数据,暂定风速区间为0-50m/s,得到不同的风速危险系数,最后将风速、杆塔类型、地形等数据作为分类模型特征,将得到的台风危险系数作为目标值,建立多层神经网络,多层神经网络的中间层输出就是我们得到的特征贡献权重向量,最后我们根据这个特征权重,对响应的地形危险系数,或者杆塔类型危险系数,或者台风风速危险系数做相应的加减,并再次做归一化,最后得到最终的台风危险系数。当然在实际预测中,风速数据来源于气象台的预报,最终得到的台风风险系数经过归一化后是一个0-1 之间的值,我们可以根据需求来定制预警的阈值。