情况
我正在解决一个问题,我正在使用传感器数据在故障发生之前预测机器故障,我需要一些关于探索哪些方法的建议。
具体来说,我想在故障实际发生之前确定即将发生故障的迹象。理想情况下,这将有足够的提前期,以便我们可以在导致故障之前修复发生的任何事情。
问题
我遇到的概念障碍是我知道我可以将各种分类模型(逻辑回归、决策树、最近邻等)拟合到数据中,以识别当时给定特定参数的故障概率。但是,我无法弄清楚如何识别即将发生的故障的迹象,并有足够的时间来实际做一些事情。
可能的方法
我对生存分析很熟悉,但鉴于我没有来自多台机器的数据,而且在维修后机器并没有恢复到 100%,我觉得这不一定适合。
我还考虑过花时间发生故障,将其向后移动 1 小时,然后看看我能预测到这一点有多准确。如果可以的话,将目标向后移动一小时,看看我可以自信地预测多长时间。但我不确定这样做是否合适。
可用数据
我拥有的数据是在 1 年期间从一台机器记录的。每两分钟记录大约 60 个传感器。这些传感器测量变量,例如组成机器的不同组件的温度(包括恒温器设置与实际温度)、机器运行的速度、整个机器的蒸汽压力、风扇速度、机器是否正在运行, ETC。
除了传感器读数之外,我还丰富了数据集以包括机器未运行的原因(例如:换班、预防性维护、故障)。我在这篇文章的底部包含了一个关于数据外观的精简示例。我已经更改了示例以捕获在整个数据集中捕获的一些变化。实际上,当机器停止运行时,它会停机 2 分钟到 2 天,具体取决于原因。此外,变量不一定会像下面的示例中那样快速变化,但我想提供一些变化。
+-----------------+----------+-------------+------------+------------+-------+-------+-----+--------------------------+------------+
| Datetime | CircFan | CircFanAct | EntrySpeed | ExhaustFan | Speed | Temp1 | Run | Reason | TimeBtwRun |
+-----------------+----------+-------------+------------+------------+-------+-------+-----+--------------------------+------------+
| 2009-10-19 0:00 | 100 | 600 | 461 | 40 | 45 | 1126 | 1 | | NA |
| 2009-10-19 0:02 | 100 | 600 | 0 | 39 | 45 | 1120 | 0 | shift change | 0:00 |
| 2009-10-19 0:04 | 100 | 600 | 0 | 39 | 45 | 1118 | 0 | shift change | 0:02 |
| 2009-10-19 0:06 | 95 | 600 | 461 | 39 | 45 | 1119 | 1 | | 0:00 |
| 2009-10-19 0:08 | 95 | 599 | 461 | 40 | 45 | 1120 | 1 | | 0:02 |
| 2009-10-19 0:10 | 95 | 598 | 461 | 40 | 45 | 1120 | 1 | | 0:04 |
| 2009-10-19 0:12 | 95 | 597 | 461 | 40 | 45 | 1130 | 1 | | 0:06 |
| 2009-10-19 0:14 | 100 | 597 | 0 | 40 | 45 | 699 | 0 | failure | 0:00 |
| 2009-10-19 0:16 | 100 | 597 | 0 | 40 | 45 | 659 | 0 | failure | 0:02 |
| 2009-10-19 0:18 | 100 | 597 | 0 | 40 | 45 | 640 | 0 | failure | 0:04 |
| 2009-10-19 0:20 | 100 | 600 | 461 | 40 | 45 | 1145 | 1 | | 0:00 |
| 2009-10-19 0:22 | 100 | 600 | 461 | 40 | 45 | 1144 | 1 | | 0:02 |
| 2009-10-19 0:24 | 80 | 600 | 461 | 40 | 45 | 1138 | 1 | | 0:04 |
| 2009-10-19 0:26 | 80 | 600 | 461 | 41 | 45 | 1133 | 1 | | 0:06 |
| 2009-10-19 0:28 | 80 | 600 | 461 | 41 | 45 | 1134 | 1 | | 0:08 |
| 2009-10-19 0:30 | 100 | 600 | 461 | 41 | 45 | 1134 | 1 | | 0:10 |
| 2009-10-19 0:31 | 100 | 600 | 461 | 41 | 45 | 1133 | 1 | | 0:11 |
| 2009-10-19 0:34 | 100 | 600 | 461 | 40 | 45 | 1140 | 1 | | 0:13 |
| 2009-10-19 0:36 | 100 | 600 | 100 | 40 | 45 | 788 | 0 | preventative maintenance | 0:00 |
| 2009-10-19 0:38 | 100 | 600 | 100 | 40 | 45 | 769 | 0 | preventative maintenance | 0:02 |
+-----------------+----------+-------------+------------+------------+-------+-------+-----+--------------------------+------------+