Takes a time series as input and produces forecasts using the temporal hierarchical approach of Athanasopoulos et al (2016).
Arguments
- y
Time series input
- m
Seasonal period
- h
Forecast horizon
- comb
Combination method of temporal hierarchies, taking one of the following values:
- "struc"
Structural scaling - weights from temporal hierarchy
- "mse"
Variance scaling - weights from in-sample MSE
- "ols"
Unscaled OLS combination weights
- "bu"
Bottom-up combination -- i.e., all aggregate forecasts are ignored.
- "shr"
GLS using a shrinkage (to block diagonal) estimate of residuals
- "sam"
GLS using sample covariance matrix of residuals
- usemodel
Model used for forecasting each aggregation level:
- "ets"
exponential smoothing, using the
etsfunction.- "arima"
arima, using the
auto.arimafunction.- "theta"
theta method, using the
thetaffunction.- "naive"
random walk forecasts
- "snaive"
seasonal naive forecasts, based on the last year of observed data.
- forecastfunction
User-defined function to be used instead of
usemodel. The function must take a time series as the first argument, and the forecast horizon as the second argument. It must return an object of classforecast.- aggregatelist
User-selected list of forecast aggregates to consider
- ...
Arguments to be passed to the time series modelling function (such as
etsorauto.arima), or toforecastfunction.
Details
This function computes the temporal aggregates of y using
tsaggregates, then calculates all forecasts using the model function
specified by usemodel or forecastfunction, and finally reconciles the
forecasts using reconcilethief. The reconciled forecasts of y
are returned.
