基于IGCSSA-SVM 的变压器故障诊断
2024-02-03张珊珊
张珊珊
(安徽理工大学, 安徽淮南 232001)
0 引言
随着社会的发展,科技的进步,人们对电的需求量越来越大。在电力系统中,变压器作为电能变换和输送的核心装置, 其性能直接影响到整个电网的稳定性加上其超负荷运行更易导致许多不同原因的故障。所以,有必要对变压器的工作状况展开实时监控, 将潜在的问题及时地找出来,从而保证电网的安全。
油浸式变压器已广泛应用于输、 配电网, DGA(dissolved gas analysis)技术逐渐发展为一种重要的故障检测手段,但其同时又存在很大的局限性,因此,在故障诊断中,伴随着人工智能的发展,将DGA 技术与人工智能算法结合的诊断方法,从而提高变压器故障诊断的准确率。SVM(support vector machine)训练效率高且不易陷入局部最优, 在故障分类中常也被使用。 本文选择SVM 与DGA 结合探究变压器故障诊断方法。 由于SVM 核参数和惩罚因子影响支持向量机的判断精度, 有很多学者尝试使用不同的智能化算法优化选取其核参数和惩罚因子。其中比较常用的有麻雀搜索算法(SVM,根据麻雀的捕食和反捕食行为有利于寻找全局最优值对SVM 参数进行优化以提高变压器的故障诊断正确率, 缺点是麻雀种群容易陷入局部最优;灰狼算法(GWO)以其收敛速度快,优化精度高,程序简洁而被应用于优化SVM 参数,提高变压器的故障诊断正确率, 缺点是有局限性; 粒子群算法(PSO) 通过共享信息来寻得最优解, 可以有效地提高性能,被应用于优化SVM 参数,提高变压器的故障诊断正确率,缺点是收敛速度慢,容易陷入局部最优解。
本文提出了利用精英反向学习策略和高斯柯西变异改进后的麻雀算法(IGCSSA)优化SVM 参数,再与SSASVM、GWO-SVM、 PSO 进行对比对比试验,结果表明,经过改进后的麻雀算法优化支持向量机的模型可以更准确地诊断变压器故障。
1 麻雀算法
1.1 麻雀算法
麻雀搜索算法(Sparrow Search Algorithm,SSA)模型的建立受麻雀觅食的启发。 麻雀觅食过程中分为探索者和追随者,探索者由能量储备较高的麻雀担任,在种群里负责寻找食物并为整个麻雀种群提供觅食区域和方向,追随者则是一些能量储备较低的麻雀, 它们或去其他区域寻找食物以提高自己的能量或利用探索者来获取食物,并且它们在整个种群中会一直保持比例不变。 显然,具有较好的适应度值的探索者最优先获取食物并且拥有比追随者更大的觅食搜索范围。 能量越低的追随者在中群里获取食物的位置就越差,所以种群中除了合作之外,还存在着竞争关系。 由于种群边界的麻雀最容易被捕食者威胁, 处于边界的个体会不断迭代自身位置而向中心区域靠拢, 在中间的麻雀也会随机变动以靠近种群里其他麻雀。
(1)初始化种群以及相关参数并计算其适应度值
设麻雀种群X 有n 个麻雀,d 维变量。 麻雀种群适应度值用fx表示,初始化种群的适应度值。
(2)探索者的位置更新
在每次迭代的过程中,探索者的位置更新如下:
式中:t—当前迭代数;α∈(0,1],是随机数;itermax—迭代的最大次数;Q 是一个所有元素都是1 的矩阵;R 为预警值,ST—安全值,取值范围分别为R∈[0,1],ST∈[0.5,1]。 R〈ST表示周围没有危险,探索者可以在范围内搜索;R≥ST 表示麻雀种群中有个体发现了危险, 需要立刻向其他麻雀发出警戒,使麻雀躲避前往安全区域。
(3)追随者的位置更新
种群中追随者位置的更新如下:
(4)预警者的位置更新
种群里预警者的位置更新方法如下:
式中:β—服从正态分布,代指步长因子;K∈[-1,1]为随机数表示麻雀个体改变移动方向;fg—指最优适应度值,fw—最差适应度值; ε—为了让分母不为零的最小常数; ε 是为了让分母不为零的最小常数。fi〉fg时,麻雀种群刚好处在边缘位置且特别容易收到捕食者攻击;fi=fg表示麻雀在感知到危险时通过靠近其他麻雀来减少危险。
1.2 改进的麻雀算法
麻雀搜索算法相比较其他比较常用的且具有代表性的群智能优化算法, 其收敛精度和稳定性方面具有明显的优势。 但仍存在寻优精度较低, 在搜索接近全局最优时,种群的多样性减少,易陷入局部最优等问题。 针对这些问题, 提出精英反向学习策略和柯西高斯变异策略改进麻雀算法。
1.2.1 精英反向学习策略
反向学习(Opposition-based Learning,OBL)是Tizhoosh等学者在2005 年提出的一种算法。 麻雀种群每次迭代过程中都会根据当前个体信息生成反向个体, 然后再对当前个体适应度和反向个体的适应度进行对比, 再分别每次选择它们其中更优的个体作为下一代个体以提高SSA的全局搜索能力[1]。 但是反向学习的缺点也很明显,其每一个个体都要先求其反向解, 对于那些对于当前解适应度优于反向解的个体来说就是增加了搜索时间, 降低搜索效率。 因此,引入精英反向策略,先将当前解构建成一个区域,然后分别求其反向解,若当前解的适应度优于其反向解,则当前解就属于精英个体,这些精英个体组成精英群体, 不停的构建一个新的搜索区域进行搜索直到找到最优解。
式中:k 为精英反向系数;aij(t)=min(xij(t)),abij(t)=max(xij(t)),精英群体区间是[aij,bij]。
1.2.2 柯西高斯变异策略
传统的SSA 算法迭代的后半程, 有着容易陷入局部极值的问题[2]。柯西和高斯变异可以提高算法的优化功能,柯西分布和标准的正态分布类似,都是连续的概率分布,在原点处的值较小,两端较长,逼近零的速率较慢,所以相比于正态分布其能产生更大的扰动。
(1)柯西变异
利用柯西变异对麻雀位置更新中的个体进行扰动,从而扩大麻雀算法的搜索规模, 进而加速麻雀跳出局部最优,向最优解移动,公式如下:
式中:P(t)指麻雀个体本身的位置,PCM(t)指柯西变异后的麻雀个体位置,cauchy(0,1)是标准柯西分布后产生的随机数。
(2)高斯变异
高斯变异可以增强算法的局部搜索能力, 避免陷入局部最优的困境[3]。 公式如下:
式中:PGM(t)指高斯变异后麻雀个体位置,gauss(0,1)是高斯随机数。
1.3 SVM
支持向量机(support vector machines,SVM)是一种二分类模型[4],在分类小样本数据的问题上有着很大的优势,可用来解决分类问题和回归问题。 其优点在于能够克服局部最小值,具有良好的鲁棒性和准确性,能够很好地解决过拟合问题并且泛化能力好[5]。其基本内容是求出可以正确划分训练集数据并寻找最优分类超平面。
核函数表达式为:
由该式可知, 需要调整并选取最优的核函数δ 和惩罚因子C 以提高故障诊断精确度。
2 IGCSSA-SVM 模型构建
2.1 分类
利用变压器故障时, 油中溶解气体成分主要有H2、CH4、C2H6、C2H4、C2H2,其成分和含量变化可以判断变压器故障类型。 本文将变压器的状态分为七种,分别为:低能放电、低温过热、高能放电、高温过热、局部放电、正常和中温过热。
2.2 数据的预处理
为减少样本中变压器发生不同故障时气体含量差异较大引起的误差,对故障数据归一化处理。
2.3 故障特征提取
2.3.1 核方法
在当前的机器学习中, 核方法是一种比较主流的学习方法,它的算法成熟的时间比较长,它是一种较新的机器学习算法。尽管算法整体发展的比较晚,但是由于其独特的优势,以核为基础的数据分析方法,已经被大量地运用到了许多研究领域, 并相继地解决了许多一直以来困扰着我们的实际问题。 Vapnik 等[6]在此基础上,提出了一种以核函数为基础优化支持向量机, 这种算法具有较高的寻优阈值,它能够容许多种不同的相似性度量方式,从而对由支撑向量机构建的分类超平面进行优化。 在此基础上, 其他学者也尝试把核函数的概念应用到其他与支持向量机算法类似的线性学习算法中, 并在此基础上取得了突破性的进展。
2.3.2 主成分分析法
主成分分析法(Principal Component Analysis,PCA)是由美国著名的数理统计学家Hotelling 提出的一种多元数据的特征提取方法[7]。PCA 算法是最典型的一种线性子空间降维,其目的是以最大的方差作为最优解,在进行了一系列的线性转换之后,消除了相关系数,得到了较低的维数,用来消除原始数据的相关性,适用场合十分广阔,可以提高模型预测的准确性。 但是对于特征值分解具有一定的局限性,对于非线性问题不能很好的处理。
2.3.3 核主成分分析法
核主成分分析法(Kernel Principal Component Analysis,KPCA)[8]是对主成分分析法的扩展,在许多以核为基础的学习方法中,其使用非常普遍,也非常成熟。它保持了PCA 算法的线性降维流程, 其是用选择适当的核函数类型,降原始数据映射到高维空间中,当数据从输入空间映射到高维空间后,对原始数据进行PCA 降维[9]。
变压器故障运行时, 绝缘油中产生的气体种类和含量不同,其最初的故障数据具有多样性和混杂性,这些特性不仅会影响到对数据的处理,而且会导致复杂度增加,收敛速度下降等问题,更会降低诊断精度。 将核主成份分析法应用到建立变压器故障诊断模型中,从故障数据中全面地提取有用的信息, 剔除掉那些不必要的干扰信息[10]。可以在保持了故障数据的特性的前提下, 降低数据的维度,以减少过适应问题,提升模型的收敛速度和精确度。
2.4 IGCSSA-SVM模型
为提升SVM 的分类效果,提出采用ISSA 对SVM 参数进行寻优。ISSA 优化SVM 流程图如图1所示。
图1 IGCSSA 优化SVM 的故障诊断流程图
基于IGCSSA-SVM 的模型对变压器故障数据进行诊断的一般流程如下:
(1)收集变压器的故障数据,提取变压器故障数据的特征量作为模型的输入量, 变压器的七种故障类型为输出量。
(2) 将所收集到变压器故障数据分为训练集和测试集。 一般分为7:3 或8:2,本文采用80%的数据用作训练集,20%的数据用作测试集,并对其进行归一化处理以降低误差。
(3)初始化SSA 算法和SVM 算法的参数。
(4)使用训练集训练IGCSSA 模型,寻找其最优参数。
(5)将优化后的最优参数带入SVM 中。
(6) 利用测试集数据对IGCSSA-SVM 模型进行测试并且得出最后结果。
3 变压器故障诊断实例分析
本文收集了337 组故障样本以80%共270 组为训练集,20%共67 组为测试集。将数据集分别放入PSO-SVM、GWO-SVM、SSA-SVM、IGCSSA-SVM 模型并在Matlab 上仿真,各类仿真结果图和混淆矩阵分别如图2 所示。
图2 PSO-SVM、GWO-SVM、SSA-SVM、IGCSSA-SVM故障诊断图
由图2 可得,PSO-SVM、GWO-SVM、SSA-SVM、IGCSSA-SVM 故障诊断率分别为76%、75%、85%、94%。 结果表明,IGCSSA-SVM 模型对变压器的故障诊断具有更高的精确度。
4 结论
本文提出了基于IGCSSA-SVM 算法的变压器故障诊断方法。 通过精英反向学习策略和高斯柯西变异策略对标准的麻雀算法进行优化, 很大程度的改善了其寻优时容易进入局部最优的问题, 建立IGCSSA-SVM 算法故障诊断模型,分别比PSO-SVM 模型对变压器的故障诊断准确率提高了18%, 比GWO-SVM 准确率提高了19%,比SSA-SVM 准确率提高了9%,验证了可行性。