当前位置 : 主页 > 编程语言 > python >

【DBN分类】基于DBN实现变压器故障诊断附matlab代码

来源:互联网 收集:自由互联 发布时间:2022-06-15
1 简介 电力变压器是电网中重要的设备,是电网中交换能量及传输能量的核心,是电力系统安全运行的重要支撑设备。变压器在运行过程中出现任何事故都将会带来经济损失,甚至引发


1 简介

电力变压器是电网中重要的设备,是电网中交换能量及传输能量的核心,是电力系统安全运行的重要支撑设备。变压器在运行过程中出现任何事故都将会带来经济损失,甚至引发严重的社会影响。目前针对变压器的故障诊断技术多采用人工智能算法,虽然人工智能算法的引入很大程度上改善了传统诊断方法的不足,使得故障诊断准确率得到了较大的提升,但仍然存在收敛速度慢、稳定性比较差、学习能力有限、不适用于大量样本训练等一系列问题,因此研究快速准确的变压器故障诊断技术和方法,并对故障进行及时有效的消除,对电网的安全运行具有十分重要的意义。  

随着深度学习的不断发展,与传统机器学习算法相比,深度学习可以发现复杂数据的特征规律,深度信念网络(Deep Belief Network,DBN)作为深度学习的一种,具有良好的的特征提取和分类的能力,随后分析了DBN在变压器故障诊断中的应用,利用大量工程实例样本数据,对DBN进行测试和调优。结果表明,DBN具有更好的故障诊断性能,扩展性更强,完全可以满足实际的工程需要。

2 部分代码

function [dataX,dataY,dataYreal,names] = getData()
%% 读取数据
[data,text] = xlsread('数据.xlsx');
data = data(:,2:end);
%% 无编码比值
eps = 1e-3;
% CH4/H2
dataX(:,1) = data(:,2)./(data(:,1)+eps);
% C2H4/C2H2
dataX(:,2) = data(:,4)./(data(:,5)+eps);
% C2H4/C2H6
dataX(:,3) = data(:,4)./(data(:,3)+eps);
% C2H2/(C1+C2)
dataX(:,4) = data(:,5)./(data(:,2)+data(:,3)+data(:,4)+data(:,5));
% H2/(H2+C1+C2)
dataX(:,5) = data(:,1)./(data(:,1)+data(:,2)+data(:,3)+data(:,4)+data(:,5));
% C2H4/(C1+C2)
dataX(:,6) = data(:,4)./(data(:,2)+data(:,3)+data(:,4)+data(:,5));
% CH4/(C1+C2)
dataX(:,7) = data(:,2)./(data(:,2)+data(:,3)+data(:,4)+data(:,5));
% C2H6/(C1+C2)
dataX(:,8) = data(:,3)./(data(:,2)+data(:,3)+data(:,4)+data(:,5));
% (CH4+C2H4)/(C1+C2)
dataX(:,9) = (data(:,2)+data(:,4))./(data(:,2)+data(:,3)+data(:,4)+data(:,5));
names = {'低能放电','高能放电','局部放电','高温过热','中低温过热','正常'};
label = text(3:end,7);
dataY = zeros(length(label),length(names));
for i = 1:length(label)
[~,dataYreal(i,1)] = ismember(label{i},names);
dataY(i,dataYreal(i)) = 1;
end

3 仿真结果

【DBN分类】基于DBN实现变压器故障诊断附matlab代码_数据

【DBN分类】基于DBN实现变压器故障诊断附matlab代码_深度学习_02

【DBN分类】基于DBN实现变压器故障诊断附matlab代码_数据_03

【DBN分类】基于DBN实现变压器故障诊断附matlab代码_深度学习_04

【DBN分类】基于DBN实现变压器故障诊断附matlab代码_故障诊断_05

【DBN分类】基于DBN实现变压器故障诊断附matlab代码_数据_06

4 参考文献

[1]解鹏飞. 基于深度神经网络的变压器故障诊断研究[D]. 华北电力大学(北京).

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【DBN分类】基于DBN实现变压器故障诊断附matlab代码_故障诊断_07

【DBN分类】基于DBN实现变压器故障诊断附matlab代码_深度学习_08

网友评论