Time Series Features for Multi-Dimensional Problems I am new to applying ML to time series data but I do have experience doing general supervised learning. I have time series that is multidimensional (so several variables over time) with one output variable. I tried following some online tutorials but I am confused on a few points that keep coming up.
Some tutorials stress checking whether the variables are stationary (Usually they do this using a Dickey-Fuller test). 


*

*Do I have to check every feature in my time series for this or just the output variable?

*Can I keep in individual features that are not stationary?

*Do I have to check if my dataset (features or output variable) are autocorrelated? 

*Do I have to exclude any that are overly autocorrelated?

*Any other do's and don'ts for time series predictive analysis?


It seems like if I just lag my features with the output then I can readily apply supervised learning models like multiple linear regression or random forests if I cross-validate in a special fashion. Is that really all I have to do to make my time series a supervised learning task?
 A: *

*Generally speaking, multivariate time-series should be stationary because it reduces variance in the model. But this is usually looked at a case-by-case basis. The normalisation of such time-series could also prove to be important.

*You can transform them into stationary time-series. Two main methods are using differencing or Box-Cox transformations. See this section and this answer for more details.

*Absolutely! Highly correlated time-series make the estimation of the regression coefficients computationally difficult. To understand the correlation in time-series you'll need to first understand ACF and PACF. These links help with that.

*This link talks about causality and multi-collinearity at length. 

It is important to understand that correlations are useful for forecasting, even when there is no causal relationship between the two variables, or when the correlation runs in the opposite direction to the model. However, often a better model is possible if a causal mechanism can be determined.


*This link should help you differentiate the RNN vs Supervised learning approach for time-series. Generally,
if you have a time-series X = [1,2,3,4,5,6,7,8,9,10] then that could be transformed into a supervised learning problem like - 
# assuming we only consider lag = 1
| X(t) | X(t-1) | y    |
| ---- | ------ | ---- |
| 1    | 2      | 3    |
| 2    | 3      | 4    |
| 3    | 4      | 5    |
| 4    | 5      | 6    |
| 5    | 6      | 7    |

You can extend this for multivariate time-series like so - 
# assuming we only consider lag = 1
| X1(t) | X1(t-1) | X2(t) | X2(t-1) | y    |
| ----- | ------- | ----- | ------- | ---- |
| 1     | 2       | 50    | 60      | 3    |
| 2     | 3       | 60    | 70      | 4    |
| 3     | 4       | 70    | 80      | 5    |
| 4     | 5       | 80    | 90      | 6    |
| 5     | 6       | 90    | 100     | 7    |

```

