张 弛 王广民 许会博 佘 维 田 钊*
1(郑州大学软件学院 河南 郑州 450001) 2(国网天津市电力公司电力科学研究院 天津 300000) 3(许继电气股份有限公司 河南 许昌 461000)
故障诊断的目的是为了更好地描述故障的相关信息,其中故障的原因是故障诊断的重要目标,只有确定故障原因之后才能根据相应的原因排除相关故障,避免出现更多的经济损失。智能变电站故障诊断的本质就是探索变电站相关设备引发的故障与其原因之间规律性关系的过程[1]。设备的故障与故障原因之间通常会有一定的逻辑关系,因此探寻它们之间的因果相关性对于变电站故障诊断具有积极的意义[2]。当前应用于故障诊断的方法主要有专家系统[3]、粗糙集[4]、模糊集[5]、人工神经网络[6]和Petri网[7]等,这些算法在各个领域都得到了十分广泛的应用。
专家系统在变电站故障诊断中起到了举足轻重的作用,并且也是应用最为成熟的技术之一。文献[8]针对变电站故障问题,采用专家系统对变电站告警信号进行数据建模,建立一种面向对象的知识库模型描述故障之间的联系,实验证明具有良好的诊断效果。虽然该方法具有高水平的推理和决策能力,被研究者广泛使用,但其知识库中的诊断规则仍是以领域技术的专家凭经验确定和调整为主,缺少自适应及自主学习能力[9]。因此,当变电站相关设备出现故障时,使用专家系统结果就可能会产生较大的误差。
支持向量机(SVM)由于具有坚实的统计学理论基础,能够很好地解决高维数据、非线性特征问题[10]。而这些恰恰与智能变电站故障结构复杂、样本有限的特征不谋而合[11],所以适合处理变电站故障诊断问题。文献[12]面对变电站过热故障问题,建立了基于SVM的设备故障识别模型,利用核函数的高维映射功能,从而寻找最优超平面实现对数据样本的分类,通过变电站实例验证了SVM强大的分类功能,达到了较好的分类精度。文献[13]针对无刷直流电机的故障诊断问题,利用PCA从故障特征值中提取敏感特征,然后利用SVM对特征数据进行分类,实现故障的识别与诊断,该方法在六种典型故障中证实了有效性。但是SVM的性能主要取决于它的核函数及其参数[14],一个优化后的核参数有利于模型整体精度的提高,因此选用一个合适的优化算法来优化核函数参数对于变电站故障诊断尤为重要。
帝国竞争算法(ICA)是一种依托于帝国主义殖民竞争机制,通过帝国间的殖民扩张,从而获得优化参数的算法[15]。相比于其他优化算法,该算法的优点主要体现在运算时间短、优化效果好等方面。文献[16]在变压器故障问题中使用ICA对所建立的基于SVM的变压器故障诊断模型进行优化,同时利用交叉验证原理对变压器进行了故障诊断,通过仿真实验验证了其分类准确率优于标准SVM。
主成分分析法(PCA)是一种无监督高维数据降维方法,其通过在降维过程中保留重要的多个分量来实现最大化原数据方差[17],减少了变量的个数,使得结果的解释性更强。文献[18]针对220 V变电站故障问题,将PCA应用于贝叶斯网络,从而简化故障源,并根据变电站运行模式建立相应的贝叶斯网络模型,通过对220 V变电站的实例分析,验证了该方法的可靠性。在变电站故障问题中存在多个影响因素,每一类故障类型和原因对应于一个故障参数,参数之间具有相关性及重叠性,解决变电站故障问题即需要从这些参数中提取出关键数据[19]。
综上所述,本文提出了一种基于PCA和优化参数SVM的智能变电站故障诊断方法。该方法首先利用PCA分析影响因素,从而实现数据降维,然后构建出多分类SVM分类器,并通过ICA进行参数寻优,最后利用优化的SVM分类器对筛选后的样本数据进行训练与测试,测试结果得到了理想的效果。
为了实现对智能变电站故障问题的准确诊断,本文提出了一种基于PCA和优化参数SVM的智能变电站故障诊断模型。首先通过对第三代智能变电站设备故障信息进行筛选,挑选出典型故障样本,将变电站典型故障样本分为训练集和测试集,同时进行PCA的降维处理,在不影响模型整体诊断的基础上,保留尽量多的故障特征。然后根据智能变电站结构复杂的问题,构造了多分类SVM分类器,并选取高斯径向基(RBF)核函数为本文模型的核函数。接着采用ICA对核函数参数进行优化选取,使用训练集对SVM分类器进行训练,生成优化参数后的SVM分类器。模型如图1所示。
图1 故障诊断模型
PCA可以将高维度的数据降到低维度,并保留原始数据中一些最重要的特征,同时去除噪声和部分关联特征,从而提高数据的处理效率,降低时间成本[20]。智能变电站每一条故障数据都可能由多种故障特征同时引起,然而有一些故障特征与其他故障特征有着重复性,如果都用来进行故障诊断,会造成时间成本的增加,而且对模型整体准确率有着一定的影响,所以需要进行降维处理,在不影响整体诊断的基础上,保留一些最重要的故障特征。本文使用PCA对智能变电站故障样本进行降维处理,在PCA应用于智能变电站故障诊断时,一般遵循如下步骤:
假设有m个变电站样本故障数据,每个数据有n个故障特征,组成矩阵Xmn:
步骤1均值化矩阵Xmn,可以得到:
(1)
步骤2根据均值化后的矩阵X,计算出协方差矩阵C:
(2)
步骤3计算出协方差矩阵C的特征值λi和特征向量ωi。
步骤4选取k个最大的特征值对应的特征向量ω1,ω2,…,ωk,按对应特征值大小从上到下按行组成矩阵Wkn,特征值选择方法:
(3)
t越大保留的特征值越多,可以根据变电站故障信息复杂程度进行选择。
步骤5得到降维后的矩阵:
Ykm=WknXmn
(4)
步骤6依次计算所有主成分向量的贡献率,主成分向量对整体变电站故障信息的贡献率yi为:
(5)
计算出所有主成分向量的贡献率与累计贡献率,按贡献率大小从大到小进行排序。为了能够保留更多的故障特征,使得诊断的结果更加准确有效,本文决定最后留下的数据量要达到90%以上。因此,可以根据累计贡献率达到90%的原则,选择智能变电站的最佳故障特征。
SVM的核心目标是针对线性可分问题,通过不断训练,能够找到一个最优分类超平面进行分类,是一个典型的二分类问题。
但是,在实际的应用过程中,大部分的问题都是线性不可分问题,不能用线性可分来解决[21]。智能变电站故障诊断属于线性不可分的多分类问题,标准SVM不足以满足智能变电站的故障问题,因此需要进行非线性变换。
SVM非线性变换有如下步骤:
步骤1求解以下优化问题:
(6)
s.t.yi[ωTφ(xi)+b]≥1-ξi
ξi≥0,i=1,2,…,l
(7)
式中:Φ为一个非线性映射;ω为SVM超平面的法向量;ξi为松弛变量;参数C为惩罚因子;xi为第i个故障样本;b为SVM超平面的偏移量;yi是一个类别标签,取值为{-1,1}。
步骤2构建出拉格朗日函数:
L(ω,b,ξ,α,β)=Φ(ω,ξ)-
(8)
式中:αi、βi为拉格朗日乘子,其中αi>0、βi>0。
步骤3通过拉格朗日函数,可以得到其对偶化形式为:
(9)
(10)
步骤4从而可以得到决策函数为:
(11)
式中:K(x,xi)为核函数,核函数具有处理非线性数据的能力,为了实现SVM的非线性变换,实现智能变电站故障诊断问题的准确诊断,需要选择一个合适的核函数,并用一个合适的优化算法对核函数参数进行优化。
和所有优化算法相同的是,ICA开始也是随机生成一些初始解,通过优化所设置的目标函数来筛选出这些初始解中最优解[22]。
整个ICA优化的过程如下:
步骤1在函数上随机选择一些点,初始化帝国。
步骤2将殖民地移往相关的帝国主义国家(同化)。
步骤3如果帝国中有一个殖民地的成本比帝国主义低,交换殖民地和帝国主义的位置。
步骤4计算所有帝国的总成本(与帝国主义及其殖民地的力量有关)。
步骤5从最弱的帝国中选出最弱的殖民地,并将其给予最有可能拥有他的帝国(帝国主义竞争)。
步骤6消灭软弱的帝国。
步骤7如果只有一个帝国,停止算法,如果没有,转到步骤2。
大量的实验结果表明,使用RBF核函数,SVM的分类效果更好[23],因此本文选取RBF核函数作为本文模型的核函数:
(12)
式中:γ称为模型的关键参数。在SVM的训练过程中,惩罚因子C和核函数γ对模型整体的泛化性能有很大的影响,所以需要调节这两个参数以改善SVM的泛化性能。本文为了应用ICA进行参数优化,将国家成本函数设置为目标函数。在样本量不充足的情况下,为了充分利用数据集对模型进行测试,使模型具有较好的泛化效果,减少因样本量偏少产生的过拟合现象,本文选择k折交叉验证(将数据集随机分为k个包,每次将其中一个包作为测试集,剩下k-1个包作为训练集进行训练)后的平均分类准确率来构建目标函数P(C,γ):
(13)
目标函数P的两个重要参数(C和γ)需要提前设置。目标函数值(目标值)越小,分类精度越好。总而言之,目标函数P的最佳值与ICA中最佳国家的成本相同。当所有的国家都统一到一个最强大的帝国时,这个帝国的总成本将是ICA中最小的值,目标函数同时得到最小值。
在故障分类问题中,基于二叉树的多分类方法相比其他分类方法具有训练时间短、没有不可分区域、需要最少的分类器等优点[24],因此本文研究基于二叉树的多分类支持向量机。
根据第三代智能变电站设备故障信息,选取了变电站的五种故障,即断路器灭弧室爆炸、保护动作断路器拒分、断路器跳闸、操作机构频繁打压、SF6气体压力低故障、故障与故障之间没有必然的因果联系,而断路器跳闸又分为断路器偷跳和控制回路断线故障,操作机构频繁打压分为操作机构油(气)压力低闭锁分合闸故障和液压机构油泵打压超时,所以本文以分层二叉树为基础进行变电站的故障诊断,分类图如图2所示。图中:a代表正常;b代表断路器偷跳;c代表控制回路断线故障;d代表操作机构油(气)压力低闭锁分合闸故障;e代表液压机构油泵打压超时;f代表断路器灭弧室爆炸;g代表保护动作断路器拒分;h代表SF6气体压力低故障。识别步骤如下:
图2 多分类SVM分类器
步骤1选择训练样本中的正常样本标记为1,故障样本标记为-1,利用RBF核函数同时进行ICA参数寻优,生成一层分类器。
步骤2选择故障样本,其中断路器跳闸故障(b,c)标记为1,余下故障标记为-1,利用RBF核函数同时进行ICA参数寻优,生成二层分类器。
步骤3选择断路器跳闸故障样本(b,c),其中断路器偷跳故障标记为1,控制回路断线故障标记为-1,利用RBF核函数同时进行ICA参数寻优,生成第一个三层分类器。
步骤4选择剩下故障样本(d,e,f,g,h),其中操作机构频繁打压故障(d,e)标记为1,剩余故障标记为-1,利用RBF核函数同时进行ICA参数寻优,生成第二个三层分类器。
步骤5选择操作机构频繁打压故障样本(d,e),其中操作机构油(气)压力低闭锁分合闸故障标记为1,液压机构油泵打压超时故障标记为-1,利用RBF核函数同时进行ICA参数寻优,生成第一个四层分类器。
步骤6选择剩余故障样本(f,g,h),其中断路器灭弧室爆炸故障标记为1,其余故障标记为-1,利用RBF核函数同时进行ICA参数寻优,生成第二个四层分类器。
步骤7选择余下故障样本(g,h),其中保护动作断路器拒分故障标记为1,SF6气体压力低故障标记为-1,利用RBF核函数同时进行ICA参数寻优,生成五层分类器。
为了对故障实现准确的诊断,需要对本文所提出的多分类支持向量机模型进行多次训练。通过对第三代智能变电站设备故障信息的筛选,将提取后的数据分为训练集和测试集,选取RBF核函数,并采用ICA对核函数参数进行优化选取,生成优化分类器。整体的操作步骤如下:
步骤1使用PCA对初始样本集进行线性变换,利用变换后的累计贡献率来选择主成分。通过选取的主成分对线性变换后的样本集进行降维处理,得到一组新的样本集。
步骤2集中训练新样本,利用新样本集和参数未知的SVM形成目标函数。
步骤3使用ICA找出目标函数的优化解,确定SVM用于智能变电站故障分类的优化参数,使用优化后的参数建立第一层分类器。
步骤4根据图2中多分类SVM分类器的顺序,将训练集依次分类,根据步骤3中的方法建立全部分类器,形成故障识别的多分类SVM分类器模型。
步骤5将测试样本输入支持向量机模型,计算其预测值。
模型整体流程如图3所示。
图3 故障诊断流程
本文采用第三代智能变电站设备故障数据进行分类测试。通过对数据的筛选与整合,本文选取了8类具有代表性的数据共164组,其中训练样本120组,测试样本44组,各种样本数据的分布如表1所示。
表1 故障数据
所有故障信息的故障特征如表2所示。
表2 故障特征表
对所有故障样本组成的故障特征组进行PCA主成分分析,根据式(5)依次计算所有主成分向量的贡献率,结果见表3,所有的故障特征按照贡献率大小降序排列。
表3 主成分贡献率
本文根据留下的数据量要达到90%以上的原则筛选故障特征。从表3中可以看出,前11个主成分的累计贡献率达到了92.253 9%,因此选择前11个特征作为最佳故障特征。降维后的故障特征与数据类型表如表4所示。
表4 故障特征与数据类型表
使用ICA对模型参数进行优化,参数的设置如下:优化函数的维数设置为2,交叉验证的折数设置为10,国家个数固定为20,初始帝国数设置为6,进化率设置为0.3,同化系数设置为2,同化系数角设置为0.5,参数C和γ在[10-1,102]和[10-2,102]两个固定范围内变化。
图4展现出了所有的帝国在各个迭代阶段的平均代价值与最小代价值。刚开始所有帝国的平均代价值远远高于最小代价值,但是在之后的迭代过程中,最小代价与平均代价之间的差距逐渐缩小,到最后差距已经达到最小,此时的平均代价值基本与最小代价值相等。通过帝国竞争算法优化后的模型参数确定为C=65.19,γ=0.467 3。
图4 ICA参数寻优
利用测试样本对所训练的多分类SVM分类器进行测试,表5为测试数据的故障样本预测情况,未列出的故障全部预测正确。从表5可知,44组测试数据仅有6组测试样本故障诊断结果出错。测试数据样本的故障准确率为86.364%,说明本文方法能够有效地诊断变电站的故障。每个故障对应的准确率与查全率如表6所示,准确率与查全率能够进一步表现出模型的精度与准确率。在智能变电站故障诊断情况下,本文更希望漏掉尽量少的故障,所以此时的查全率比较重要。从表6可知,断路器偷跳(D2)、保护动作断路器拒分(D7)、SF6气体压力低故障(D8)三种故障的查全率为1,说明本文模型更适用于断路器偷跳、保护动作断路器拒分、SF6气体压力低故障三种故障的诊断。
表5 故障预测情况
续表5
表6 准确率与查全率
根据故障与故障特征之间的逻辑关系,验证了本文对智能变电站故障诊断的真实有效性。
(1) 断路器灭弧室爆炸故障逻辑图如图5所示。
图5 断路器灭弧室爆炸故障
根据表7可知,故障12的故障特征为发生主保护动作(A6),相应断路器在分位(A1),故障断路器电流(A2)、电压(A3)显示为零,预测故障为断路器灭弧室爆炸(D6),根据图5的故障逻辑图可知,诊断正确。
表7 故障12诊断过程
(2) 保护动作断路器拒分故障逻辑图如图6所示。
图6 保护动作断路器拒分故障
根据表8可知,故障14的故障特征为发生主保护动作(A6),断路器拒分。拒分断路器在合位(A4),故障断路器电流(A2)、电压(A3)显示为零,预测故障为保护动作断路器拒分(D7),根据图6的故障逻辑图可知,诊断正确。
表8 故障14诊断过程
(3) 断路器跳闸故障逻辑图如图7所示。
图7 断路器跳闸故障
根据表9可知,故障3的故障特征为断路器分位(A1),SF6气体压力低告警(A14)预测故障为断路器偷跳(D2)。
表9 故障3诊断过程
根据表10可知,故障6的故障特征为监控系统发生控制回路断线告警信号(A7),预测故障为控制回路断线故障(D3)。
表10 故障6诊断过程
根据图7的故障逻辑图可知,故障3与故障6诊断正确。并且断路器偷跳与控制回路断线故障两者发生其一,可引起断路器跳闸故障。
(4) 操作机构频繁打压故障逻辑图如图8所示。
图8 操作机构频繁打压故障
根据表11可知,故障9的故障特征为监控系统发出操作机构油(气)压力低告警(A10),闭锁分闸,闭锁合闸,闭锁重合闸(A11),控制回路断线(A7)告警信息,出现压力低闭锁信号(A12),预测故障为操作机构油(气)压力低闭锁分合闸故障(D4)。
表11 故障9诊断过程
根据表12可知,故障10的故障特征为监控系统发出油泵打压超时告警信息(A13),出现压力低闭锁信号(A12),预测故障为液压机构油泵打压超时(D5)。
表12 故障10诊断过程
根据图8的故障逻辑图可知,故障9与故障10诊断正确。并且操作机构油(气)压力低闭锁分合闸故障与液压机构油泵打压超时两者发生其一,可引起操作机构频繁打压故障。
(5) SF6气体压力低故障逻辑图如图9所示。
图9 SF6气体压力低故障
根据表13可知,故障16的故障特征为监控系统发出SF6气体压力低告警(A14),压力低闭锁信号(A12),压力低闭锁同时伴随控制回路断线信号(A7),预测故障为SF6气体压力低故障(D8),根据图9的故障逻辑图可知,诊断正确。
表13 故障16诊断过程
为了验证本文方法的有效性,将在变电站故障诊断应用中比较常见的BP神经网络方法与本文的多分类支持向量机方法相比较。
从表14中展现的数据可知,使用多分类支持向量机进行分类准确率为86.364%,BP神经网络的分类准确率为84.091%,分类准确率能表现出一个模型的精度,说明多分类支持向量机在解决小样本、多维数问题时具有良好的效果。
表14 故障诊断方法比较(%)
为了进一步验证本文分类方法对于变电站故障诊断的有效性,采用多分类支持向量机常用的OVO-SVM与本文方法进行分类对比,由表15中展现的实验数据可知,本文方法在训练样本和测试样本中的准确率都优于OVO-SVM,验证了其在分类上的准确性和有效性。
表15 分类方法比较(%)
提出了一种基于优化参数支持向量机的智能变电站故障诊断方法。利用主成分分析法提取关键特征值,有效地减少了重复变量,降低了数据的复杂性,将降维后的故障数据集在模型中进行训练,通过帝国竞争算法进行参数寻优。实验结果表明:(1) 使用PCA进行降维可以显著减少计算复杂程度;(2) 利用ICA可以进行参数的优化处理,从而对模型整体的准确率有较大的提升;(3) SVM对于小样本、多类故障识别具有很好的效果。