我有连续的(时间序列)数据。该数据是多变量的。每个特征都可以表示为时间序列(它们都是每天计算的)。这是一个例子。
Days F1 F2 F3 F4 F5 Target
Day 1 10 1 0.1 100 -10 1
Day 2 20 2 0.2 200 -20 1
Day 3 30 3 0.3 300 -30 0
Day 4 40 4 0.4 400 -40 1
Day 5 50 5 0.5 500 -50 1
Day 6 60 6 0.6 600 -60 1
Day 7 70 7 0.7 700 -70 0
Day 8 80 8 0.8 800 -80 0
F1, F2, .. F5 是我的功能,Target 是我的二进制类。如果我使用 3 的窗口大小,我可以将我的特征转换为时间序列数据。然后,feat_1 将有 [10,20,30],feat_2 将有 [1,2,3] 等等。窗口大小为 3,我有 5 个特征 * 3 个窗口大小,如果写在同一个向量中,总共有 15 个特征。
这种方法的问题是把它们放在同一个向量中可能会导致一些问题,因为特征值不同
多元时间序列示例(1 个网络中的 15 个特征):
[10, 20, 30, 1, 2, 3, 0.1, 0.2, 0.3, 100, 200, 300, -10, -20, -30]
[20, 30, 40, 2, 3, 4, 0.2, 0.3, 0.4, 200, 300, 400, -20, -30, -40]
....
[60, 70, 80, 6, 7, 8, 0.6, 0.7, 0.8, 600, 700, 800, -60, -70, -80]
另一种选择是为具有相同目标的每个特征创建单独的时间序列网络(主要是 RNN、LSTM 或 CNN 或它们的组合),然后组合它们的结果。在这种情况下,我有 5 个不同的网络,它们都是单变量时间序列二进制预测。
具有单变量时间序列数据的不同网络示例(5 个网络中的 3 个特征):
[10, 20, 30]
... This is for network 1
[60, 70, 80]
[1, 2, 3]
... This is for network 2
[6, 7, 8]
...
[-10, -20, -30]
... This is for network 5
[-60, -70, -80]
这个问题是,即使我将它们的结果放入另一个网络,我也可能会丢失特征相关性的信息。
我的问题是,在处理多变量时间序列问题时使用哪种方法最好?我想使用第一种方法,但价值差异让我担心。第二种方法更容易,但我担心我可能会丢失一些重要信息。