使用 LSTM 网络编码时间序列预测
Encoding Time Series Forecasting with LSTM Networks
我有一个大数据集,其中包含以下形式的条目:
user_id, measurement_date, 值 1, 值 2,..
随之而来的挑战是如何处理数据中的差距。
测量是随机进行的,因此总会有更小和更大的差距。
此处处理缺失数据的最佳方法是什么。
我正在考虑以下方法:
- 对于所有不存在的测量,使用一个特殊的向量。
(这会导致不切实际的训练数据,因为非测量的条目接管了)
- 与上面类似,但将多个非测量值分组到一个向量中,例如。引入一个表示未进行测量的天数的向量。
我现在的问题是最好的编码方式是什么。
目前 LSTM 网络以未编码输入向量的形式获得输入:
vector1, vector2,..
向量包含值。
但是现在当我引入新符号时:
s1 := <=3 days no measurement taken
s2 := <=7 ..
我会对它们进行热编码。
是否最好引入一个区分两种词类型的前缀?
例如
1 vector -> 1, value1, value2
0 vecotr -> 0, 0, 1 (s1)
-> 0, 1, 0 (s2)
实际上,这两种方式都不可能对其进行编码。
我有一个大数据集,其中包含以下形式的条目:
user_id, measurement_date, 值 1, 值 2,..
随之而来的挑战是如何处理数据中的差距。 测量是随机进行的,因此总会有更小和更大的差距。
此处处理缺失数据的最佳方法是什么。
我正在考虑以下方法:
- 对于所有不存在的测量,使用一个特殊的向量。 (这会导致不切实际的训练数据,因为非测量的条目接管了)
- 与上面类似,但将多个非测量值分组到一个向量中,例如。引入一个表示未进行测量的天数的向量。
我现在的问题是最好的编码方式是什么。
目前 LSTM 网络以未编码输入向量的形式获得输入:
vector1, vector2,..
向量包含值。
但是现在当我引入新符号时:
s1 := <=3 days no measurement taken
s2 := <=7 ..
我会对它们进行热编码。
是否最好引入一个区分两种词类型的前缀?
例如
1 vector -> 1, value1, value2
0 vecotr -> 0, 0, 1 (s1)
-> 0, 1, 0 (s2)
实际上,这两种方式都不可能对其进行编码。