我有一个连续生成事件序列的系统,事件序列如下所示在json中

...
{'event_id':1001, timestamp:ts1, attr1:numerical_val1, attr2:categorical_val2, etc...}
{'event_id':1003, timestamp:ts2, attr1:numerical_val1, attr3:numerical_val3, attr4:categorical_val4, etc...}
{'event_id':1001, timestamp:ts3, attr1:numerical_val1, attr2:categorical_val2, etc...}
{'event_id':1005, timestamp:ts4, attr1:numerical_val1, attr5:numerical_val5, result:<success|fail> etc...}

这些生成的事件具有常见属性,如event_id,timestamp,attr1等,但也有特定于事件的属性,如示例中所示 . 事件是以顺序模式生成的,每个事件都意味着系统中发生了某些事情(子程序),事件中的属性可能是数字或分类,表明性能或结果 . 有一个特定事件(假设它是1005)表示整个过程成功或失败 .

问题是如何通过这些事件的输入流来预测潜在的失败(标签是单变量的:成功或失败),包括

  • 应使用什么型号?我觉得RNN / LSTM非常适合时间序列预测,但不确定它如何用于此类事件序列预测

  • 如何准备RNN / LSTM要学习的输入数据?因为事件并不总是具有相同的属性集