基于AFWA的二次系统故障关联分析参数优化

2022-08-17 08:16王鸣誉
关键词:烟花关联规则

徐 岩, 王鸣誉, 范 文

(新能源电力系统国家重点实验室(华北电力大学),河北 保定 071003)

0 引 言

在智能站中,二次设备的运行状态会影响整个变电站的工作情况。虽然智能站在经济、节能等方面存在优势,但是也存在着二次设备逻辑回路不可视、故障排查难的特点。传统的二次系统故障分析依赖人力,手段简单,在运行人员面对海量数据时,难以做出快速判断,二次设备全部基于标准化的微处理机制造,可以实现信息交互,同时还具备自检能力[1],并通过告警等方式输出异常信号。通常情况下,智能站的二次设备故障记录由调度人员记录在在调度管理系统中,或者由检修人员手动记录在调度管理系统中[2]。

为了提升数据分析的效率,近年来数据挖掘技术在电力系统数据分析方面应用越来越广泛,文献[3]利用Apriori算法结合聚类算法实现用户侧负荷分解;文献[4]利用FP-growth算法实现电力设备故障预判。以上传统FIM(Frequent Itemsets Mining)算法虽然简单有效,但是仍然存在需要多次扫描数据库造成处理速度较慢的特点。

在二次故障方面,文献[5]利用H-mine算法实现对二次故障数据的分析,该算法在数据稀疏时,运行效率要高于传统FIM算法。文献[6]利用改进Apriori实现二次设备缺陷部位、原因的分析,该算法与传统Apriori相比,运行速度有显著提升,同时可以直观有效的分析缺陷数据。文献[7]利用一种只用扫描一次数据库的FIM算法来处理配网薄弱点分析,以上方法虽然与传统FIM算法相比有一定的改善,但是在关键参数的选择上面,只能依靠分析人员的经验,并没有给出很好的解决办法,同时与传统关联分析一样,缺乏有效的规则筛选办法,导致生成的无用规则过多,分析结果可阅读性较差,分析时过于依赖人力。

针对上述问题,本文使用ITL-mine(ItemTransLink-mine)算法[8],实现对频繁项集的快速挖掘,同时结合自适应烟花算法[9-13],优化关键参数的选择,最后利用关联规则冗余淘汰机制选出质量最高的关联规则,从而简化分析过程,减少对人力的依赖。同时方便维护人员记录,为二次设备高效管控和运维提供有价值信息。

1 二次设备故障数据库模型

1.1 二次设备故障数据

运维人员通常会在日常工作时,在调度日志中记录下发现日期、变电站名称、设备名称、告警信号、故障原因等信息,这些信息可以从生产管理系统或者在站端的缺陷记录中获得[14]。

变电站站端的信息更加完整,有利于挖掘设备故障和告警信号之间的信息,因此本文的数据来源来自某地区智能站的站端故障记录。

通常记录的数据可以分为如表1几种类别,不同类别之间设置不同的编码以便于识别,见表1。

表1 数据表

数据库中的变电站名称包括某地区6座智能变电站。生产厂家则是这些变电站中二次设备的实际生产厂家。

设备类型总共包括10多种设备,主要包括:通信链路、五防机、交换机、保护装置、故障录波器等。

故障原因包括:“程序出错”、“配置出错”、“电源故障”、“光纤故障”等。处理情况则是发生故障后的解决方法。

其中,可以利用FIM算法,寻找数据背后的一些特征,例如:可以通过数据挖掘,找出同一个智能站内的各设备发生故障的概率、设备不同部位发生故障的概率。

也可以寻找不同数据之间的数学关系,利用关联规则的形式找寻在一种事务发生的情况下,另一种事务发生的概率。

1.2 数据准备

在进行挖掘之前首先设置日期,将同一发生时间下不同类型的信息整理成如下元组形式:

D=(a,b,c,d)

(1)

式中:D是元组名称代表故障编号,a,b,c表示不同的告警信号,d表示故障元件。故障数据在分析前要整理成公式1的形式,以便后续挖掘告警信号与故障元件之间的关系。

本文的重点是找到某些数据之间存在的“if-then”的关联关系;以便直观的得到数据之间的联系。

在分析故障时,通过挖掘数据之间的关系,找到它们之间的关联规则,得到在告警信号发生的情况下,故障原因为某种特定原因的概率。

本文的研究的重点是利用优化算法优化生成的关联规则,提高关联规则的质量、减少冗余规则,从而找出对检修人员有用的信息。

2 烟花算法

2.1 传统烟花算法

烟花算法目前在多个领域都得到了应用,其中文献[15]利用烟花算法计算莱文斯坦距离相似度实现虚端子的连接,文献[16]利用烟花算法结合混沌爆炸改进,实现多能源系统并网优化调度。文献[17]利用柯西变异结合传统烟花算法,实现移动式储能的削峰填谷。

烟花算法在不仅全局搜索能力较好、适应度值在分配资源、信息交流时,可以平衡搜索能力,兼顾局部和总体,适合用来优化多目标问题。同时爆炸机制可以提高算法精度和速度。

烟花爆炸产生的火花数目以及爆炸半径的计算公式如下:

(2)

(3)

式中:fmin以及fmax分别是最小、最大适度值。

A和M是常数,ε是常量。

为限制火花数量,需要对火花进行数量限制,其中上限为Smax、下限为Smin。

随机选择烟花的z个维度进行位移,公式如下:

(4)

rand(0,Ai)为(0,Ai)范围内的随机数。

烟花算法除了爆炸火花外,为了提高火花多样性,还有高斯变异算子求出的变异火花:

(5)

除此之外,需要将超出可行域的火花重新映射到新的位置:

(6)

2.2 EFWA算法

传统烟花算法存在如下问题[18-20]:

(1) 高斯火花的位置倾向于原点,这就导致在最优解远离原点时,产生的火花会更加原理最优解。

(2) 很多情况下,超出解空间范围的火花超出的幅度并不大,这会导致映射过来的新火花分布在原点位置。

为了避免适应度低的烟花爆炸半径过小,EFWA(Enhanced Fireworks Algorithm)算法规定了爆炸半径最小值,Aik

Aik=Amin,k

(7)

其他情况下爆炸幅度不变。

爆炸半径最小值使用如下公式选择:

(8)

evalsmax是评估次数的最大值,Ainit是爆炸半径的起始检测值,Afinal是爆炸半径的最终检测值。

同时为了避免传统烟花算法中高斯变异会导致在原点附近产生过多火花,增强烟花算法的变异操作是:在当前解和当前最优解之间进行变异。

xik=xik+(xBk-xik)×e

(9)

e为均值等于0,方差等于1的随机变量,xik是当前解,xBk为当前种群中的最优解。

同时映射规则改为

xik=xlb,k+U(0,1)·(xub,k-xlb,k)

(10)

xub,k为上限,xlb,k为下限。

选择下一代烟花时,增强烟花算法使用ERP选择方法:先选择一个适应度值较低的个体,再随机选择若干烟花作为下一代烟花。

2.3 自适应烟花算法

除了上述缺点,传统烟花算法以及EFWA中,最优烟花不爆炸,这意味着最优烟花对收敛过程的贡献有限,但是由于它生成的个体数量最多,因此它有利于促进算法的收敛性。

AFWA(Adaptive Fireworks Algorithm)算法利用已经生成的火花求取最优烟花爆炸半径,利用父代求取最优烟花在子代中的爆炸半径。

首先需要选择一个个体,利用它和最优烟花之间的距离作为下一代爆炸半径,选择的条件如下:

(1) 适应度比上一代差;

(2) 到最优个体的距离是所有满足1条件中的个体中最小的,即满足如下公式:

(11)

同时满足:

f(si)>f(X)

(12)

si为烟花生成的个体;s*为当前种族中具有最小适应值的个体;d为距离函数,本文采用无穷范数作为距离度量;X表示烟花。

最优烟花的爆炸半径如下:

(13)

3 关联分析算法

3.1 关联规则关键指标参数

通常情况下,评价规则好坏的量度主要有:支持度、置信度:

(14)

(15)

其中,D为总数据个数,Sup(BA)为同时包含B和A的数据个数,Sup(A)为A出现的次数。

传统关联规则中并没有引入其他指标来排除相关性差、独立性差的关联规则,导致可能会产生大量无意义的关联规则甚至含有误导性的关联规则,为了解决这个问题,传统的筛选指标有:

(1)CF(Certainty Factor)值

若Conf(A→B)>Sup(B):

(16)

反之,则:

(17)

CF为正数时,说明前后件具有正相关关系,CF为负数时,说明二者为负相关关系,同时CF越接近1,规则的置信度越高。

(2)提升度Lift

(18)

提升度这个指标反映了两个变量的相关度,通常认为提升度越高,二者正相关关系越明显,以1为界,提升度为1时,二者并无相关性。

(3)规则中的项目数量N以及规则的总数Num

N(A→B)=A+B

(19)

A和B代表前后件的数量。

通常情况下,关联规则前后件的总数越少,则越方便理解,同时规则总数也可以体现分析结果的复杂程度,规则数较少时,分析人员容易提取有用的结论。

上述指标只针对单独的关联规则,本文的主要优化目标是针对关联分析算法产生的全部关联规则,因此在考虑上述指标时,需要求取所有规则的平均值。

除此之外,为了防止规则太少导致覆盖率下降,本文还设置了数据覆盖率这个指标,它指的是规则覆盖的数据占比,该指标越大,得到的信息越丰富。计算公式如下:

(20)

式中:suffixi为生成的规则的后件,也就是故障原因;N为数据集中故障原因的总数。

本文设置的需要优化的参数为:最小支持度、最小置信度、最小提升度三种指标,在挖掘规则时应当删除不满足这三种指标的结果,本文中的烟花便是由这三种参数组成,通常情况下,这三种参数由分析人员自行根据数据集确定,但是这个过程中需要耗费人力,同时如果指标设置过小,将导致结果中含有大量无意义的数据,而如果三种指标过大,结果将难以覆盖全部数据。因此本文设置的优化目标为:保证较大的数据覆盖率的情况下,尽量使所有的关联规则有较好的提升度和CF值,所要优化的目标函数如下:

f(x1)=-(K1*CoverRate+K2*(Liftave+CFave))

(21)

式中:K1和K2是数据覆盖率和提升度与CF值之和的权重。

特别地,提升度的取值通常大于1,而数据覆盖率和CF值的取值通常小于1,因此在求取适应度之前需要将其标准化:

(22)

3.2 ITL关联分析算法

传统关联分析算法主要包括Apriori、FP-growth等,这些算法大都存在多次扫描数据库导致效率较低的问题,文献[5]利用H-mine算法实现故障数据分析,本文提出了一种ITL-mine算法,在H-mine的基础上结合水平和垂直数据结构,实现了挖掘效率的进一步提高。项目表中包括项目名称和它们的支持数,并且与事务链接中项目第一次出现时的位置链接在一起,事务链接则是把所有事务中包含的每个项目从第一次出现到最后一次出现用链接串联起来,以便快速计数。ITL结构不仅建立了每个项目之间的垂直链接,还可以跳过一些事务集,直接对各个项目进行扫描,因此具备不错的灵活性。

ITL-mine算法分为如下步骤:

(1) 构造项目表和事务链接。

(2) 删除项目表中支持度低于指标的项。

(3) 利用链接挖掘频繁项集。

具体的案例如表2。

表2 事务集表

表2是全部事务集,设支持度数阈值为2。首先扫描一次数据集,构造项目表和事务链接。形式见图1。

图1 事务链接图

在项目表中记录项目出现的次数,同时建立事务链接,将小于支持度阈值的项目从项目表和事务链接中删除,修剪之后的事务链接如图1所示。

频繁项集挖掘过程如下:

以A为例,通过指向A的链接指针得到所有与A一同出现的项目,形成一个队列,记录在一个临时的表中,见表2,包含支持度计数,对于A项,与A一同出现的频繁项有BCD,生成此步骤时,可以得到二项集:AB(2)、AC(3)、AD(2)。再通过将A项为首项构成的队列与其他元素为首项的队列求交集来获得多项集,如A可以与B的队列求交集得出以A、B为首项的队列,从而求出三项集,接下来再将以A、B为首项的队列与其他队列求交集,直到无法找到新的频繁项集为止。所有结果见表3。

表3 频繁项集表

得到频繁项集后,下一步则是根据结果生成规则,例如三项集ABC,可以通过求AB→C的置信度、提升度来判断该规则是否符合要求。

整个关联分析参数优化过程的输入量与输出量如下:

本文基于AFWA算法的关联分析优化的输入量为数据集和需要优化的支持度、置信度、提升度三种指标的变化范围以及AFWA算法的基本运行参数。

输出量为当前最优的三种指标参数和它对应的适应度值以及对应的数据覆盖率、平均提升度、以及平均CF值,以及所有满足最优参数的规则。

AFWA算法优化关联分析关键参数的流程图如图2。

图2 AFWA流程图

3.3 关联规则筛选策略

通常情况下,告警信号一般都会伴随衍生告警信号,这会导致生成的关联规则项目过多,从而影响可理解性,例如:频繁项集{ABCD}可以生成ABC→D,AC→D,AB→D,为了减少规则的冗余,本文设置了相似度指标用来淘汰多余的规则:

(23)

式中:S(ARi,ARj)是规则ARi,ARj中同时出现的事务数;S(ARi)是ARi的总事务数;Simi[i,j]是指规则i相对于j的相似度。

本文设置的相似度主要指的是前件的相似度:

(24)

同理还可以得到j相对于i的相似度。当某两种规则的后件相同,前件相似度大于指标时,过滤掉规则中项目数量较多的规则。

4 数据分析

实验数据取自某地区过去几年的故障站端记录,为了验证本文提出的方法的优越性,本文不仅对比了ITL-mine算法与其他FIM算法的速度,同时还对比了AFWA与传统烟花算法(Fireworks Algorithm)、标准粒子群算法(Standard Particle Swarm Optimization)在关联分析中的参数优化效果,以证明本文提出方法的优越性。

首先本文设置了几组数据,并且利用传统Apriori、H-mine算法与ITL-mine进行对比,对不同支持度下的数据进行处理,对比它们的运行时间,如图3。

图3 算法性能对比图

可见ITL-mine算法的性能要优于Apriori、H-mine,原因如下:1.该算法只遍历数据库一次,并使用ITL执行其余的挖掘过程。2.构造ITL数据结构以去除不频繁的1项集后,在挖掘所有频繁模式时保持不变。而在H-Mine中,在频繁模式的提取过程中,H-struct中的指针需要不断地重新调整,因此需要额外的计算过程。3.H-Mine中的递归调用还涉及对H-struct相关部分的重复遍历。而ITL-Mine通过使用利用队列求交集避免了这些重复的部分。

本文适应度函数的权重设置为K1=0.8,K2=0.2。三种优化算法的具体运行参数设置如表4。

表4 参数表

为了使对比过程更加科学,本文设置的种群大小均为8次,迭代次数均为300次,并且重复做了10次十折交叉验证,三种算法的对比如表5。

表5 算法对比表

三种算法在优化参数过程中适应度的平均排名为:AFWA为1.3,FWA为2.6,SPSO为2.1,可以发现AFWA算法较其他两种优化算法相比搜索到的适应度最小,因此参数优化效果更好。AFWA算法产生的规则质量更高。不仅可以保证覆盖全部数据,同时还有较高的提升度和CF值。

除了对关联分析参数的优化之外,还需要对产生的规则进行筛选,保留项数较少的规则,以提高可理解性。本文设置的相似度指标为0.6。

本文将故障原因作为后件,将告警信号作为前件,以便于分析两者之间的关系,本文只排除在后件相同的情况下,前件存在冗余的规则。筛选前的部分规则如表6。

表6 筛选前规则

经过关联规则筛选处理后,上述规则将只保留化简后的形式,使规则的平均项数减少,过滤掉部分衍生信号。这样不仅提高了规则的参考价值,同时可理解性也得到了提高,见表7。

表7 筛选后规则

为了说明本文所提出的方法的优越性,本文通过对比传统关联分析来对比两种方法的差别。

本文设置了平均相似度来说明该方法相比于传统关联分析的先进性,其定义为:所有规则之间的相似度的平均值。计算公式如下:

(25)

由于传统关联分析算法大多原理相似,因此本文选择基础的Apriori作为对比算法,该算法只存在支持度、置信度的概念,本文将两者调整为与AFWA的优化结果一致,见表8。

表8 结果对比

Aprior总共生成规则426条,并且平均规则长度较长,同时提升度较低,CF值也较低,这说明规则前后件之间的相关性并不明显,同时包括大量的无用规则,需要人力筛选。

本文提出的AFWA-ITL-mine关联规则优化方法,生成规则数为285,不仅总数小于传统方法,同时质量更高,提升度、CF值指标更好,并且引入的规则筛选策略在一定程度上减少了规则长度,提高了可理解性,便于检修人员理解。

5 结 论

文中利用AFWA算法对关联分析中的支持度、置信度以及提升度指标进行优化,并且利用数据覆盖率、所有结果的平均提升度和CF值的加权组合作为目标函数,经过与传统烟花算法、SPSO算法对比分析,该算法可以得到更好的适应度值,可以较为精确的计算出要优化的三种参数,同时利用ITL-mine算法挖掘频繁项集,该算法与Apriori、h-mine算法相比减少了扫描次数,同时,利用ItemTransLink的数据结构,结合了水平和垂直数据结构,利用队列交集求取频繁项集,比传统关联分析速度更快,规则挖掘完毕之后,利用关联规则筛选策略,对相似度过高的策略进行删减,只保留项数较少、可理解性更好的规则。经过验证,本文所提的方法无需人工设置支持度、置信度、提升度等参数,并且经过优化的关联规则不仅质量更高,同时项数较少,在一定程度上减少了冗余,便于检修人员理解。

猜你喜欢
烟花关联规则
撑竿跳规则的制定
不惧于新,不困于形——一道函数“关联”题的剖析与拓展
数独的规则和演变
放烟花
“一带一路”递进,关联民生更紧
奇趣搭配
让规则不规则
智趣
TPP反腐败规则对我国的启示