多变量时间序列分析:CNN 与 LSTM 何时合适?

数据挖掘 时间序列 美国有线电视新闻网 lstm
2021-09-28 15:08:13

我在一个时间序列中有多个特征,并且想预测下一个时间步的相同特征的值。我已经训练了一个运行良好的 LSTM,但训练时间有点长。

所以现在我的问题是:使用 CNN 代替 LSTM 是否合理,即使它是一个时间序列?是否有任何指标表明您何时不应该切换到 CNN?

3个回答

即使是时间序列,使用 CNN 代替 LSTM 是否合理?

是的。卷积神经网络适用于任何类型的数据,其中相邻信息被认为与数据分析相关。

CNN 非常适用于图像,其中数据在空间中是相关的,在视频中,相关性在空间和时间上都发生。

是否有任何指标表明您何时不应该切换到 CNN?

CNN 在某种意义上是有限的:它们具有刚性、前向的结构。

如果您尝试执行:

  • 在具有不同长度的序列中分类(ñ1);
  • 试图输出另一个序列,其长度与输入长度之间没有固定比例(ñ)。

简单的前馈神经网络将失败(由于维度不一致)。因此,在这种情况下,您应该使用递归神经网络,例如 LSTM。

时间序列表示数据的时间序列 - 通常对于序列数据 LSTM 是首选的 DNN 算法,因为它可以更好地处理序列。当您想要捕获图像中的邻域信息时,CNN 通常会变得很有用。

话虽如此,请参阅这篇关于如何将 CNN 用于多变量时间序列的文章:[https://machinelearningmastery.com/how-to-develop-convolutional-neural-network-models-for-time-series-forecasting/# :~:text=%5B%5B101.67965%5D%5D-,Multivariate%20CNN%20Models,Multiple%20Parallel%20Series]

通常,您需要考虑数据的行为方式。如果你的数据依赖于它的邻居,CNN 可能是一个解决方案。如果它像一个序列并且与它的邻居密切相关,那么 RNN 可能会很好。如果您发现需要更长的内存,则需要 LSTM。所以这一切都取决于你在做什么。