递归神经网络-时间序列预测:关于输出神经元的数量和序列长度

时间:2019-05-22 14:08:06

标签: keras deep-learning lstm recurrent-neural-network gated-recurrent-unit

上下文

我目前正在使用门控循环单元进行时间序列预测。无论如何,我的问题应适用于所有此类递归网络。

在我的数据中,我有15分钟的时间戳,这意味着96个数据点代表一天。目的是预测时间序列接下来两天的进度,即96 * 2 = 192个数据点。

我的问题

就目前为止我所知道的,为了预测这192个数据点,我必须在体系结构的末尾设置192个输出神经元,每个神经元代表一个数据点(例如,使用Keras,这将是一个密集层,其中有192个神经元GRU层的顶部)。

Keras中具有tensorflow-backend的示例模型如下所示:

model = Sequential()
model.add(GRU(100, dropout=0.2, recurrent_dropout=0.1, activation='relu', 
                input_shape=(158, 192), #158 Training instances with sequence length 192
                batch_size=1)
            )        
model.add(Dense( 192 ))
model.compile(optimizer=Adam(), loss=loss)

现在的问题是:

  1. 是使用192个输出神经元的唯一机会,还是在递归网络中是否存在某种“滑动”功能,例如,我可以用来连续预测每天(意思是第一个数据点为96个数据点,然后为96个数据点进行预测)第二天)
  2. 如果我必须使用192个输出神经元,那么是否最适合将我的时间序列分成192个数据点的序列,以使我的输入数据与输出的值相同?

0 个答案:

没有答案