相关疑难解决方法(0)

在 Keras 中实现因果 CNN 以进行多变量时间序列预测

这个问题是我上一个问题的后续问题:Multi-feature causal CNN-Keras implementation,但是,有很多事情我不清楚,我认为这值得一个新问题。这里有问题的模型是根据上述帖子中接受的答案构建的。

我正在尝试将因果 CNN 模型应用于具有 5 个特征的 10 个序列的多元时间序列数据。

lookback, features = 10, 5
Run Code Online (Sandbox Code Playgroud)
  • 过滤器和内核应该设置为什么?

    • 过滤器和内核对网络有什么影响?
    • 这些只是一个任意数量 - 即 ANN 层中的神经元数量吗?
    • 或者它们会对网络如何解释时间步长产生影响?
  • 应该将扩张设置为什么?

    • 这只是一个任意数字还是代表lookback模型的?
filters = 32
kernel = 5
dilations = 5
dilation_rates = [2 ** i for i in range(dilations)]

model = Sequential()
model.add(InputLayer(input_shape=(lookback, features)))
model.add(Reshape(target_shape=(features, lookback, 1), input_shape=(lookback, features)))

Run Code Online (Sandbox Code Playgroud)

根据前面提到的答案,输入需要根据以下逻辑重新整形:

  • Reshape5个输入特征现在都被视为对于TimeDistributed层的时间层
  • 当 Conv1D 应用于每个输入特征时,它认为层的形状是 (10, 1)

  • 使用默认的“channels_last”,因此...

  • 10个时间步是时间维度
  • 1 是“通道”,特征图的新位置
# Add causal layers
for dilation_rate in dilation_rates:
    model.add(TimeDistributed(Conv1D(filters=filters, …
Run Code Online (Sandbox Code Playgroud)

python time-series conv-neural-network keras tensorflow

5
推荐指数
1
解决办法
1680
查看次数