I see that LSTM is very powerful reconstructing time series it was fed with, but my issue is:

=> Can LSTM predict future values without requiring real (training/testing) data?

My objective is simple: Modelling a univariate time series to predict itself.

ARIMA, SARIMA and Holt Winters were used, but Machine Learning (using LSTM) approach for forecasting seems fake in practice. Am I wrong about my point?

My dataset is a 2 years duration series observed daily.

I've evaluated initially 1.5 year as training set, defined by trainingX (a rolling window of 180 days duration) and trainingY (a rolling window of 30 days duration).

I have tried: - A single LSTM layer with 30 units, returning sequences - A single LSTM layer varing of 1 unit to 1024 units and a dense layer with 30 units - Stacked LSTM with 2 to 4 layers with 1 to 1024 layers and a dense layer with 30 units - All of them were modified by sigmoid, relu and tanh activation functions

Besides, Using a rolling window prediction, a method that releases the first "L" values of the trainingX set and append the first "L" prediction values at the end of the same trainingX set, I get random predictions converging to a constant or to zero.

The training and predict batch were varied of 1 to 250.

Have anyone experienced a reconstructed (lagged) output time series when wanting a forecasting output?


closed as unclear what you're asking by Toros91, Mark.F, Icyblade, Sean Owen Feb 21 at 23:45

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\begingroup$ yes I have! but I am not sure why :( Looking forward to the answers here! $\endgroup$ – pcko1 Feb 19 at 21:59
  • $\begingroup$ I'm not sure what this means, whether you're asking if LSTMs can predict sequences (yes) or why yours doesn't work (not sure), or where you test data is coming from (it's the future part of the series predicted from past) $\endgroup$ – Sean Owen Feb 21 at 23:45
  • $\begingroup$ Hi @SeanOwen, the objective is to predict a sequence dependent upon on time, a time series, by not feeding real data. $\endgroup$ – Iago B Feb 22 at 17:05
  • $\begingroup$ What does it mean to predict without real data? at some level, you have to have some training data. $\endgroup$ – Sean Owen Feb 22 at 20:26
  • $\begingroup$ I mean that when you use predict method from model object, eg. model.predict(input_data), you need to specify an argument as input data. The model trained with real data, as described above, needs input data to be real data too. There is no way to supply previous values to predict future values, it only reconstructs input data. @SeanOwen $\endgroup$ – Iago B Feb 26 at 13:22