这个示例展示了如何在测试机器收到新数据时更新RUL预测。在本例中,您使用一个训练数据集合来训练一个RUL模型。然后从一台机器循环测试数据序列,更新每个新数据点的RUL预测。该示例显示了当新数据可用时,RUL预测的发展。
这个示例使用exponentialDegradationModel
.对于降级RUL模型,当新的数据点可用时,必须首先更新降级模型,然后才能预测新的RUL值。对于其他RUL模型类型,请跳过此更新步骤。
加载该示例的数据,该示例包含两个变量,TestData
和TrainingData
.
负载UpdateRULExampleData
TestData
是一个包含某个条件指示器值的表,条件
如前几条记录所示,每小时记录一次。
头(TestData, 5)
ans =5×2表时间条件____ _________ 1 1.0552 2 1.2013 3 0.779781 4 1.09 5 1.0324
TrainingData
一个单元格数组的表格有相同的变量TestData
.每个细胞在TrainingData
表示条件指示器向失败的演变条件
在系统中一台机器的生命周期内。
使用TrainingData
培养一个exponentialDegradationModel
RUL预测模型。的适合
中的历史记录估计模型参数的先验值TrainingData
.的之前
训练模型的属性包含了模型参数θ
,β
,ρ
.(这些模型参数的详细信息请参见exponentialDegradationModel
.)
mdl = exponentialDegradationModel (“LifeTimeUnit”,“小时”);fit (mdl TrainingData,“时间”,“条件”mdl)。之前
ans =结构体字段:Theta: 0.6762 ThetaVariance: 0.0727 Beta: 0.0583 BetaVariance: 1.8383e-04 Rho: -0.2811
退化模型是最可靠的退化跟踪后的初始斜率出现在条件指标测量。将坡度检测水平设置为0.1,告诉模型在达到坡度之前不要进行RUL预测。(当您提前知道测量的是已经开始退化的组件时,您可以通过设置禁用坡度检测mdl。SlopeDetectionLevel = []
.)
mdl。SlopeDetectionLevel = 0.1;
定义一个阈值条件指示值,指示机器寿命的结束。RUL是测试机器的条件指示器达到这个阈值之前的预测剩余时间。
阈值= 400;
对于RUL预测,假设TestData
从时间开始t
= 1小时,每小时将有一个新的数据样本可用。通常,您可以通过每个新数据点预测一个新的RUL值。对于本示例的降级模型,进行循环TestData
并使用每个新的数据点更新模型更新
命令。然后,检查模型是否检测到足够的斜率变化,以进行可靠的RUL预测。如果是,则使用predictRUL
命令。为了观察估计的演变,将估计的RUL值和相关的置信区间存储在向量中EstRUL
和CI
,分别。类似地,将模型参数存储在数组中ModelParameters
.
N =身高(TestData);EstRUL =小时(0 (N, 1));CI =小时(0 (N, 2));ModelParameters = 0 (N, 3);为t = 1:N CurrentDataSample = TestData(t,:);update(mdl,CurrentDataSample) ModelParameters(t,:) = [mdl. php]θmdl。βmdl。ρ];%只在数据显示斜率变化时计算RUL。如果~isempty(mdl. slopedetectioninstant) [EstRUL(t),CI(t,:)] = predictRUL(mdl,CurrentDataSample,threshold);结束结束
绘制估计模型参数值的轨迹。在退化数据中检测到坡度后,数值变化迅速。当更多的数据点可用时,它们趋向于收敛。
时间=小时(1:N) ';tStart = mdl.SlopeDetectionInstant;%坡度检测时间瞬时情节(时间,ModelParameters);持有在情节([tStart, tStart],[1、2],“k——”)({传奇“\θ(t)”,“\β(t)”,“\ρ(t)”,“检测瞬时斜率”},“位置”,“最佳”)举行从
绘制预测的RUL,观察随着可用的降级数据的增多,它的演变。直到在退化数据中检测到一个斜率,才会有新的估计RUL值。在那之后,如预期的那样,预测的RUL会随着时间的推移而减少。predictRUL
计算RUL值的统计分布。随着时间的推移,预测的RUL的置信界限会变得更窄。
情节(时间、EstRUL“b -”、时间、CI、“c”(tStart)、tStart EstRUL(小时),的r *)标题(“t时刻的估计规则”)包含(“t”) ylabel (“估计原则”)({传奇“预测原则”,“信心绑定”,“信心绑定”,“检测瞬时斜率”})
exponentialDegradationModel
|predictRUL
|更新