更新RUL预测的数据到达

这个例子显示了作为新的数据从一个机器被测到达如何更新RUL预测。在这个例子中,你使用的训练数据来训练的RUL模型的合奏。然后,通过测试数据从一台机器的序列循环,更新为每个新数据点的RUL预测。该示例示出了RUL预测作为新数据的演变变得可用。

本例使用exponentialDegradationModel。对于降级RUL模型,当有新的数据点可用时,必须首先更新降级模型,然后才能预测新的RUL值。对于其他RUL模型类型,跳过这个更新步骤。

数据训练和预测

加载本例中的数据,该数据包含两个变量,测试数据TrainingData

加载UpdateRULExampleData

测试数据是含有一些条件指示符的值的表,条件,记录每一个小时,作为前几个条目显示。

头(TestData, 5)
ANS =5×2表时间条件____ _________ 1 1.0552 2 1.2013 3 0.79781 4 1.09 5 1.0324

TrainingData是表具有相同的变量作为一个单元阵列测试数据。每个细胞在TrainingData代表演进到状态指示符的故障条件在一个机器的整个生命周期中。

火车预测模型

TrainingData训练的exponentialDegradationModel模型预测RUL。该适合命令估计基于历史记录之前,对模型的参数TrainingData。该属性包含模型参数西塔Beta版,。(对于这些模型参数的详细信息,请参阅exponentialDegradationModel。)

MDL = exponentialDegradationModel('LifeTimeUnit'“小时”);fit (mdl TrainingData,“时间”“条件”)mdl.Prior
ANS =同场的结构:的差值为0.0661,的差值为0.0583,的差值为1.8383e-04,的差值为-0.3129

退化模型是最可靠的退化跟踪后,初始坡度出现在条件指标的测量。将坡度检测级别设置为0.1,告诉模型在达到坡度之前不要进行RUL预测。(当您预先知道这些测量是针对一个已经开始退化的组件时,您可以通过设置来禁用斜率检测mdl.SlopeDetectionLevel = []。)

mdl.SlopeDetectionLevel = 0.1;

预计RUL在每个时间步

定义阈值条件指示符值,表示机器的寿命结束。该RUL是离开之前用于测试机的条件指示器达到该阈值的预测时间。

阈值= 400;

对于RUL预测,假设测试数据开始于时间Ť= 1小时,每小时有一个新的数据样本可用。通常,您可以使用每个新的数据点预测一个新的RUL值。对于本例的降级模型,循环遍历测试数据和更新使用每一个新的数据点的模型更新命令。然后,检查模型是否检测到足够的坡度变化,以进行可靠的RUL预测。如果是,则使用predictRUL命令。观察估计的演变,存储在向量估计RUL值和相关的置信区间EstRULCI, 分别。类似地,存储在阵列中的模型参数ModelParameters

N =高度(TESTDATA);EstRUL =小时(零(N,1));CI =小时(零(N,2));ModelParameters =零(N,3);对于T = 1:N CurrentDataSample = TESTDATA(T,:);更新(MDL,CurrentDataSample)ModelParameters(T,:) = [mdl.Theta mdl.Beta mdl.Rho];%计算RUL仅如果数据表明在斜率变化。如果〜的isEmpty(mdl.SlopeDetectionInstant)[EstRUL(吨),CI(T,:)] = predictRUL(MDL,CurrentDataSample,阈值);结束结束

绘制估计的模型参数值的轨迹。在退化数据中检测到斜坡后,这些值变化很快。当更多的数据点可用时,它们趋向于收敛。

时间=小时(1:N) ';tStart = mdl.SlopeDetectionInstant;%斜率检测时刻图(时间,ModelParameters);保持图([TSTART,TSTART],[ -  1,2],'K--')({传奇'\ THETA(吨)''\β(t)的''\ RHO(吨)'“坡度检测瞬间”},“位置”'最好')举行

绘制预测RUL更降解数据可用来观察其演变。有直至在降解的数据中检测的斜率没有新的估计值RUL。在此之后,预计RUL随时间递减,符合市场预期。predictRUL计算RUL值的统计分布。随着时间的推移,预测的RUL的置信范围会变得更窄。

图(时间,EstRUL,'B.-',时间,CI,'C',TSTART,EstRUL(小时(T开始)),的r *)标题(“在时刻t5估计RUL”)包含('T')ylabel (“估计RUL”)({传奇“预测的RUL”“信心势必”“信心势必”“坡度检测瞬间”})

也可以看看

||

相关的话题