模特:
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
但是当逐步运行多步骤预测时,结果会迅速增加,然后在一定范围内稳定。
时间序列是单变量的 有关模型或时间序列预测问题的任何建议吗?
答案 0 :(得分:1)
neurons = 5
,这是一个容量非常低的模型。可能不足以模拟目标时间序列函数。
timesteps = 1
,这是时间序列,因此在进行正确的预测之前,输出必须依赖于一定数量的timesteps
。 timesteps = 1
表示您的输出仅取决于1 timestep
。
batch_size = 1
,这需要一段时间才能收敛。通常,这应该是2的幂(16,32,64,128,256,512)。