使用 JMP 递归分析进行预测大家好,
我尝试使用 JMP 的递归分析来预测我们机器未来的维修次数和成本,但遇到了过度预测的问题。我使用机器人过去 90 天的生命周期数据训练了一个模型(对数线性 NHPP),然后预测了当前新增的维修次数和成本。基本上,我使用 90 天前的数据进行建模和预测,并使用当前数据验证结果。结果显示过度预测约 30%。我还尝试了比例 NHPP 模型,得到了类似的过度预测结果。模型的拟合度看起来不错。就总维修次数的预测而言,该模型表现良好(过度预测低于 10%)。只有对新发生的维修事件的预测效果不佳。
我的问题是:
有没有办法减少这种过度预测?我正在考虑将预测周期从90天缩短到45天,以获得一个较短的预测窗口。但我很想知道是否还有其他方法可以尝试。
我知道还有其他预测模型。由于我一直在使用递归模型研究修复问题,并且已经很熟悉它了,所以我想充分利用这项研究。
谢谢。
基础数据分析与建模回复:使用 JMP 递归分析进行预测能否提供一份匿名化(表格 > 匿名化)或子集化的数据版本,并附上您的分析结果?这或许有助于我们提出其他方案。
回复:使用 JMP 递归分析进行预测您好,这是一个很好的建议。
我将用以下截图解释我的操作步骤,截图显示的是一个机器人的数据。实际数据集包含约 15,000 个机器人。请不要使用我的示例值来拟合模型——预测值是基于所有 15,000 个机器人的累积公式生成的。
左侧表格的前三列包含90天前的数据:机器人ID、年龄和成本(1表示已维修,0表示研究结束)。这三列用于拟合JMP递归分析比例泊松过程模型(还有另外15000个机器人,我没有展示,这里只用一个机器人来演示我的操作)。然后,我得到了该模型的累积公式。第四列“年龄加90天”(当前年龄)被代入该公式,以计算第五列“90天内的预测维修次数”(当前时间的预测值)。
值 6.28代表该机器人 941 岁时的预计总维修次数。因此,预计该机器人最近 90 天的维修次数为: 6.28 − 3 = 3.28 。为了计算总数,我将每个机器人最老龄时的所有预测维修次数相加,得到预测总数。我将每个机器人所有实际维修次数(90 天前)相加,得到实际维修总数。然后,我计算这两个总和之间的差值(最近 90 天的预测维修总数)。
右侧表格(当前数据)显示,截至941天,实际仅发生了3次维修,与90天前相同。因此,该机器人最近90天的实际维修次数为3-3= 0 。我还计算了所有机器人最近90天的实际维修次数。
当我比较这两个数字时,我发现预测值始终偏高。例如,对于所有 15,000 个机器人,最近 90 天内的实际修复次数是 6,996 ,而对同一机器人的预测维修量为 9,306 — a 预测值偏高 33.0% 。我尝试了几个不同的时间窗口,预测值总是偏高 30% 左右。
我担心自己可能做错了什么事。
你觉得怎么样?谢谢。
我还附上了一份模拟数据,供有兴趣的人参考。
数据包含三列:机器ID、成本(1表示维修,0表示研究结束)和使用年限。问题是如何利用这些数据预测未来90天内的维修情况。谢谢。
回复:使用 JMP 递归分析进行预测根据实际数据的形状和您选择的模型参数,您可以得到截然不同的模型。您的模拟数据在末尾存在异常值,这也会影响预测结果。根据提供的数据,我是否包含年龄平方项(Age^2)会导致模型结果截然不同。您的模型与数据的拟合程度如何?

回复:使用 JMP 递归分析进行预测最后出现的异常情况是由两台存在风险的机器引起的,而这两台机器恰恰是最老旧的。
我只使用了比例PP模型,没有使用缩放或形状效果,图形看起来如下:

有两件事我不明白:
为什么选择年龄作为尺度效应和形状效应?这样做并没有生成曲线。这是为什么?拟合曲线在哪里?
你为什么要尝试年龄的平方?
谢谢。
回复:使用 JMP 递归分析进行预测我不确定这会造成多大问题,但对于循环模型来说,您的系统数据应该按时间顺序排列,因为 JMP 似乎不会自动重新排序,但这会对模型产生影响。以下是您的示例数据中两个顺序错误的机器 ID。如果您的数据中没有出现这种情况,则可以忽略此提示。

复发分析适用于数据属于可修复系统的情况。可修复系统并非指系统能够被修复,而是指修复后的状态。事件发生后,机器人是否与事件发生前完全相同?或者机器人是否“焕然一新”?如果机器人“焕然一新”,则该系统不可修复,因为本质上您拥有的是一个全新的系统。
这一点之所以重要,是因为如果你的数据是一个可修复系统,它会被建模为指数系统,事件会随着时间的推移而更频繁地发生。如果你的数据不是一个可修复系统,而你尝试使用复发分析,它通常会高估你的预测结果,因为它假设情况会持续恶化。一个不可修复系统随着时间的推移,其修复次数应该会趋于稳定,这通常远低于指数系统的修复次数。
如果机器人“和新的一样好”,那么对每个事件进行独立建模(即年龄不是累积的)并使用生命周期分布平台可能更有意义。
回复:使用 JMP 递归分析进行预测你好,
谢谢你的解释。
我尝试了按时间顺序和不按时间顺序的示例。看来 JMP 的重复分析功能可以自动处理按正确顺序排列的示例。
我们的系统是可修复的,我们假设修复后的性能与修复前一样好。所以机器人会随着使用时间的增长而老化。这就是我们选择进行重复性分析的原因。我认为我们找到了预测过高的原因。我们没有扣除机器人维修期间的时间,导致了“永生偏差”(我刚学到的一个专业术语)。我正在排除维修期间的时间,看看是否还会出现预测过高的情况。
谢谢你的建议。