对于基于 LSTM 的模型,我有以下时间序列聚合输入:
x(0): {y(0,0): {a(0,0), b(0,0)}, y(0,1): {a(0,1), b(0,1)}, ..., y(0,n): {a(0,n), b(0,n)}}
x(1): {y(1,0): {a(1,0), b(1,0)}, y(1,1): {a(1,1), b(1,1)}, ..., y(1,n): {a(1,n), b(1,n)}}
...
x(m): {y(m,0): {a(m,0), b(m,0)}, y(m,1): {a(m,1), b(m,1)}, ..., y(m,n): {a(m,n), b(m,n)}}
其中x(m)是一个时间步长,a(m,n)并且是由可能是b(m,n)的非时间顺序键聚合的特征。y(m,n)0...1,000
例子:
0: {90: {4, 4.2}, 91: {6, 0.2}, 92: {1, 0.4}, 93: {12, 11.2}}
1: {103: {1, 0.2}}
2: {100: {3, 0.1}, 101: {0.4, 4}}
其中 90-93、103 和 100-101 是聚合键。
如何将这种输入提供给 LSTM?
另一种方法是使用非聚合数据。在这种情况下,我会得到 LSTM 的正确输入。例子:
汇总输入:
0: {100: {3, 0.1}, 101: {0.4, 4}}
原始输入:
0: 100, 1, 0.05
1: 101, 0.2, 2
2: 100, 1, 0
3: 100, 1, 0.05
4: 101, 0.2, 2
但在这种情况下,聚合将丢失,聚合的全部目的是最小化步数,以便我得到 500 个时间步,而不是例如 40,000 个,这不可能提供给 LSTM。如果您有任何想法,我将不胜感激。