我了解如何为多元时间序列创建模型,并且还知道如何为该序列产生多步输出。但是如何扩展此模型以在多个时间序列上工作?
我的数据包含许多国家/地区的时间序列,每个国家/地区都有5个特征。我的目标是针对每个国家/地区提前28天做出预测。
以下模型是一种能够产生28天的预测(尽管它们不是很准确)的LSTM编码器解码器:
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
_________________________________________________________________
培训数据分为7天,每个期间比前一天提前一天。示例(但只有一个功能而不是5个功能):
[1, 2, 3, 4, 5, 6, 7], [2, 3, 4, 5, 6, 7, 8] ...
提供给LSTM的数据具有以下形状:
Train_x shape: (113, 7, 5)
Train_y shape: (113, 7, 5)
Test shape: (4, 7, 5)
如何在187个国家/地区进行此操作?
我发现一个answer说,在培训过程中可以使用该国家的名称作为变量。另一个one显示了如何将时间序列数据与分类值合并。
在第二个线程中,最好的方法是将递归层的权重与学习到的分类数据表示相加(或设置)。基本上将国家/地区名称传递给Dense层,然后将输出结果添加到LSTM权重中。
我发现有discussion涉及在Keras中设置图层的权重,但是没有显示如何添加权重。
我的主要问题是: