2
$\begingroup$

First, I read the Q&As here, but it's not entirely clear for me what to do given my situation.

I have more than 1700 different time series, each expressed as weekly data. My objective is to produce "good enough" forecasts (in terms of accuracy) for the next season/quarter. The length of my longest time series is 117 weekly data points, which starts halfway 2016.

The models I am currently considering are the simplest models: naive, seasonal naive, mean, random walk + drift. I would also like to consider some exponential smoothing models and potentially an ARIMA model using auto.arima() from the forecast package in R. I wonder:

  1. Can I just keep the data weekly and produce forecasts 13 steps (weeks) ahead?
  2. I am interested in forecasting one season ahead, so would it be best to build my models in quarterly data or will my time series become much too 'short'? (in my dataset I have an indicator for which season / quarter the week belongs to). This would mean I have a maximum of 9 quarters and for most time series much less (this could be even only 2).
  3. Follow up on 2: as a maximum of 9 data points in a time series seems (too) few, would it be good to aggregate my weekly data to monthly data and produce 3 months ahead forecasts based on this?
$\endgroup$
3
$\begingroup$
  1. Yes, you can do that. If you are considering auto.arima(), then simply use forecast(..., h=13) and look at ?forecast.Arima (note the capitalization).
  2. You can either forecast your weekly data and aggregate the forecasts, or model and forecast on quarterly granularity. It's hard to say offhand which one will be more accurate. (If you want to be fancy, you can do both and reconcile the forecasts using the MAPA algorithm, Kourentzes et al., 2014 - take a look at the MAPA package for R).

    If you have only two quarters' worth of data, then yes, that is not much. But then again, that is just 26 weeks, which I would not consider much more reliable to forecast 13 weeks out.

  3. As above, we can't tell you which approach would be most accurate. Try both aggregating-then-forecasting and forecasting-then-aggregating (and potentially MAPA) and check for yourself which one is better on your particular data, using a holdout sample. I personally believe that MAPA is worthwhile, but I won't declare that it will always improve accuracy.
$\endgroup$
  • $\begingroup$ Thanks for your quick help! I am using tsCV at the moment (instead of a holdout sample), which I will also use with the auto.arima function, if that's possible at least. For your 3rd answer: I would like to do the comparison based on the RMSE. So: weekly data forecasts --> RMSE, monthly or quarterly data forecasts --> RMSE. Can I simply use the average RMSE for the weekly data (i.e. sum of the 13 RMSEs and divide by 13) to compare it to the RMSE of the quarterly data (or average RMSE of the monthly data)? $\endgroup$ – Amonet Jan 31 at 15:51
  • 1
    $\begingroup$ Re tsCV: I don't know that one, so I can't comment on it - sorry. Re RMSE: better to calculate the RMSE on quarterly forecasts: on the one hand, just aggregate weekly forecasts and compare the sum against the actual using RMSE, on the other hand, compare the quarterly forecast against the actual. Aggregating RMSEs (instead of forecasts) assumes independence to be meaningful, which is always dubious in time series. $\endgroup$ – Stephan Kolassa Jan 31 at 15:54
  • 1
    $\begingroup$ FYI: tsCV is also from the forecast package, that ensures cross validation (CV) is possible without having to come up with tedious code. CV is in case of the naive, snaive, and mean method pointless I believe, but will be useful for when I try out complexer models. $\endgroup$ – Amonet Jan 31 at 16:06

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.