乐天知命,故不忧——基于生存模型进行剩余有效寿命预测的案例讲解
程序员文章站
2022-07-03 08:43:19
...
这是寿命预测案例中的第三个也是最后一个。这是基于失效统计数据的一种模型,即当我们知道某一种产品的整体寿命分布时,可以估计到该产品剩余寿命的分布情况。这种预测思想是非常直观且简单的,所以该案例也非常简短[1]:
1.加载数据
load('reliabilityData.mat')
该数据是表示电池放电时间的持续时间的数组。
2.创建模型
创建可靠性生存模型,制定寿命变量和寿命单位:
mdl = reliabilitySurvivalModel('LifeTimeVariable',"DischargeTime",'LifeTimeUnit',"hours");
3.训练模型
使用训练数据训练模型:
fit(mdl,reliabilityData)
4.产品寿命分布与可视化
预测全新部件的寿命,并获得估计值的概率分布
[estRUL,ciRUL,pdfRUL] = predictRUL(mdl);
绘制概率分布图
bar(pdfRUL.RUL,pdfRUL.ProbabilityDensity)
xlabel('Remaining useful life (hours)')
xlim(hours([40 90]))
图1
6.预测与可视化
预测已经运行50小时的部件的RUL。
[estRUL,ciRUL,pdfRUL] = predictRUL(mdl,hours(50),'BinSize',0.5,'NumBins',500);
bar(pdfRUL.RUL,pdfRUL.ProbabilityDensity)
xlabel('Remaining useful life (hours)')
xlim(hours([0 40]))
图2
对比图1和图2可知,图2 就是由图1向左平移50 hours得到的。
此外,除了上述可靠性生存模型,还有一种协变量生存模型,这是一种考虑了一些协变量数据,比如环境变量或者解释变量的模型。如果输入信息中包括这些可利用的变量,可以考虑使用该类型模型[2]。
剩余寿命预测的系列完结了,后续要开始研究深度学习,欢迎持续关注~
欢迎关注我的公众号“括号的城堡”,微信号为“khscience”,公众号里可能还会有更多有趣的东西分享。
[1] https://ww2.mathworks.cn/help/predmaint/ref/reliabilitysurvivalmodel.html
[2] Proportional hazard survival model for estimating remaining useful life