Mar*_*cus 5 python predict lstm keras tensorflow
我了解如何为多元时间序列创建模型,并且还知道如何为该序列生成多步输出。但如何扩展这个模型以处理多个时间序列呢?
我的数据包含许多国家/地区的时间序列,每个国家/地区有 5 个特征。我的目标是为每个国家提供未来 28 天的预测。
以下模型是一个编码器解码器 LSTM,能够生成 28 天的预测(尽管它们不是很准确):
Model: "sequential_1"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
lstm_1 (LSTM) (None, 10) 640
_________________________________________________________________
repeat_vector_1 (RepeatVecto (None, 7, 10) 0
_________________________________________________________________
lstm_2 (LSTM) (None, 7, 10) 840
_________________________________________________________________
time_distributed_1 (TimeDist (None, 7, 5) 55
=================================================================
Total params: 1,535
Trainable params: 1,535
Non-trainable params: 0
_________________________________________________________________
Run Code Online (Sandbox Code Playgroud)
训练数据分为 7 天的时间段,每个时间段比前一个时间段提前一天。示例(但只有 1 个特征而不是 5 个):
[1, 2, 3, 4, 5, 6, 7], [2, 3, 4, 5, 6, 7, 8] ...
Run Code Online (Sandbox Code Playgroud)
提供给 LSTM 的数据具有以下形状:
[1, 2, 3, 4, 5, 6, 7], [2, 3, 4, 5, 6, 7, 8] ...
Run Code Online (Sandbox Code Playgroud)
如何为 187 个国家做到这一点?
我发现一个答案说可以在训练过程中使用国家名称作为变量。另一篇展示了如何将时间序列数据与分类值合并。
在第二个线程中,最佳方法包括使用分类数据的学习表示添加(或设置)循环层的权重。基本上通过 Dense 层传递国家/地区名称,并将该输出添加到 LSTM 权重中。
我发现了有关在 Keras 中设置图层权重的讨论,但它没有显示如何添加权重。
我的主要问题是:
| 归档时间: |
|
| 查看次数: |
1737 次 |
| 最近记录: |