2
$\begingroup$

I have a monthly time series dataset starting from 2014 January until past month (2021 March as of today). I need to forecast monthly values for it with a 5 year forecast horizon so basically forecasting 60 data points into the future.

Please note that my data is univariate, with columns DATE and VALUE. I need to perform this forecasting exercise for 2 datasets wherein one is a stationary time series and other one is non-stationary time series.

Historical date range: 2014 January to 2021 March

Forecast required: 2021 April to 2026 March

Since I don't have too many historical data points, such forecasting might seem unreasonable. But I would like to seek suggestions from our community to know what approach / model might be my best shot at getting this done.

$\endgroup$

1 Answer 1

3
$\begingroup$

Seven years of data is quite a lot, so you should be able to detect any trend and seasonality. Then again, five years horizon is also a lot, so note that the long term forecasts will be rather dubious.

I would recommend you use a simple and well understood method, like Exponential Smoothing, or possibly ARIMA. Both are implemented in the forecast and fable packages for R.

I very much recommend the free open forecasting textbook Forecasting: Principles and Practice by Athanasopoulos & Hyndman, either the 2nd ed., or the 3rd ed. They use the R packages I recommend, and their textbook and R packages are truly the gold standard in forecasting.

$\endgroup$
5
  • $\begingroup$ Thanks for the response, Stephan. I will definitely look into the material you suggested. But just to add more details, I have 87 historical data points and I need to forecast 60 data points in the future. I agree that it is a lot. But the caveat is, the underlying data show very weak signal in terms trend and seasonality. I already tried ARIMA model with different settings for (p,q,d) hyper parameters, but the predictions that I get are either just a replica of the pattern from the past or a flat line for the predictions. Hence, I thought of seeking some help from our community. $\endgroup$ Commented Apr 16, 2021 at 22:36
  • $\begingroup$ Although i am not familiar with Exponential Smoothing, but I can definitely check it out and see if it works for my use case. Would you by any chance have some other alternative suggestions too? Given the data is non-stationary. I can check out all the options you suggest. Thanks again. $\endgroup$ Commented Apr 16, 2021 at 22:38
  • $\begingroup$ I strongly, strongly, strongly recommend fitting ets() and/or auto.arima() to your data before you try anything more fancy. If there is little signal in your data and these methods do not extract anything, then a more complex model will only overfit. Note that they deal with the most common forms of nonstationarity (trend and seasonality). ... $\endgroup$ Commented Apr 17, 2021 at 8:06
  • $\begingroup$ ... Also note that a flat line may indeed be the best forecast, and better than anything that wiggles: Is it unusual for the MEAN to outperform ARIMA? Finally, this thread may give you ideas for a way forward: How to know that your machine learning problem is hopeless? Also this earlier answer of mine. $\endgroup$ Commented Apr 17, 2021 at 8:08
  • 1
    $\begingroup$ Thanks for the guidance Stephan. I highly appreciate it. I will definitely go through the posts you sent and I've already started digging into exponential smoothing. This looks promising :) $\endgroup$ Commented Apr 20, 2021 at 8:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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