# Time Serie Forecasting - Machine Learning approach

I have some problem with the choice of forecast techniques on time series data with a machine learning approach. I want to forecast the CPU usage of the system for exactly one day (length of time serie is one week). I know that there are exist several stochastic forecast approach such as ARIMA, ETS etc. But these techniques can only accept only one target variable for the prediction ("UsageCPU"). Beside only one target variable it would be nice to compute other variables such as UsageMemory, Indicator and Delay in my forecast, because these data have some correlations. Possible forecast techniques could be regression or neural network.

But at this point I have no clue, how to integrate multiple features in my forecast. There are exist some example for neural networks in python and R, where RNN or LTSM have been used and for regression where Decision Tree or Random Forrest have been used. For all these techniques the sliding window approach would be one option, right?

Timestamp              UsageCPU     UsageMemory   Indicator  Delay
2014-01-03 21:50:00    3123            1231          1        123
2014-01-03 22:00:00    5123            2355          1        322
2014-01-03 22:10:00    3121            1233          2        321
2014-01-03 22:20:00    2111            1234          2        211
2014-01-03 22:30:00    1000            2222          2         0
2014-01-03 22:40:00    4754            1599          1         0


So, is it required to apply the sliding window approach for all my variables in the dataset? Because I could not found any code example of this question.

Would be nice is someone can help me. Thanks!

• Can you clarify - why can't you use a stochastic forecasting approach, one for each variable using the others as exogenous regressors? – AnscombesGimlet May 2 '17 at 17:54
• You should take a look at vector autoregression: otexts.org/fpp/9/2 – AnscombesGimlet May 2 '17 at 17:54
• Well, as I mentioned it should be a machine learning approach by using different regression models (decision tree, random forest, multilayer perceptron regression). Autoregressive models are nice and are quite easy to implement, but as you can see in your hyperlink, the accuracy of the forecast is not that precise. – Daniel May 2 '17 at 18:11
• It sounds like you're going in with the mindset that you must use a "machine learning approach" and you'll use that hammer on anything, nail or toe. I don't see that they're "not that precise" given the input data. I highly doubt you'll find any of the methods you mention more accurate than using a "traditional" ARIMA model with regressors. The models you mention can work well for non-time series data but haven't shown all that useful for time series, save using xgb when you have thousands of related series (i.e. Kaggle competitions). – AnscombesGimlet May 2 '17 at 19:11
• But whatever you end up modeling with, you should Box-Ljung test the residuals :) – AnscombesGimlet May 2 '17 at 19:12