基于深度学习的航空发动机剩余寿命预测
背景介绍
近年来,随着微电子技术的进步与发展,传感器愈加智能化、微型化且价格低廉,相关产品在国防军工、机械装备、医疗电子以及环境治理等领域具有广泛的应用。传感器工作过程中能够产生大量的监测数据,工程师如何从数据中提取有用信息来辅助管理人员制定决策信息显得尤为关键。
基于数据驱动的RUL预测方法是大数据时代的产物,吸引了众多学者们的目光。该方法通过信号处理等技术对传感器获取的监测数据进行分析和挖掘,提取出反映系统退化失效的特征,最终实现对设备的RUL预测,具体框架如下图所示:
图1 预测性维护系统的架构
系统框架
本项目利用CMAPSS开源数据集进行训练,通过LSTM模型对传感器采集的数据进行识别,预测出涡轮喷气发动机风扇的剩余寿命(RUL),后续和同学一起成功部署到边缘网关~
数据集介绍
CMAPSS数据集中有四个子集分别是FD001、FD002、FD003、FD004,数据是以文本形式给出,每个子数据集中的大概内容如下: 数据集的地址为:
columns = ['unit_number','time_in_cycles','setting_1','setting_2','TRA','T2','T24','T30','T50','P2','P15','P30','Nf','Nc','epr','Ps3 0','phi','NRf','NRc','BPR','farB','htBleed','Nf_dmd','PCNfR_dmd','W31','W32' ]
其中,unit_number表示发动机编号,范围是0-100;time_in_cycles可以代表时间相关的编号;setting_1,2,3操作设置,TRA,T2 … W32表示传感器采集的结果(21组)。
传感器数据归一化处理:
x1=x−min(x)max(x)−min(x){x^1} = {{x - \min (x)} \over {\max (x) - \min (x)}}x1=max(x)−min(x)x−min(x)
程序算法
长短期记忆(LSTM)网络作为典型的深度学习模型,在机器翻译、时间序列预测等领域得到广泛应用。因此,本文通过构建LSTM网络,实现了基于数据驱动的健康状况评估建模方法和RUL预测方法。
数据预处理:最后得到的数据维度为[100,],具体采用的程序如下:
def _generate_test_from_unit_list(self,num_steps,unit_number_RUL_scaled_list,knee_point_np):test_X_list=[]test_Y_list=[] for i in range(len(unit_number_RUL_scaled_list)):unit_number_i=unit_number_RUL_scaled_list[i]unit_number_i_var=unit_number_i.var(axis=0)good_index_i=unit_number_i_var>-1 unit_number_i_good=unit_number_i[:,good_index_i]knee_point_i=knee_point_np[i,0] unit_number_i_good=unit_number_i_good[0:unit_number_i_good.shape[0],:]test_X_i=[]test_Y_i=[]test_X_i,test_Y_i=self._generate_test_from_one_unit(unit_number_i_good,TIMESTEPS=num_steps)test_Y_i=np.transpose(test_Y_i,[0,2,1])test_X_list.append(test_X_i)test_Y_list.append(test_Y_i)return test_X_list,test_Y_listdef _generate_test_from_one_unit(self,multi_seq,TIMESTEPS=10):X = []Y = []num_blocks=len(multi_seq)//TIMESTEPS for i in range(len(multi_seq)//TIMESTEPS):X.append(multi_seq[len(multi_seq)-(num_blocks-i)*TIMESTEPS:len(multi_seq)-(num_blocks-i-1)*TIMESTEPS,0:multi_seq.shape[1]-1])Y.append([multi_seq[len(multi_seq)-(num_blocks-i)*TIMESTEPS:len(multi_seq)-(num_blocks-i-1)*TIMESTEPS,multi_seq.shape[1]-1]])return np.array(X, dtype=np.float32), np.array(Y, dtype=np.float32)
模型结构:其中input_size表示传感器的通道数量,输入参数的种类;output_size表述为输出参数,具体为预测的剩余寿命(RUL);num_steps表述矩阵维度,需要大于最小长度;max_epoch表示模型训练相关的参数:增加_max_epoch,可以提高准确性,但是设置过大会造成模型过拟合,增加训练成本和带来资源消耗问题等。
def __init__(self, sess,lstm_size=128,num_layers=1,num_steps=10,input_size=21,output_size=1,logs_dir="logs",plots_dir="figures",max_epoch=5):self.sess = sessself.lstm_size = lstm_sizeself.num_layers =num_layersself.num_steps = num_stepsself.input_size=input_sizeself.output_size=output_sizeself.logs_dir = logs_dirself.plots_dir = plots_dirself.max_epoch=max_epochself.build_graph()
结果展示
采用测试集数据对模型的准确性进行验证,具体的结果如下所示:
图2 基于LSTM模型的航空发动机寿命预测结果展示
基于深度学习的航空发动机剩余寿命预测相关推荐
- 文献综述--------山东某地区基于深度学习神经网络的配电网负荷预测研究
摘 要:地区电网负荷预测是供电企业在电网建设.运营过程中一项十分要的基础性的工作.小到一个企业的负荷预测,大到全国性电网的负荷预测研究,它的应用结果都会对适用范围内的企业经营管理.电力设施(电网)的 ...
- 基于深度学习的PM2.5实时预测系统开发
尊敬的读者您好:笔者很高兴自己的文章能被阅读,但原创与编辑均不易,所以转载请必须注明本文出处并附上本文地址超链接以及博主博客地址:https://blog.csdn.net/vensmallzeng. ...
- 基于深度学习的回归预测课程介绍
一.内容介绍 本文以航空发动机从运行到下发过程中的模拟数据集为研究对象,以计算机的模拟计算为主要方式,旨在构建基于深度学习的航空发动机RUL预测模型,结合机器学习技术和背景专业知识,实现智能化预测. ...
- DeepRMethylSite:一种基于深度学习的蛋白质精氨酸甲基化位点预测方法
DeepRMethylSite:一种基于深度学习的蛋白质精氨酸甲基化位点预测方法 https://www.researchgate.net/publication/341890599_DeepRMet ...
- (5)基于深度学习的短时道路交通流预测
交通预见未来 (5)基于深度学习的短时道路交通流预测 1.文章信息 <Short-Term Traffic Flow Prediction with Conv-LSTM>. 这篇文章是一篇 ...
- 【配准】2020年“基于深度学习的医学影像配准”期刊论文速览(PR,TMI,MIA)
针对基于深度学习的医学影像配准,检索了最新的(2020年)期刊论文,包含PR.TMI.MIA3个期刊,下面是浏览论文中的一些记录. 其中有两篇论文提供了代码. 一.PR Deep morphologi ...
- A Deep Learning-Based Remaining Useful Life Prediction Approach for Bearings 基于深度学习的轴承剩余寿命预测
A Deep Learning-Based Remaining Useful Life Prediction Approach for Bearings 基于深度学习的轴承剩余寿命预测 目录 A De ...
- 【原创】推荐广告入门:DeepCTR-Torch,基于深度学习的CTR预测算法库
在计算广告和推荐系统中,CTR预估一直是一个核心问题.无论在工业界还是学术界都是一个热点研究问题,近年来也有若干相关的算法竞赛陆续举办.本文介绍一个使用PyTorch编写的深度学习的点击率预测算法库D ...
- DeepCTR-Torch,基于深度学习的CTR预测算法库
点击率预估问题 点击率预估问题通常形式化描述为给定用户,物料,上下文的情况下,计算用户点击物料的概率即:pCTR = p(click=1|user,item,context). 简单来说,在广告业务中 ...
最新文章
- js技巧--转义符\的妙用(转)
- JavaScript面试的完美指南(开发者视角)
- 第12天--css三种定位及z-index
- c语言可作为程序分支的表达式,[计算机软件及应用]C语言程序设计4--李2012.ppt
- ASP.NET适合做互联网吗,适合做电子商务平台吗?
- Office 2007打开提示The setup controller has encountered
- [UESTC SC T4] Chika 的烦恼
- MyBatis源码本地编译
- 网络邻居计算机访问权限设置,windows7不能访问网上邻居的原因及解决方法
- 照片识别出错_8款文字识别工具,只要拍个照,文字马上可编辑
- 什么是索引,索引的作用,什么时候需要使用索引,什么时候不需要使用索引
- 怎么锁定计算机的ip地址,电脑静态ip地址怎么设置
- 身体健康是第一生产力 --- 我看央视主持人李咏早逝
- 关于实习、校招的科普
- ThinkPad电脑黑屏只显示鼠标
- 云效平台性能测试功能:一个基于Jmeter的性能压测平台
- python基于大数据的boss直聘数据招聘职位分析系统django
- 【Windows】之搭建 Go 语言环境
- 2020 试卷中的生词(05)
- 常见硬件术语手册!绝对权威!(转!)七、显示卡术语解释
热门文章
- 用模板函数与函数指针完成行为参数化
- python之父是哪个国家的品牌_什么?Python4要来了?快来看看Python之父怎么说
- 短视频app源码开发,音视频混合的实现
- java两map取交集_Java Map 求交集 并集 差集
- 第十二届蓝桥杯 2021年省赛真题 (C/C++ 大学B组)
- STM32 深入模拟数字转换器ADC
- 数字孪生技术在电力系统中的应用现状
- http://ask.dcloud.net.cn/question/11695 nativeUI的使用(移动的)
- 宝塔邮件服务器订阅系统,宝塔服务器上搭建邮局系统#使用宝塔邮局管理器搭建私人邮局实现收发邮件功能...
- 上拉电阻下拉电阻总结(在Proteus看到的)