1
$\begingroup$

I've found lots of tutorial/examples that focus on sequence prediction, which use previous time steps of the input variable(s) in order to create a forecast e.g. predict stock market price based on previous price.

What if I want to make a sequence prediction for a variable which is not part of the inputs (e.g. using sequences of X1 and X2 to predict a sequence for X3 at the same time step(s)). Is this the same kind of problem in the previously mentioned tutorials, just in a different context?

I've been trying to learn how to make a Sequential model in Keras, but first wanted to get some clarity on my problem and make sure i'm thinking about it in the right way.

If anyone can provide some insight into clearly framing the problem for me to start trying to build a model it would be most appreciated.

$\endgroup$
1
$\begingroup$

If I understand your meaning: you are modelling by proxy. In other words, it could be seen as using a common autoregressive, simply with the autoregressive part itself removed. I won't get into the details of RNNs and Keras, but let me first explain with a common model used for time-series analysis, ARIMA:

ARIMAX stands for:

  • Autoregressive - model a variable using its own historic values
  • Integrated - use differences between values over timesteps (not the raw values)
  • Moving Average - include historic values of the actual forecast errors
  • X - common final letter to show we use exogenous variables, variable apart from our target

ARIMA is characterised by three parameters, which tell us how many previous timesteps of the first three terms above are used: ARIMA(p, d, q). p is for AR terms, d for I terms and q for MA.

Within this framework, your problem would be equivalent to setting p = 0. We can see on the Wikipedia site linked above, or here, that doing so makes the ARIMA model essentially an exponential smoothing model!


You could start by analysing how correlated your variables X1 and X2 are with the target variable X3, in order to assess how well (or badly) they might explain the target.

If you follow some tutorials on setting up an experiment for ARIMA, it will only be technicalities to feed the same data into an RNN, or anything else you might build using Keras. You need to feed blocks of data into the model, leaving out previous timesteps of the target variable itself... although if you have them and can use them for validation/testing, I would wonder why you aren't using them to improve the model!

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.