使用 LSTM 对同一过程生成的多个时间序列进行建模和预测

数据挖掘 神经网络 时间序列 lstm
2022-02-26 05:03:51

我的场景大致如下:

想象一下 500 辆汽车,全是丰田卡罗拉(或其他)。虽然这些汽车有许多相似之处,但它们并不完全相同:其中一些配备 1.5 升发动机,而另一些配备 1.8 升发动机,有些具有很高的行驶里程,而有些则几乎没有离开他们的车库。尽管如此,我们仍然可以想象,所有汽车都是具有一堆参数的一个过程的产物。其中一些参数被观察到,而另一些则未被观察到。

我有一组时间每辆车状况的数据t_i出于我们的目的,“条件”由 0.0 到 1.0 之间的数字表示,其中 0.0 表示“和新的一样好”,1.0 表示“基本上是残骸”。我的目标是建立一个模型,让我可以根据之前时间步长的状况以及里程和发动机尺寸等“参数”来预测每辆车在未来某个时间的状况。我可以为每辆车训练一个单独的模型,但我可能没有足够的数据为每辆车提供准确的预测。

我已经尝试使用普通的机器学习方法,通过将之前每个时间步的条件编码为一个特征,将每辆车的完整历史记录转换为一个数据点。我的结果有点马马虎虎,我想为此尝试 LSTM。

但是,我很难弄清楚如何使用 LSTM 做到这一点。一些谷歌搜索让我找到了很多关于如何使用 LSTM 来预测同一个“对象”的两个属性的教程,比如一辆汽车的状况和里程,但没有一个关于如何预测一堆相同属性的教程带有附加参数的“不同对象”。我假设只是插入

[conditionCar1, mileageCar1, colorCar1, conditionCar2, mileageCar2, colorCar2, (...)]

在很多时间步骤中观察到 LSTM 模型不会很好地工作。我正在尝试做的事情是否可行,如果是的话,是否有人对相关信息有任何指示?

1个回答

你可以这样描述问题。

将每辆车视为数据集的一个样本,并使用表示第样本。然后对于每个样本,您具有以下功能:Cariith

  1. 汽车状态时间序列C0i...Cni
  2. 其他时不变特征,如颜色和引擎大小AiEi

(我不确定里程如何适合这里,你也有时间序列吗?直观地,里程会随着汽车的使用寿命而变化,所以它也应该是时间序列)

我对您的问题的理解是如何将这些时不变特征合并到 LSTM 模型中?

而不是仅将作为 LSTM 单元输入传递,而是使用向量传递它。在这里,使用 Tensorflow 的术语,你是 3 而不是在每个时间步长上总是相同的,但在样本之间是不同的。Ct1[Ct1i,Ai,Ei]input_sizeAiEi