基于(?)LSTM的多变量时间序列分类

2024-04-25 00:32:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我对时间序列分类比较陌生,正在寻求帮助:

我有一个包含5000个多元时间序列的数据集,每个数据集由21个变量组成,时间周期为3年,类别信息为1或0。我想做的是对一个新的输入进行分类,它在3年的时间内由21个变量组成

就目前而言,经过几天的研究,我还没有找到(或显然没有理解)将多变量时间序列输入LSTM的方法。有没有可能的解决办法

我目前的想法是将5000个时间序列“合并”为一个,并在每个时间序列中添加另一个单独的变量,以明确区分每个部分…我绝对不确定这是否有效或完全愚蠢

我很高兴得到任何帮助或提示!!!如果我需要进一步澄清任何事情,请询问,我会立即这样做


Tags: 数据方法信息时间分类序列类别事情
1条回答
网友
1楼 · 发布于 2024-04-25 00:32:13

我正在建立一个类似的模型,但图像。 在您的情况下,假设您的数据的结构如下:

0000: x1, x2, x3....x21
0001: x1, x2, x3....x21
0002: x1, x2, x3....x21
.
.
.
5000: x1, x2, x3....x21

如果您希望仅使用一个观测值(即时间步长为1)的输入来预测结果,请构造数据集,以便时间序列的下一步是当前步骤的输出。这里箭头标记后的变量是您的目标变量

0000: x1, x2, x3 ....x21 ->> 0001: x1, x2, x3 .... x21
0001: x1, x2, x3 ....x21 ->> 0002: x1, x2, x3 .... x21
0002: x1, x2, x3 ....x21 ->> 0003: x1, x2, x3 .... x21
.
.
.
4999: x1, x2, x3 ....x21 ->> 5000: x1, x2, x3 .... x21

如果您希望有多个时间步作为输入,例如3,那么第4个时间步将是第一个时间步的目标变量,依此类推:

[0000: x1, x2, x3....x21
0001: x1, x2, x3....x21
0002: x1, x2, x3....x21] ->> [0003: x1,x2,x3 .... x21]
[0001: x1, x2, x3....x21
0002: x1, x2, x3....x21
0003: x1, x2, x3....x21] ->> [0004: x1,x2,x3 .... x21]
.
.
.
[4997: x1, x2, x3....x21
4998: x1, x2, x3....x21
4999: x1, x2, x3....x21] ->> [5000: x1,x2,x3 .... x21]

因此,重要的部分是正确定义数据集,LSTM可以很好地处理这些数据

相关问题 更多 >