I want to predict as many time steps of a variable (X) as possible. The more time steps forecasted, the more successful the solution proposed.
To the best of my knowledge, applying LSTM neural networks seems to be a good idea, as in the well-known examples to forecast financial variables.
However, this problem is a bit different since X depends on two discrete values or variables. Let's name them Y and Z. Therefore, X is collected for different combinations of Y and Z, as follows:
X(Y=0, Z=1) = [1 1 2 3 6 23 12 5] X(Y=1, Z=1) = [1 3 3 4 2 45 68 9] X(Y=1, Z=1) = [1 3 2 4 2 48 63 8] # Note that there could be different training examples X(Y=2, Z=1) = [...] X(...) = [...] X(Y=N, Z=N) = [...]
As can be observed, X shows a different behavior according to the selected values of Y and Z. I would like to train a neural network capable of predicting most of the values of X according to the 2-tuple input (Y, Z).
Example of prediction for (Y,Z) = (0,1) using some elements (n) of X: Input: (Y,Z) = (0,1) and some elements of X, X[0, n] = [1 1 2 3] Output: X[n+1, N] = [6 23 12 5]
Or ideally, predicting the whole series X:
Example of prediction for (Y,Z) = (0,1): Input: (Y,Z) = (0,1) Output: X = [1 1 2 3 6 23 12 5]
What type of neural network or machine learning technique would you apply?