主要内容

exponentialDegradationModel

估计剩余使用寿命的指数退化模型

描述

使用exponentialDegradationModel模拟指数退化过程,以估计组件的剩余使用寿命(RUL)。退化模型通过预测被监测信号何时超过预定义阈值来估计RUL。当组件经历累积退化时,指数退化模型是有用的。有关降级模型的更多信息,请参见指数退化模型

配置exponentialDegradationModel对象用于特定类型的组件,您可以:

  • 使用有关相似组件集成健康状况的历史数据(例如按相同规格制造的多台机器)来估计模型参数。要做到这一点,使用适合

  • 在根据您对组件退化过程的了解创建模型时指定模型参数。

一旦您配置了退化模型的参数,您就可以预测类似组件的剩余使用寿命predictRUL.有关说明使用退化模型进行RUL预测的基本示例,请参见当数据到达时更新RUL预测

有关预测剩余使用寿命的一般信息,请参见剩余使用寿命预测模型

创建

描述

例子

mdl= exponentialDegradationModel创建用于估计RUL的指数退化模型,并使用默认设置初始化模型。

例子

mdl= exponentialDegradationModel (名称,值使用名称-值对指定用户可设置的模型属性。例如,exponentialDegradationModel (NoiseVariance, 0.5)创建具有模型噪声方差的指数退化模型0.5.可以指定多个名称-值对。将每个属性名用引号括起来。

属性

全部展开

此属性是只读的。

的当前平均值θ退化模型中的参数,指定为标量。有关降级模型的更多信息,请参见指数退化模型

你可以指定θ使用名称-值对参数时:

  • 创建模型。

  • 方法重置模型重新启动函数。

否则,的值θ属性时发生的变化更新函数。

此属性是只读的。

的当前方差θ退化模型中的参数,指定为非负标量。有关降级模型的更多信息,请参见指数退化模型

你可以指定ThetaVariance使用名称-值对参数时:

  • 创建模型。

  • 方法重置模型重新启动函数。

否则,的值ThetaVariance属性时发生的变化更新函数。

此属性是只读的。

的当前平均值β退化模型中的参数,指定为标量。有关降级模型的更多信息,请参见指数退化模型

你可以指定β使用名称-值对参数时:

  • 创建模型。

  • 方法重置模型重新启动函数。

否则,的值β属性时发生的变化更新函数。

此属性是只读的。

的当前方差β退化模型中的参数,指定为非负标量。有关降级模型的更多信息,请参见指数退化模型

你可以指定BetaVariance使用名称-值对参数时:

  • 创建模型。

  • 方法重置模型重新启动函数。

否则,的值BetaVariance属性时发生的变化更新函数。

此属性是只读的。

电流相关性θ而且β,指定为范围[-1,1]中的标量值。有关降级模型的更多信息,请参见指数退化模型

你可以指定ρ使用名称-值对参数时:

  • 创建模型。

  • 方法重置模型重新启动函数。

否则,的值ρ属性时发生的变化更新函数。

当前截距值ϕ在退化模型中,指定为标量。有关降级模型的更多信息,请参见指数退化模型

你可以指定φ在创建模型时使用名称-值对参数。否则,的值φ属性之前估计模型时,会发生变化适合函数。

关于模型参数的先验信息,指定为具有以下字段的结构:

  • θ-的平均值θ

  • ThetaVariance-方差θ

  • β-的平均值β

  • BetaVariance-方差β

  • ρ-之间的相关性θ而且β

的字段之前

  • 当您创建模型时。当你指定θThetaVarianceβBetaVariance,或ρ在使用名称-值对创建模型时,的对应字段之前也设置好了。

  • 使用适合函数。在这种情况下,先验值来自用于拟合模型的数据。

  • 使用重新启动函数。的当前值θThetaVarianceβBetaVariance,ρ复制到的对应字段之前

  • 在模型创建后使用点符号。

有关降级模型的更多信息,请参见指数退化模型

加性噪声方差ε在退化模型中,指定为非负标量。有关降级模型的更多信息,请参见指数退化模型

你可以指定NoiseVariance

  • 在创建模型时使用名称-值对

  • 类使用名称-值对重新启动函数

  • 在模型创建后使用点符号

坡度检测级别,用于确定退化过程的开始,指定为范围[0,1]中的标量。这个值对应于斜率显著性t检验中的alpha值。

禁用坡度检测测试,请设置SlopeDetectionLevel[]

你可以指定SlopeDetectionLevel

  • 在创建模型时使用名称-值对

  • 类使用名称-值对重新启动函数

  • 在模型创建后使用点符号

此属性是只读的。

斜率检测时间,即检测到显著斜率的瞬间,用标量指定。的更新函数设置此值SlopeDetectionLevel不是空的。

此属性是只读的。

提供给的最新退化特征值更新函数,指定为标量。

此属性是只读的。

时的初始生命周期变量值更新函数首先在作为标量指定的模型上调用。

当模型检测到一个斜率时InitialLifeTime值更改为匹配SlopeDetectionInstant价值。

此属性是只读的。

对象提供的最新生命周期变量值更新函数,指定为标量。

生命周期变量,指定为包含有效MATLAB的字符串®变量名或""

当你训练模型时使用适合函数,如果你的训练数据是a:

  • 表格,然后LifeTimeVariable必须匹配表中的一个变量名

  • 时间表,然后LifeTimeVariable表中的一个变量名或者时间变量的维度名,data.Properties.DimensionNames {1}

你可以指定LifeTimeVariable

  • 在创建模型时使用名称-值对

  • 作为参数适合函数

  • 在模型创建后使用点符号

生命周期变量单位,以字符串形式指定。

生命周期变量的单位不需要是基于时间的。测试组件的寿命可以根据使用变量来测量,例如行驶距离(英里)或燃料消耗(加仑)。

退化变量名,指定为包含有效MATLAB变量名的字符串。退化模型只有一个数据变量。

你可以指定DataVariables

  • 在创建模型时使用名称-值对

  • 作为参数适合函数

  • 在模型创建后使用点符号

从指定的数据中拟合先前值时使用并行计算的标志真正的

你可以指定UseParallel

  • 在创建模型时使用名称-值对

  • 类使用名称-值对重新启动函数

  • 在模型创建后使用点符号

用于记帐的附加模型信息,指定为任何数据类型或格式。该模型不使用此信息。

你可以指定用户数据

  • 在创建模型时使用名称-值对

  • 在模型创建后使用点符号

对象的功能

适合 利用历史数据估计剩余使用寿命模型参数
predictRUL 估算测试组件的剩余使用寿命
更新 更新退化剩余使用寿命模型的后验参数分布
重新启动 重置剩余使用寿命退化模型

例子

全部折叠

加载训练数据。

负载(“expTrainVectors.mat”

训练数据是由列向量组成的单元格数组。每个列向量都是一个组件的退化特征剖面。

创建一个默认设置的指数退化模型。

mdl =指数退化模型;

使用训练数据训练退化模型。

fit (mdl expTrainVectors)

创建一个指数退化模型,并配置它与已知的先验分布。

mdl =指数退化模型(“θ”, 0.5,“ThetaVariance”, 0.003,...“β”, 0.3,“BetaVariance”, 0.002,...的ρ, 0.1);

指定的先验分布参数存储在之前模型的属性。

mdl。之前
ans =带字段的结构:Theta: 0.5000 ThetaVariance: 0.0030 Beta: 0.3000 BetaVariance: 0.0020 Rho: 0.1000

模型的当前后验分布也被设置为匹配指定的先验分布。例如,检查相关参数的后验值。

mdl。ρ
Ans = 0.1000

加载训练数据。

负载(“expTrainTables.mat”

训练数据是由表格组成的单元格数组。每个表都是一个组件的退化特性概要文件。中的生命周期测量值组成了每个配置文件“时间”变量和相应的退化特征测量“条件”变量。

创建一个默认设置的指数退化模型。

mdl =指数退化模型;

使用训练数据训练退化模型。指定生命周期和数据变量的名称。

fit (mdl expTrainTables,“时间”“条件”

加载训练数据。

负载(“expTrainTables.mat”

训练数据是由表格组成的单元格数组。每个表都是一个组件的退化特性概要文件。中的生命周期测量值组成了每个配置文件“小时”变量和相应的退化特征测量“条件”变量。

创建一个指数退化模型,指定寿命时间变量单位。

mdl =指数退化模型(“LifeTimeUnit”“小时”);

使用训练数据训练退化模型。指定生命周期和数据变量的名称。

fit (mdl expTrainTables,“时间”“条件”

负载测试数据,这是测试组件的运行到故障降级配置文件。测试数据是一个与训练数据具有相同寿命和数据变量的表。

负载(“expTestData.mat”

基于退化特征极限的知识,定义一个阈值条件指示器值,该值指示组件的寿命结束。

阈值= 500;

假设在150小时内每小时测量一次组件状态指示器。每次测量都更新训练好的退化模型。然后,预测组件的剩余使用寿命为150小时。RUL是退化特征将超过指定阈值的预测时间。

update(mdl,expTestData(t,:))结束estRUL = predictRUL(mdl,阈值)
estRUL =持续时间136.45人力资源

估计的RUL在附近137小时,表示总预测寿命287个小时。

加载观测数据。

负载(“expTestData.mat”

对于这个例子,假设训练数据不是历史数据,而是对组件条件的实时观察。

基于退化特征极限的知识,定义一个阈值条件指示器值,该值指示组件的寿命结束。

阈值= 500;

创建一个指数退化模型任意先验分布数据和指定的噪声方差。另外,指定观测数据的寿命和数据变量名。

mdl =指数退化模型(“θ”, 1“ThetaVariance”1 e6,...“β”, 1“BetaVariance”1 e6,...“NoiseVariance”, 0.003,...“LifeTimeVariable”“时间”“DataVariables”“条件”...“LifeTimeUnit”“小时”);

观察组件状态One hundred.每次观察后更新退化模型。

我= 1:10 0更新(mdl expTestData(我,:));结束

One hundred.小时,使用存储在模型中的当前生命时间值预测组件的RUL。此外,获得与估计RUL相关的置信区间。

estRUL = predictRUL(mdl,阈值)
estRUL =持续时间221.38人力资源

估计RUL约234小时,表示总预测寿命334个小时。

算法

全部展开

参考文献

[1] Gebraeel Nagi。“具有指数退化模式的组件的感官更新剩余寿命分布。”IEEE自动化科学与工程汇刊.Vol. 3, no . 4, 2006, pp. 382-393。

扩展功能

版本历史

在R2018a中引入