[变压器故障诊断分类及预测】基于Elman神经网络

**课题名称:**基于Elman神经网络的变压器故障诊断分类及预测

**版本日期:**2024-02-10

**运行方式:**直接运行Elman0507.m文件

代码获取方式:私信博主或QQ:491052175

模型描述:

对变压器油中溶解气体进行分析是变压器内部故障诊断的重要手段。我国当前大量应用的是改良三比值法,但利用三比值法作为变压器故障诊断的依据存在两方面的不足,即所谓编码缺损和临界值判据缺损。当前变压器故障诊断系统大多数都是采用BP网络模型,但由于BP网络自身结构的点,在训练样本较大且要求精度较高时,网络常常不收敛且容易陷入局部最优。油中溶解气体分析的方法能很好地反映变压器的潜伏性故障,且在各种诊断方法中以改良三比值法的判断准确率最高,所以选择油中溶解气体含量的三对比值作为神经网络的输入特征向量而输出特征向量则选用变压器的故障类型。概率神经网络结构简单,训练简洁,利用概率神经网络模型的强大的非线性分类能力,将故障样本空间映射到故障模式空间中,可形成一个具有较强容错能力和结构自适应能力的诊断网络系统,从而提高故障诊断的准确率。

算法流程:

1.收集数据:数据中的data.mat是33*4维的矩阵,前三列为改良三比值法数据,第4列为分类输出,也就是故障的类别。使用前23个样本作为PNN训练样本,后10个样本作为测试样本

  1. 创建PNN神经网络:直接使用newpnn()函数创建PNN神经网络

  2. 根据已有故障数据进行训练:PNN神经网络和BP网络不同,不需要训练,直接利用训练数据和spread值创建网络,网络的预测精度与spread值大小有关

  3. 网络效果测试:将测试数据代入到PNN神经网络进行测试

  4. 结果分析:通过对比测试数据中变压器实际故障类型和PNN预测的故障类型来验证PNN神经网络的预测精度

Elman神经网络调用格式:

net=newelm(PR,[S1 S2...SN1],{TF1 TF2...TFN1},BTF,BLF,PF,IPF,OPF)

PR: R 组输入元素的最小值和最大值的设定值,R*2维的矩阵

T:SN*Q2 的具有SN 个元素的输出矩阵

Si:第i 层的长度;TFi 为第i层的传递函数,默认值:隐藏层为tansig,输出层为purelin

BTF: 反向传播神经网络训练函数,默认值:trainlm

BLF: 反向传播神经网络权值/阔值学习函数,默认值:learngdm

PF: PF为性能函数,默认值为mse

IPF: 输入处理函数,默认值: fixunknowns/ removeconstantrows/ mapminmax

OPF: 输出处理函数,默认值:removeconstantrows,mapminmax

改进方向:

标准程序无改进

待改进方向:

1.研究隐含层层数及其他网络参数对于神经网络的影响,采用自适应的方法选取最优参数带入到仿真中。

2.利用智能算法去优化Elman神经网络的权值和阈值,比如GA算法,PSO算法,SA算法,GASA算法等等

特殊说明:

神经网络每一次的预测结果都不相同,为了得到更好的结果,建议多次运行取最佳值

Matlab仿真结果:

基于Elman神经网络的变压器故障诊断的预测精度:

基于GRNN神经网络的变压器故障诊断的测试数据预测和误差:

相关推荐
机器学习之心5 小时前
机器学习用于算法交易(Matlab实现)
算法·机器学习·matlab
曹勖之2 天前
UE 5 和simulink联合仿真,如果先在UE5这一端结束Play,过一段时间以后**Unreal Engine 5** 中会出现显存不足错误
matlab·ue5·机器人
曹勖之2 天前
simulink有无现成模块可以实现将三个分开的输入合并为一个[1*3]的行向量输出?
matlab
机器学习之心2 天前
Transformer-BiGRU多变量时序预测(Matlab完整源码和数据)
深度学习·matlab·transformer·bigru
slandarer3 天前
MATLAB | 绘图复刻(十九)| 轻松拿捏 Nature Communications 绘图
开发语言·matlab
【杨(_> <_)】3 天前
信号处理分析工具——时频分析(一)
算法·matlab·信号处理
曹勖之3 天前
在MATLAB中使用自定义的ROS2消息
开发语言·matlab·机器人·ros·simulink·ros2
我爱C编程3 天前
基于QPSK调制解调+Polar编译码(SCL译码)的matlab性能仿真,并对比BPSK
matlab·qpsk·polar编译码·scl译码
bubiyoushang8884 天前
matlab实现高斯烟羽模型算法
开发语言·算法·matlab
tyatyatya4 天前
MATLAB 中调整超参数的系统性方法
开发语言·matlab