I'm trying to forecast daily data (I have 15 years of historical data) with complex seasonality: weekly, monthly, annual and also irregular seasonality due to moving events like Easter.
As suggested by Hyndman, I tried to use the auto.arima()
function with covariates (Fourier Terms for regular seasonality; dummy variables for moving events).
However, the multiple step-ahead forecasts for out of sample data are not good.
Besides the auto.arima()
function is very slow when including covariates.
I tried another approach:
- Heuristically choose maximum lag orders for $p$, $q$, and the dummy variables for moving events;
- Penalise the size of the coefficients (potentially all the way to zero) using LASSO.
The out of sample forecasts, both one-step ahead and multiple-steps ahead, are way better, and my code is running faster. But I'm not sure whether this approach make sense?