m基于GRNN广义回归神经网络的飞机发动机剩余寿命预测matlab仿真,训练集采用C-MAPSS数据集

简介: m基于GRNN广义回归神经网络的飞机发动机剩余寿命预测matlab仿真,训练集采用C-MAPSS数据集

1.算法描述

   GRNN建立在非参数核回归基础上,以样本数据为后验条件,通过执行诸如Parzen非参数估计,从观测样本里求得自变量和因变量之间的联结概率密度函数之后,直接计算出因变量对自变量的回归值。GRNN不需要设定模型的形式,但是其隐回归单元的核函数中有光滑因子,它们的取对网络有很大影响,需优化取值。GRNNb论具有良好的函数逼近性能,而且因为其网络训练更为方便,因此,GRNN在信号过程、结构分析、控制决策系统、金融领域、生物工程领域等各个科学和工程领域得到了广泛的应用。

    广义回归神经网络的理论基础是非线性核回归分析,非独立变量y相对于独立变量x的回归分析实际上是计算具有最大概率值的y。设随机变量x和y的联合概率密度函数为f (x ,y),已知x的观测值为X,则y相对于X的回归,即条件均值为:

image.png

对于未知的概率密度函数f (x, y),可由x和y的观测样本经非参数估计得:
image.png
image.png

   GRNN通常被用来进行函数逼近。它具有一个径向基隐含层和一个特殊的线性层。第一层和第二层的神经元数目都与输入的样本向量对的数目相等。GRNN结构如图所示,整个网络包括四层神经元:输入层、模式层、求和层与输出层。 

image.png

   输入层的神经元数目与学习样本中输入向量的维数m相等,每个神经元都是一个简单的分布单元,这些神经元直接将输入变量传递到隐含层中。 

   C-MAPSS Data Set里面有一个read me 的 txt文件。training 是给建模用的。 test 和 rul 是给 建模后验证用的。 每个 test 里面都有100组情况  对应的 rul里面有 100个数值。 rul 里面的数值就是真实值。 建模之后 跑test的数据 应该 给出接近rul的数值

1.1数据分析

1) unit number

2) time, in cycles

3) operational setting 1

4) operational setting 2

5) operational setting 3

6) sensor measurement 1

7) sensor measurement 2

...

26) sensor measurement 26

数据第一列是机器的编号,第二列是每个机器的运行的时间序列标号,3~5是对应的设置,6~最后一列是传感器的测量值。

2.仿真效果预览
matlab2022a仿真结果如下:

image.png
image.png

3.MATLAB核心程序

%Step1
STR        = 1;%选择数据标号1,2,3,4
Name_Train = ['data\00',num2str(STR),'\','train_FD00',num2str(STR),'.txt'];
Name_RUL   = ['data\00',num2str(STR),'\','RUL_FD00',num2str(STR),'.txt'];
%读取数据
Data_Train = load(Name_Train);
Data_RUL   = load(Name_RUL); 
 
%%
%Step2
%计算每个机器的时间
%得到机器编号
Mach_No = unique(Data_Train(:,1));
for i = 1:length(Mach_No)
    Index        = find(Data_Train(:,1) == i);  
    %平滑预处理
    used         = [7,8,9,12,13,14,16,17,18];
    tmps         = Data_Train(Index,used);
    [R,C]        = size(tmps);
    dout         = zeros(R,C);
    for mm = 1:C
        dout(:,mm) = [func_smooth(tmps(:,mm),32)]'; 
    end
    Mach_Info{i} = dout; 
    RUL_Train(i) = length(Index);  
end
figure;    
subplot(121);
plot(Data_Train(find(Data_Train(:,1) == 1),7));
title('信号预处理之前');
subplot(122);
plot(Mach_Info{1}(:,1));
title('信号预处理之后');
%%
%Step3
%特征提取
P = [];
T = [];
for i = 1:length(Mach_No)
    tmps = Mach_Info{i};
    %提取当前矩阵的特征
    Y  = func_pca(tmps',1);
    Y  = Y';
    for j = 1:length(Y)
        P = [P;Mach_Info{i}(j,1:6),Y(j,:)];
        T = [T;(RUL_Train(i)-j)];
    end
end
%%
%Step4
%使用神经网络进行训练
%%归一化处理
%对pt矩阵进行归一化处理                
%GRNN网络训练
net = newgrnn(P',T',5.1);
save train_net.mat net
相关文章
|
1天前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
102 80
|
1天前
|
监控 算法 数据安全/隐私保护
基于扩频解扩+turbo译码的64QAM图传通信系统matlab误码率仿真,扩频参数可设置
该通信系统基于MATLAB 2022a仿真,适用于高要求的图像传输场景(如无人机、视频监控等),采用64QAM调制解调、扩频技术和Turbo译码提高抗干扰能力。发射端包括图像源、64QAM调制器、扩频器等;接收端则有解扩器、64QAM解调器和Turbo译码器等。核心程序实现图像传输的编码、调制、信道传输及解码,确保图像质量和传输可靠性。
26 16
|
1天前
|
机器学习/深度学习 人工智能 算法
基于GRNN广义回归网络和MFCC的语音情绪识别matlab仿真,对比SVM和KNN
该语音情绪识别算法基于MATLAB 2022a开发,可识别如悲伤等情绪,置信度高达0.9559。核心程序含中文注释及操作视频。算法采用MFCC特征提取与GRNN广义回归网络,通过预加重、分帧、加窗、FFT、梅尔滤波器组、对数运算和DCT等步骤处理语音信号,实现高效的情绪分类。
|
4月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
226 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
4月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
141 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
4月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
111 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
7月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
7月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
7月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)

热门文章

最新文章