我收集了一个每天重复的过程的历史日志文件,每天大致相同。我想要一个神经网络,从日常流程开始的那一刻起,就可以估计整个流程最终完成的时间。随着日常流程的进展,估计应该变得更加准确,并尽快收敛于实际完成时间。对预测有一定程度的信心也会很有用。
日常流程是主要是串行子流程的集合。主要是串行的,因为某些子流程对结束时间没有影响(关键路径与非)。数据中还隐藏着其他模式。周末比工作日花费更长的时间。在现实世界中,也许其他人也是如此。数据中存在少量噪声,子流程持续时间可能会受到完全外部因素的影响。尽管可能存在长期趋势,但某一天的表现与第二天的预期相关性很小/没有预期。
我在一个简单的 RNN 上取得了一些成功,但结果一直没有给人留下深刻印象,即使在尝试了很多超参数之后也是如此。迄今为止,最好的结果来自单热编码和“交叉连接”,以将每天扩展到多个样本并将它们填充到相同的最大尺寸......
Xsample1.1 = [Event1, ] Y = EventN
Xsample1.2 = [Event1, Event2, ] Y = EventN
Xsample1.N = [Event1, ..., EventN ] Y = EventN
我已经将工作日编码为一个热门变量,并将日期时间标准化为预处理中的一个通用日期。
我找到的所有示例都是用于预测接下来的 N 个样本,向前滑动,而不是固定端样本。我正在使用 ipython3、pandas 和 keras,并且我使用一些简单的逻辑生成了一个测试群体,我希望 NN 能够轻松处理。每个文件的 YHat 是最后一个日期时间。.debug 文件捕获了预测应该如何演变,但该信息无法从训练数据中获得,因此未在 NN 中使用。
这是一个时间序列还是回归问题,我应该使用什么类型的 NN 以及我应该如何构建输入数据以获得最佳结果。