基于Deep AR模型的轴承RUL预测

  • Deep AR模型
    • 1.直接将特征输入到Deep AR模型进行RUL预测
    • 2.将Deep AR应用于HI的后处理
    • 总结

Deep AR模型

最早接触DeepAR模型是2020年在简书看到的一篇大佬的博客:https://www.jianshu.com/p/8a900b9ad3d3
这位大佬非常详细的讲解了Deep AR的代码实战操作。受大佬的启发,并结合在github上面的搜集的资料,最终本人完成了对Deep AR的探究,并且成功应用于PHM 2012轴承的RUL( ps:不要问我文章在哪,我没写也没投。主要是Deep AR有较大的局限性,同时我有其他的研究方向)。后续我会一一道来。
模型代码:
在大佬的csdn也有:https://blog.csdn.net/weixin_45073190/article/details/1049515041

我这里就只添加一个GaussianLoss,因为大佬的是log_gaussian_loss,有想练练手的可以尝试这两种损失函数

import tensorflow as tf
from tensorflow.keras.layers import (Input, LSTM, LSTMCell)class DeepAR(tf.keras.layers.Layer):"""DeepAR 模型"""def __init__(self, lstm_units):super().__init__()self.lstm_units = lstm_units# 可以使用多层LSTMself.lstm_1 = tf.keras.layers.LSTM(self.lstm_units,return_sequences=True )self.lstm_2 = tf.keras.layers.LSTM(self.lstm_units,return_sequences=False)self.dense_mu = tf.keras.layers.Dense(1,activation='sigmoid')self.dense_sigma = tf.keras.layers.Dense(1,activation="softplus")def call(self, inputs, initial_state=None):outputs = self.lstm_1(inputs)outputs = self.lstm_2(outputs)mu = self.dense_mu(outputs)sigma = self.dense_sigma(outputs)return [mu, sigma]class GaussianLoss(object):def __init__(self):passdef __call__(self, y_true, y_pred, sigma):return tf.reduce_mean(0.5 * tf.math.log(sigma) +0.5 * tf.math.divide(tf.math.square(y_true-y_pred),sigma))+1e-6+6

模型打印:

Model: "model_5"
_________________________________________________________________
Layer (type)                 Output Shape              Param #
=================================================================
input_6 (InputLayer)         [(None, 36, 128)]         0
_________________________________________________________________
deep_ar_5 (DeepAR)           [(None, 1), (None, 1)]    11426
=================================================================
Total params: 11,426
Trainable params: 11,426
Non-trainable params: 0
_________________________________________________________________

1.直接将特征输入到Deep AR模型进行RUL预测

训练集:

整体的训练效果一般,并且难以充分训练。再来看看测试集轴承,(测试是full,不是截断的):
轴承1-3

轴承1-4

轴承1-5

轴承1-6


轴承1-7

2.将Deep AR应用于HI的后处理

首先通过一个神经网络模型得到每个轴承的健康指标HI,然后采用Deep AR对测试集(截断的数据)健康指标进行预测
轴承1-3

轴承1-6

总结

总体上来讲,Deep AR可能对数据量有一定的要求,另外,其运行过程的损失函数不稳定,波动很大,不像常规的loss保持下降趋势。


  1. 时间序列预测方法之 DeepAR ↩︎

flag兑现:这次聊一聊Deep AR 模型用于PHM2012工况1轴承数据集的RUL预测相关推荐

  1. 基于时间序列AR模型的PHM预测

    基于时间序列AR模型的PHM预测 由于时间序列分析方法是一个小样本理论,应用起来方便简单,符合实际工程中样本数量较小的情况的需求. 在工程领域,自回归(AR)模型比滑动平均(MA)模型和自回归滑动平均 ...

  2. 现代信号处理——AR模型谱估计

    AR谱估计方法可归结为求解AR模型系数或线性预测器系数的问题. AR模型参数估计方法:信号预测误差最小原则(或预测误差功率最小) 自相关法(Levison递推法) Burg法 协方差法 修正协方差法( ...

  3. matlab pburg,现代数字信号处理——AR模型

    1. AR模型概念观 AR模型是一种线性预测,即已知N个数据,可由模型推出第N点前面或后面的数据(设推出P点),所以其本质类似于插值,其目的都是为了增加有效数据,只是AR模型是由N点递推,而插值是由两 ...

  4. AR模型在信号处理中的应用

    本文目标:分析AR模型并求解AR模型的输出x(n)的功率谱. 1. AR模型概念观 数字信号处理功率谱估计方法分经典功率谱估计和现代功率谱估计,现代功率谱估计以参数模型功率谱估计为代表,参数功率谱模型 ...

  5. 知乎热议的Deep Peak2模型究竟是什么?答案都在这里

    作为人工智能中被广泛热议的语音识别技术,此前每每提起常与Siri.Cortana等划等号的境况如今已有改变.近几年,中国处在人工智能高速成长阶段,语音识别技术取得了一系列突破性的进展.国内各大科技巨头 ...

  6. r语言adf检验结果怎么看_从AR模型到VAR模型——R语言实现

    一.自回归模型(AR模型) 1.1 概念 自回归模型(英语:Autoregressive model,简称AR模型),是统计上一种处理时间序列的方法,用同一变量例如的之前各期,亦即至来预测本期的表现, ...

  7. 图像形状特征(六)--AR模型形状描述子

    1. 自回归模型的定义 自回归模型(Autoregressive Model)是用自身做回归变量的过程,即利用前期若干时刻的随机变量的线性组合来描述以后某时刻随机变量的线性回归模型[1],它是时间序列 ...

  8. 【推荐系统】:Deep Crossing模型解析以及代码实现

    Deep Crossing模型是由微软提出,在微软的搜索引擎bing的搜索广告场景当中,用户除了会返回相关的结果,还会返回相应的广告,因此尽可能的增加广告的点击率,是微软所考虑的重中之重. 因此才设计 ...

  9. burg算法matlab求功率谱,基于AR模型的Burg算法功率谱估计.doc

    基于AR模型的Burg算法功率谱估计 三种功率谱估计方法性能研究 1.前言: 我们已经知道一个随机信号本身的傅里叶变换并不存在,因此无法像确定性信号一样用数字表达式来精确表达它,而只能用各种统计平均量 ...

最新文章

  1. 重磅丨英伟达刚刚发布全球最大GPU:GTC2018黄仁勋演讲核心内容整理
  2. FPA笔记三 数据功能的识别
  3. 深入思考:算法工程师的落地能力具体指什么,如何提升自己的落地能力?
  4. 【读书笔记】非暴力沟通
  5. 电子计算机工程学,电子计算机工程学荣誉工学士资料.ppt
  6. Redis 处理客户端连接的一些内部实现机制
  7. android l camera no panorama,Android Camera从App层到framework层到HAL层的初始化过程
  8. mysql mongodb 事务_MySQL PK MongoDB:多文档事务支持,谁更友好?
  9. python通过内置函数测试对象类型_python测试开发(01-递归函数+内置函数)
  10. jQuery Mobile中单选按钮radio的data-*选项
  11. zw版【转发·台湾nvp系列Delphi例程】HALCON DivImage2
  12. USB充电限流芯片,5V输入,输出5V,6V触发关闭
  13. python排版_python排版
  14. python str转换成float
  15. 咖啡加盟10年经验分享:咖啡店12种危机处理方式,提升回头客
  16. ubuntu 安装GPU黑屏 修改GRUB_Ubuntu 18.04 安装笔记
  17. 孙溟㠭篆刻《天地宽》
  18. 生成两组相互独立服从标准正态分布的随机数(推导过程)
  19. 【前端运维】打通任督二脉!(nginx篇和nodejs + go)
  20. 柔性制造系统(FMS)实训QY-JDYT09

热门文章

  1. 三年级作文一堂有趣的课计算机课,一堂有趣的课作文范文(通用4篇)
  2. 2013秋东北计算机在线作业,2013秋东北师范大学《计算机应用基础》在线作业三...
  3. 提问也能拿书,解惑却要送书!安卓巴士就是这么好!来拿书吧!
  4. LinkedIn架构这十年
  5. 如何更改SQL Server 2005的身份验证模式
  6. Java学习day015(日期,格式化)
  7. 程序员入职第一天(实习)
  8. java去分隔符的三种方法
  9. 2018年华东师范大学数学竞赛试题
  10. 快速制作自己的VOC语义分割数据集