首页 > 解决方案 > 使用具有每小时时间序列作为输入的 LSTM 预测每日价值

问题描述

我正在训练一个编码如下的单层 LSTM:

model = keras.Sequential()

model.add(keras.layers.LSTM(units=64,
                            input_shape=(X_train.shape[1], X_train.shape[2])))

model.add(keras.layers.Dense(units=1,  activation='sigmoid'))

model.compile(
  loss='binary_crossentropy',
  optimizer = keras.optimizers.Adam(lr=0.0001),
  metrics=['acc']
)

我的 LSTM 的输入是每小时的时间序列。我想根据每小时系列预测每天的值。
目前我所做的是生成每小时预测,然后将第一个预测作为每天的预测。但是我想知道是否有一种方法可以每天生成相同的预测。
谢谢!

标签: pythonkerastime-serieslstmrecurrent-neural-network

解决方案


我认为你有两个选择。

  1. 使用基于每日的训练数据集训练模型。在筛选出当天最合适的数据点时,您可以使用重复次数最多的数据点 ( mode ) 或平均值。

  2. 以每小时为基础的输出,但预测接下来 24 小时的 24 个输出,并获得这 24 个输出的平均值或模式作为当天的预测。

最好的方法可能是第二种。这将是非常准确的。


推荐阅读