I am new to LSTM model.
I used LSTM model to predict time-serial error of sales.
This is the plots of trained, validated and both.
I thought that the model predicted short-term fluctuation.
But when I predict future values which is not realized yet, values converge to a certain limit so fast.
For example if I want to predict next 365 days sales, they converge to a certain level and consequent future value does not fluctuate at all.
7 days sales at the point after convergence
[[[0.28243372]
[0.28243372]
[0.28243372]
[0.28243372]
[0.28243372]
[0.28243372]
[0.28243372]]]
I used codes below
day0arr = np.append(X_val.flatten()[1:], y_val[-1]).reshape(364, 7, 1)[(-1):,:,:]
future365 = []
for i in range(365):
day_to = model.predict(day0arr).flatten()
future365.append(day_to)
day0arr = np.append(day0arr.flatten()[1:], day_to).reshape(1, 7, 1)
model.reset_states()
print(day0arr)
My logic here is making prediction of future day 1 with the trained model and the last sequence of data, and appending the predicted value to the last sequence while eliminating the first value of the sequence and so on.
Is there any way to preserve trend of short-term fluctuation for future prediction with LSTM?