I lately recapped my Time Series knowledge and realised that machine learning mostly gives only one step ahead forecasts.
With one-step-ahead forecasts I mean forecasts which, e.g., if we have hourly data, use the data from 10am to forecast 11am and 11am for 12am etc.
Can machine learning methods produce an h-steps-ahead forecasts? With h-step-ahead forecasts I mean that, e.g., assuming hourly data, we use the data from 10am to make a 7-step-ahead forecast to get estimates for 11,12,13,14,15,16,17 'o clock.
Related to my main question I wonder:
- What are the reasons that I don't see anyone using machine learning to
make h-step-ahead forecasts? - If there is a method using machine
learning, is it more or less precise than ARIMA?
Best Answer
(Part of this is taken from a previous post of mine) First of all you need to distinguish the two different ways to perform multistep times series forecasting: Recursive forecasting and direct forecasting:
Now to answer your main question:
Yes ML methods can, and they can produce h-steps ahead forecast using both recursive and direct multistep forecasts. Not only that, but for direct multi-step forecasting they are actually more suited to the task than traditional models like ARIMA or Exponential Smoothing. Note however that for direct multi-step forecasting, you need to specify before hand the h-steps ahead for which you want to forecast and train your model accordingly, whereas for recursive forecasting you can use your model for any number of future steps you want.
Moreover Chevillon & Hendry argue that in some cases direct multi-step forecasting is more accurate than recursive forecasting - implying that ML would be more accurate than traditional methods.
For your other questions:
Many people are using ML for multi-step forecasting, especially using neural netwroks: Hyndman's nnetar method available in the R Forecast package, Kourentzes' nnfor R package, Amazon's DeepAR model, and many others.
XGBoost has been used successfully in a few Kaggle time series competitions as well.
See Bontempi et al. for a general discussion.
That is an open question, and obviously depends on the data and the application that one is forecasting for.