如何建立一个可以根据一组时间序列数据预测事件概率的模型?

数据挖掘 机器学习 时间序列 张量流 喀拉斯
2022-02-27 12:42:00

我正在尝试使用 keras 和 tensorflow 构建一个深度学习神经模型,该模型可以根据一组时间序列数据和一些固定数据一起预测某个事件是否会发生。例如:对于给定的一组实体,他们的价格行为是相互关联的,因为有传言称将来会发生一些事件。

1) A & B 's fixed data like type, group etc.
2) During a certain period of time - 1 Jan 2015 - 30 Mar 2015 , their price .

我拥有的数据是

INPUT : Name of entity, Type Of entity , Size , Country, Specific Attributes  and time series stock data from 1 Jan 2015 - 30 Mar 2015 
OUTPUT : Y/N . Boolean output if event happend or not. 

现在我的问题是如何构建它,因为我有一些不会随时间变化的固定数据和一些随时间变化的时间序列数据。

我想到的选项是 1) LSTM - 但不确定我是否应该输入固定的静态数据。2) CNN - 不确定这是否是正确的方法?

请让我知道处理此类问题的方法应该是什么。

1个回答

由于您具有使用循环神经网络处理得最好的特征,以及一些使用前馈网络处理得最好的特征,您实际上可以做的是它们输入到具有 softmax 输出的主 Dense 层中你的概率分布。

这将很难手动完成,但幸运的是您使用的是 Keras,它允许这种建模相当容易!

在 Keras 功能 API 指南https://keras.io/getting-started/functional-api-guide/中,有一个模型实际上与您正在寻找的模型非常相似,其中“主要”信息是 LSTM 层(你会为股票价格做的),“辅助”信息将是(实体名称、实体类型、大小、国家、特定属性)等......

该模型如下所示: 凯拉斯模型

示例模型实际上使用了 2 个损失函数(2 个输出),但您可以轻松地将其构建为只有一个输出。代码就在那里,所以很容易复制。

我现在基本上对几乎所有事情都使用这种模型并获得了很好的结果,而不是仅使用 LSTM。