龙空技术网

基于PSO-SVM算法的电力变压器故障诊断

时间煮酒A 263

前言:

此时看官们对“svm算法matlab程序”大概比较关怀,同学们都需要知道一些“svm算法matlab程序”的相关内容。那么小编在网上网罗了一些对于“svm算法matlab程序””的相关资讯,希望朋友们能喜欢,同学们快快来学习一下吧!

电力变压器是电网传输和转换电能的重要枢纽设备之一,因此保障其安全运行非常重要,为了降低变压站的运维成本,人们不断将各种新技术应用到变压站中。因此变压器的工作状态与整个变电站的运维息息相关,需要进行实时监测。电力变压器结构复杂,安全隐患较多且不易发现,如何快速准确地找出变压器的潜在隐患,建立有效的数学模型,提高变压器故障诊断工作的准确性是现在研究的主要方向。目前最常用的诊断方法就是油中气体溶解法(Dissolved Gases Analysis,DGA),根据变压器油中溶解气体的浓度来进行诊断和预测,该方法虽然在一定程度上检测变压器的故障,但是诊断的准确率不高。

目前,针对变压器故障诊断,将人工智能技术运用到电力变压器的故障诊断,有利于提高处理变压器故障的效率,降低变压器维护成本,延长变压器使用寿命。关于诊断的智能方法,专家学者们提出了不同的观点,如:建立的变压器故障诊断模型,将遗传算法的权重因子以及变异算子引入粒子群算法,实现故障诊断准确率的提高;利用BP神经网络结合差分进化算法进行故障诊断,但神经网络对样本容量的要求较高,通常样本容量越大,神经网络的应用效果越好。对于小样本数据,支持向量机的优势更明显;采用帝国殖民竞争算法优化SVM的变压器故障诊断方法,该方法虽然得到了一定的应用,但计算精度有待进一步提高。

由于变压器故障划分比其他故障分类更细致,导致边界更难以界定,仅通过气体含量和比值难以获得较好的分类效果。为了在更智能的工业有应用价值,故对基础溶解气体分析方法的改进十分重要。本文将粒子群算法和SVM分类算法结合起来进行变压器故障诊断,油中溶解气体数据是非线性且不可分,可利用SVM分类器解决这种多分类问题,但是由于SVM分类效果会随着其中的惩罚因子和核函数的变化而发生改变,因此本文引入粒子群算法优化SVM的参数时分类效果更好,并通过实际的数据进行仿真实验和分析,验证所提的变压器诊断方法的正确性。

1 PSO-SVM算法1.1 SVM原理

图1 最优分类超平面

1.2 粒子群优化算法

粒子群优化算法是通过粒子间的协作和竞争进行复杂空间的寻优,该算法参数较少,收敛速度快,在特定搜索空间种定义粒子数量、初始速度、适应度,粒子在设定空间种搜寻最佳位置,不断迭代寻优找到个体和全局的机制进行位置的更新。粒子群的算法描述如下:

2 PSO-SVM的变压器故障诊断方法

首先需要对采集到的变压器油中溶解气体数据各气体成分进行预处理作为输入,并且划分训练集和测试集,为提高诊断的准确性减小某一特征气体的数据对整体产生影响,需要对样本的输入数据进行归一化处理,具体公式为:

其中 xi 为各个指标的 i 个样本数据,xmax和 xmin 分别为各个指标的最大值和最小值。其次将变压器故障的6种状态进行编码,随后利用测试集分别对传统的SVM以及添加粒子群优化后的SVM进行训练,最后利用测试集判断模型的效果。

采用SVM进行数据分类需要确定两个参数,分别是惩罚因子c和核函数的方差g,由于变压器油中溶解气体数据是不可分的,因此引入高斯核将训练数据映射到高维空间,在高维空间中使数据线性可分。参数c和g对SVM的分类准确率起到重要作用,利用PSO主要是对上述两个参数寻优,进而提高SVM分类的准确率。PSO-SVM的步骤如图2所示。算法具体流程如下:

步骤1 确定粒子群寻优的适应度函数,将测试集的识别率作为适应度函数,采用交叉验证策略,初始化种群和设置粒子群参数,适应度值取平均分类的正确率;

步骤 2 计算每个粒子的适应度值作为当前粒子的个体极值,最大的个体极值作为全局极值;

步骤 3 更新粒子的位置和速度,判断当前状态是否满足结束条件,若满足则寻优结束,若不满足则继续更新粒子位置和速度;

步骤 4更新个体极值和全局极值直达寻优结束,输出当前寻优结果乘法系数c和核函数参数g构成粒子的二维参数寻优空间,从中选取最优解的一组向量输入SVM分类器中,算法终止。

图2 PSO-SVM算法流程图

3 试验分析

为验证本文所提出的PSO-SVM方法的有效性,本文使用的变压器故障数据为文献[7]所提供,通过收集188组电力变压器油中溶解气体含量故障数据进行实验,该数据一共有6种故障状态类型,5种油中溶解气体含量,部分数据如表1所示,为计算方便将故障类型进行编码作标签处理,具体如表2所示。将该数据划分为训练集和测试集,分别用于模型训练和检验模型的分类精度,测试集和训练集的数据各占50%。

表1 变压器故障数据

表2 变压器故障类型编码

在Matlab软件中进行仿真实验,利用训练集数据进行模型训练,在诊断模型中,PSO优化算法中的两个学习因子参数分别设置C1=1.5和C2=1.7,算法的迭代次数为50,粒子数量pop=20,如图3可知,随着迭代次数的增加,适应度也不断变大,在第42次达到最大,此时对应的分类器故障诊断准确率达到86.17%。

图3 PSO-SVM算法迭代寻优过程

为了对比加入粒子群算法的优势,实验分别训练PSO-SVM分类器和SVM分类器,将测试样本经过归一化数据处理过后,分别输入到两种分类器中,所得的分类结果如图4(a)和图4(b)所示,符号“+”为预先设定的标签值,符号“o”为实际的分类结果,从图4中可以看出分类结果和预先设定标签的符合程度,PSO-SVM方法的分类效果更明显、可靠。2种方法的故障诊断结果正确率如表3所示。

图4 故障诊断模型诊断结果(a)

图4 故障诊断模型诊断结果(b)

表3 故障诊断结果对比

综合分析图4和表3可知,利用粒子群算法优化后的SVM模型综合正确率为81.72%,相较于传统的SVM的75.26%的准确率有明显的提高,诊断效果最好的故障类型的高温过热,正常状态的诊断效果最差,出现误诊断的原因可能是样本数据不平衡造成,对于高温过热的故障样本数据最多,因此诊断的效果最好。

4 总结

本文以SVM作为基础分类器,结合粒子群优化算法,提出了基于PSO-SVM的变压器故障诊断模型,解决SVM算法准确度不高,学习能力较弱,不适合多分类的特点。采用实际变压器故障数据进行仿真实验,结果表明,PSO-SVM模型的诊断结果综合正确率高达81.72%,验证了模型的准确性和实用性。

标签: #svm算法matlab程序