[英]Keras LSTM for time-series bad prediction and convergance to unchangable range of values
該模型:
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
但是逐步進行多步預測時,結果會迅速增加,然后穩定在一定范圍內。
時間序列是與模型或時間序列預測問題有關的單變量建議嗎?
neurons = 5
,這是一個非常低的容量模型。 可能不足以對目標時間序列函數進行建模。
timesteps = 1
,這是時間序列,因此在做出正確的預測之前,輸出必須取決於一定數量的timesteps
。 timesteps = 1
表示您的輸出僅取決於1個timestep
。
batch_size = 1
,這需要一段時間才能收斂。 通常,這應該是2的冪(16、32、64、128、256、512)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.