时间序列数据分类的最佳方法是什么?我应该使用 LSTM 还是其他方法?

数据挖掘 分类 喀拉斯 时间序列 lstm 多类分类
2021-09-27 05:14:17

我正在尝试将原始加速度计数据 x,y,z 分类为其相应的标签。

获得最佳结果的最佳架构是什么?

或者,有人对基于 keras 的具有输入和输出节点的 LSTM 架构有任何建议吗?

3个回答

我不会使用“最佳”这个词,但 LSTM-RNN在处理时间序列时非常强大,仅仅是因为它们可以存储有关先前值的信息并利用样本之间的时间依赖性。也就是说,绝对值得一试。

已经证明,如果将它们与可以学习数据中的空间结构(在这种情况下是一维的)的卷积神经网络 (CNN) 结合使用,它们的性能可以得到显着提升。

看看这个结合了 LSTM 和 CNN的最先进的方法,发表于 2019 年。

门控循环单元 (GRU) 是 RNN 和 LSTM 的高级版本。它比 LSTM ann RNN 具有更少的时间复杂度和良好的预测结果。您可以使用它来处理时间序列数据集。您可以通过结合高级版本的 1D CNN(如 ResNet 等)来提高它的性能。

使用 lstm 或 rnn 的时间序列数据就像用锤子拍苍蝇一样。您是否尝试过使用经典统计技术 ARCH、ARIMA 等进行时间序列建模?使用单个数字作为输入的问题(这是您的速度计将为您提供的)意味着每个 lstm / gru 单元或单元中的状态将具有 1x1 矩阵,即 1 个参数。lstm 对语言如此出色的原因是语言具有单词/字符,并且它们中的每一个都有丰富的嵌入/编码模式,这使得 lstm 单元内的权重矩阵具有足够多的参数,从而可以更好地进行泛化。在你的情况下,一旦你传递了一个序列的单个数字(我不知道你的数据,所以也许你确实有某种形式的编码),你的模型很可能会过度拟合并且在现实世界的数据上表现不佳。