首页 > 编程语言 >基于GRNN广义回归神经网络的飞机引擎剩余使用周期预测算法的研究

基于GRNN广义回归神经网络的飞机引擎剩余使用周期预测算法的研究

时间:2022-11-04 11:13:15浏览次数:86  
标签:518.67 0.03 100.00 算法 神经网络 1.30 2388 100.0 GRNN

目录

一、理论基础

1.1数据分析

1.2特征提取

1.3GRNN

二、核心程序

三、仿真测试结果


作者ID :fpga和matlab
CSDN主页:https://blog.csdn.net/ccsss22?type=blog
擅长技术:
1.无线基带,无线图传,编解码
2.机器视觉,图像处理,三维重建
3.人工智能,深度学习
4.智能控制,智能优化
5.其他

一、理论基础

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~最后一列是传感器的测量值。

数据举例:


1 1 -0.0007 -0.0004 100.0 518.67 641.82 1589.70 1400.60 14.62 21.61 554.36 2388.06 9046.19 1.30 47.47 521.66 2388.02 8138.62 8.4195 0.03 392 2388 100.00 39.06 23.4190
1 2 0.0019 -0.0003 100.0 518.67 642.15 1591.82 1403.14 14.62 21.61 553.75 2388.04 9044.07 1.30 47.49 522.28 2388.07 8131.49 8.4318 0.03 392 2388 100.00 39.00 23.4236
1 3 -0.0043 0.0003 100.0 518.67 642.35 1587.99 1404.20 14.62 21.61 554.26 2388.08 9052.94 1.30 47.27 522.42 2388.03 8133.23 8.4178 0.03 390 2388 100.00 38.95 23.3442
1 4 0.0007 0.0000 100.0 518.67 642.35 1582.79 1401.87 14.62 21.61 554.45 2388.11 9049.48 1.30 47.13 522.86 2388.08 8133.83 8.3682 0.03 392 2388 100.00 38.88 23.3739
1 5 -0.0019 -0.0002 100.0 518.67 642.37 1582.85 1406.22 14.62 21.61 554.00 2388.06 9055.15 1.30 47.28 522.19 2388.04 8133.80 8.4294 0.03 393 2388 100.00 38.90 23.4044
1 6 -0.0043 -0.0001 100.0 518.67 642.10 1584.47 1398.37 14.62 21.61 554.67 2388.02 9049.68 1.30 47.16 521.68 2388.03 8132.85 8.4108 0.03 391 2388 100.00 38.98 23.3669
1 7 0.0010 0.0001 100.0 518.67 642.48 1592.32 1397.77 14.62 21.61 554.34 2388.02 9059.13 1.30 47.36 522.32 2388.03 8132.32 8.3974 0.03 392 2388 100.00 39.10 23.3774
1 8 -0.0034 0.0003 100.0 518.67 642.56 1582.96 1400.97 14.62 21.61 553.85 2388.00 9040.80 1.30 47.24 522.47 2388.03 8131.07 8.4076 0.03 391 2388 100.00 38.97 23.3106
1 9 0.0008 0.0001 100.0 518.67 642.12 1590.98 1394.80 14.62 21.61 553.69 2388.05 9046.46 1.30 47.29 521.79 2388.05 8125.69 8.3728 0.03 392 2388 100.00 39.05 23.4066
1 10 -0.0033 0.0001 100.0 518.67 641.71 1591.24 1400.46 14.62 21.61 553.59 2388.05 9051.70 1.30 47.03 521.79 2388.06 8129.38 8.4286 0.03 393 2388 100.00 38.95 23.4694

1.2特征提取

这里,数据的维度较高,不直接使用数据进行训练,需要从数据矩阵中提取有效的特征数据作为训练特征数据。使用PCA降维算法。这个算法比较常用,主要是将高维的矩阵数据转换为低维度的特征数据。

1.3GRNN

GRNN建立在非参数核回归基础上,以样本数据为后验条件,通过执行诸如Parzen非参数估计,从观测样本里求得自变量和因变量之间的联结概率密度函数之后,直接计算出因变量对自变量的回归值。GRNN不需要设定模型的形式,但是其隐回归单元的核函数中有光滑因子,它们的取值对网络有很大影响,需优化取值。

GRNN论具有良好的函数逼近性能,而且因为其网络训练更为方便,因此,GRNN在信号过程、结构分析、控制决策系统、金融领域、生物工程领域等各个科学和工程领域得到了广泛的应用。

 

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

 

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

二、核心程序


clc;
clear;
close all;
warning off;
addpath 'func\'
%%
%Step1
STR = 1;
Name_Test = ['data\00',num2str(STR),'\','test_FD00',num2str(STR),'.txt'];
Name_RUL = ['data\00',num2str(STR),'\','RUL_FD00',num2str(STR),'.txt'];
%读取数据
Data_Test = load(Name_Test);
Data_RUL = load(Name_RUL);
%%
%Step2
%计算每个机器的时间
%得到机器编号
Mach_No = unique(Data_Test(:,1));
ind = 0;
for i = Mach_No(1):Mach_No(end)
ind = ind+1;
Index = find(Data_Test(:,1) == i);
%平滑预处理
used = [7,8,9,12,13,14,16,17,18];
tmps = Data_Test(Index,used);
[R,C] = size(tmps);
dout = zeros(R,C);
for mm = 1:C
dout(:,mm) = [func_smooth(tmps(:,mm),32)]';
end
Mach_Info{ind} = dout;
end
%%
%Step3
%特征提取
P = [];
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,:)];
end
end
%%
%Step4
%使用神经网络进行训练
load train_net.mat
y = sim(net,P');
%计算预测得到的剩余寿命
for i = 1:length(Mach_No)
if i == 1
L1 = 1;
L2 = length(Mach_Info{i});
else
L1 = L2+1;
L2 = L1+length(Mach_Info{i})-1;
end
L = L2 - L1+1;
RULs(i) = abs(round((sum(y(L1:L2))-(1+L)*L/2)/L));
end
figure;
plot(RULs,'b-o');
hold on
plot(Data_RUL,'r-o');
legend('预测结果','真实结果');
disp('误差为:');
mean(abs(RULs'-Data_RUL))

三、仿真测试结果

 

 A05-21



标签:518.67,0.03,100.00,算法,神经网络,1.30,2388,100.0,GRNN
From: https://www.cnblogs.com/matlabfpga/p/16857063.html

相关文章

  • 基于gamebased算法的动态频谱访问matlab仿真
    目录一、理论基础二、核心程序三、测试结果一、理论基础随着越来越多的新型无线应用,对频谱资源的需求越来越大。在这种情况下,这是举世公认的认知无线电的出现已经成为......
  • 分红包算法
    自己的想法红包生成算法:1,利用随机函数,产生最大,最小红包之间的数。(这样的话,数据之间的落差太大,没有意思)2,使红包能够近似正太分布就符合自然规律些。怎样构造正太分布效果......
  • 实验二:逻辑回归算法实验
    学号:201613305姓名:冯莹【实验目的】理解逻辑回归算法原理,掌握逻辑回归算法框架;理解逻辑回归的sigmoid函数;理解逻辑回归的损失函数;针对特定应用场景及数据,能应用逻辑回归......
  • 算法题--重建二叉树
    6要求时间限制:1秒空间限制:32768K题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输......
  • 数据结构(一):(顺序表)设计算法删除所有数字字符
    好家伙,写作业 什么是顺序表:顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性......
  • KMP算法
    见csdn博主v_JULY_v的详解如下:https://blog.csdn.net/v_JULY_v/article/details/7041827?ops_request_misc=%257B%2522request%255Fid%2522%253A%25221667467393168001806......
  • 内部网关协议RIP及距离向量算法
    ......
  • CART回归树算法
    【题目1】表1为拖欠贷款人员训练样本数据集,使用CART算法基于该表数据构造决策树模型,并使用表2中测试样本集确定剪枝后的最优子树。表1拖欠贷款人员训练样本数据集编......
  • 实验二:逻辑回归算法实验
    |20大数据三班||学号201613334|  【实验目的】1.理解逻辑回归算法原理,掌握逻辑回归算法框架;2.理解逻辑回归的sigmoid函数;3.理解逻辑回归的损失函数;4.针对特定应......
  • 蓄水池抽样算法
    不一次性将数据读入内存,只遍历一次数据即可等概率抽取子集数据,真是神奇。测试例子:0到99一百个数字中随机抽取10个数,每个数被抽到概率1/10;重复1000次抽样,结果统计每个数字......