【发布时间】:2019-05-09 08:46:18
【问题描述】:
我正在尝试提取制造机器的OEE 趋势。我已经有一个 OEE 数据集,或多或少每 30 秒为每台制造机器计算并存储在数据库中。
我想做的是提取数据集的一个子集(例如,过去 30 分钟)并说明 OEE 是否增长、降低或稳定(具有一定的阈值)。我的任务不是预测 OEE 的下一个值是多少,而只是知道是否下降(期望的返回值:-1)、增长(期望的返回值:+1)或稳定(期望的返回值:0)基于数据集。我在我的项目中使用Java 8。
这是一个数据集的例子:
71.37
71.37
70.91
70.30
70.30
70.42
70.42
69.77
69.77
69.29
68.92
68.92
68.61
68.61
68.91
68.91
68.50
68.71
69.27
69.26
69.89
69.85
69.98
69.93
69.39
68.97
69.03
从这个数据集中可以看出 OEE 一直在下降(当然基于阈值),因此算法将返回 -1。
我一直在网上搜索没有成功。我找到了this,或this github project,或this stackoverflow question。然而,所有这些都是(或多或少)复杂的预测算法。我正在寻找一个更简单的解决方案。任何帮助都将不胜感激。
【问题讨论】:
-
更简单的解决方案是什么意思?我可以想到一个非常简单的解决方案 - 比较第一个值和最后一个值(并查看差异是否超过阈值)。
-
比较第一个和最后一个值不是一个合适的解决方案,因为它没有说明数据系列的趋势。例如,拥有如下数据集:[5, 7, 8, 11, 17, 3],您建议趋势表明 OEE 呈负趋势,而考虑到整个数据集显然是增长趋势.
-
好的,那么找出每个相邻对之间的差异呢?对于您在评论中的示例,它将是 [2, 3, 3, 6, -14]。并且您检查是否存在比负面差异更多的正面差异?
-
您如何为看起来像
[5, 6, 7, 8, 9, 8, 7, 6, 5, 4, 3, 2, 1, 2, 3, 4, 5]的数据集限定趋势?