【发布时间】:2019-01-08 09:55:10
【问题描述】:
我正在使用 Python 和 Pandas。我正在做一个预测性维护项目,我的目的是预测在给定时间段内发生故障的概率,比如 4-6 小时。我已经对数据进行了预处理并将其简化为以下内容: 数据集有 4 个属性,开始时间、结束时间、事件持续时间(开始时间和结束时间的差异)和第四个属性是失败或不失败的事件。 (1为失败,0为不失败) 样本数据如下:
START_TIME END_TIME DURATION_MINUTES EVENT
2/15/2018 2:32 2/15/2018 2:32 0.566666667 0
2/15/2018 2:32 2/15/2018 2:33 0.916666667 0
2/15/2018 2:33 2/15/2018 2:33 0.116666667 1
2/15/2018 2:33 2/15/2018 2:35 1.283333333 0
2/15/2018 2:35 2/15/2018 2:35 0.083333333 0
2/15/2018 2:35 2/15/2018 2:35 0.166666667 0
2/15/2018 2:35 2/15/2018 2:35 0 0
我有大约 120000 个数据实例。谁能告诉我如何可视化和预测在任何一天(4 小时的时间范围)发生故障 (EVENT=1) 的概率
【问题讨论】:
-
您是说您拥有的唯一数据是时间戳以及此时间戳是否发生故障?你不应该有一些其他的输入,比如温度、振动、设备年龄、工作时间等吗?否则我们还能预测什么?您认为故障发生在一天中的特定时间还是特定季节?
-
@JohnZwinck 谢谢。练习的重点是弄清楚我们可以在多大程度上预测给定时间范围内故障的发生。这个问题的推论之一可能是预测机器是否会在上午 10 点到下午 5 点出现故障?我能否以 70% 或更高的置信度预测它会失败?同样,这个练习是看看机器学习模型可以用最少的数据属性做什么,在我的例子中是 4 个属性和 120000 个实例。我以后会像你说的那样收集更多的属性。
-
要可视化数据,您可以使用
matplotlib模块中的step函数并将START_TIME设置为x 轴,将EVENT设置为y 轴。对于预测,您可以将 date 转换为 float (numpy.astype(np.float64))。 -
@RobJan 你建议我使用哪种算法来预测失败?因为这是在一个时间段内预测故障,而不是将输入作为时间戳,将分类作为输出。
-
这个问题的一个问题是它没有解释你所说的“预测”是什么意思。我和至少其他一位评论者假设您正在使用一组测量来确定失败的条件已经成熟。但是,您的数据集本质上是历史数据,这意味着您实际上可能会问以下问题:鉴于历史趋势,第二天的预期总故障持续时间是多少?此时,你遇到了一个统计问题,更适合stats.stackexchange.com
标签: python pandas machine-learning time-series predictive