【问题标题】:Keras LSTM for time-series bad prediction and convergance to unchangable range of valuesKeras LSTM 用于时间序列错误预测和收敛到不可更改的值范围
【发布时间】:2017-10-20 18:40:26
【问题描述】:

型号:

def buildModel(neurons= 5, batch_size= 1, timestep=1, features=1):
    model = Sequential()
    model.add(LSTM(neurons, 
                   batch_input_shape=(batch_size, timestep, features), 
                   #return_sequences= True,
                   stateful=True))

    model.add(Dense(1))
    model.compile(loss='mean_squared_error', optimizer='adam',  
                  metrics=[metrics.MAPE, 'accuracy'])
    return model

测试 RMSE:0.104 测试 MAPE:14.040

但在逐步进行多步预测时,结果迅速增加,然后稳定在一定范围内。

时间序列是单变量的 关于模型或时间序列预测问题的任何建议?

【问题讨论】:

    标签: tensorflow time-series keras forecasting lstm


    【解决方案1】:

    neurons = 5,这是一个非常低容量的模型。可能不足以对目标时间序列函数进行建模。

    timesteps = 1,这是时间序列,因此输出必须依赖于一定数量的timesteps,才能做出正确的预测。 timesteps = 1 表示您的输出仅取决于 1 timestep

    batch_size = 1,这需要一段时间才能收敛。通常,这应该是 2 的幂(16、32、64、128、256、512)。

    【讨论】:

    • 感谢 rowel 的提示。我只是该领域的新手,需要一些帮助
    猜你喜欢
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 2019-01-08
    • 2021-04-21
    • 2018-12-28
    • 2018-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多