hts (version 5.1.5)

forecast.gts: Forecast a hierarchical or grouped time series

Description

Methods for forecasting hierarchical or grouped time series.

Usage

# S3 method for gts
forecast(object, h = ifelse(frequency(object$bts) > 1L, 2L *
  frequency(object$bts), 10L), method = c("comb", "bu", "mo", "tdgsa",
  "tdgsf", "tdfp"), weights = c("wls", "ols", "mint", "nseries"),
  fmethod = c("ets", "arima", "rw"), algorithms = c("lu", "cg", "chol",
  "recursive", "slm"), covariance = c("shr", "sam"), keep.fitted = FALSE,
  keep.resid = FALSE, positive = FALSE, lambda = NULL, level,
  parallel = FALSE, num.cores = 2, FUN = NULL, xreg = NULL,
  newxreg = NULL, ...)

Arguments

object

Hierarchical or grouped time series object of class {gts}

h

Forecast horizon

method

Method for distributing forecasts within the hierarchy. See details

weights

Weights used for "optimal combination" method: weights="ols" uses an unweighted combination (as described in Hyndman et al 2011); weights="wls" uses weights based on forecast variances (as described in Hyndman et al 2015); weights="mint" uses a full covariance estimate to determine the weights (as described in Hyndman et al 2016); weights="nseries" uses weights based on the number of series aggregated at each node.

fmethod

Forecasting method to use for each series.

algorithms

An algorithm to be used for computing the combination forecasts (when method=="comb"). The combination forecasts are based on an ill-conditioned regression model. "lu" indicates LU decomposition is used; "cg" indicates a conjugate gradient method; "chol" corresponds to a Cholesky decomposition; "recursive" indicates the recursive hierarchical algorithm of Hyndman et al (2015); "slm" uses sparse linear regression. Note that algorithms = "recursive" and algorithms = "slm" cannot be used if weights="mint".

covariance

Type of the covariance matrix to be used with weights="mint": either a shrinkage estimator ("shr") with shrinkage towards the diagonal; or a sample covariance matrix ("sam").

keep.fitted

If TRUE, keep fitted values at the bottom level.

keep.resid

If TRUE, keep residuals at the bottom level.

positive

If TRUE, forecasts are forced to be strictly positive (by setting lambda=0).

lambda

Box-Cox transformation parameter.

level

Level used for "middle-out" method (only used when method = "mo").

parallel

If TRUE, import parallel package to allow parallel processing.

num.cores

If parallel = TRUE, specify how many cores are going to be used.

FUN

A user-defined function that returns an object which can be passed to the forecast function. It is applied to all series in order to generate base forecasts. When FUN is not NULL, fmethod, positive and lambda are all ignored. Suitable values for FUN are tbats and stlf for example.

xreg

When fmethod = "arima", a vector or matrix of external regressors used for modelling, which must have the same number of rows as the original univariate time series

newxreg

When fmethod = "arima", a vector or matrix of external regressors used for forecasting, which must have the same number of rows as the h forecast horizon

...

Other arguments passed to ets, auto.arima or FUN.

Value

A forecasted hierarchical/grouped time series of class gts.

Details

Base methods implemented include ETS, ARIMA and the naive (random walk) models. Forecasts are distributed in the hierarchy using bottom-up, top-down, middle-out and optimal combination methods.

Three top-down methods are available: the two Gross-Sohl methods and the forecast-proportion approach of Hyndman, Ahmed, and Athanasopoulos (2011). The "middle-out" method "mo" uses bottom-up ("bu") for levels higher than level and top-down forecast proportions ("tdfp") for levels lower than level.

For non-hierarchical grouped data, only bottom-up and combination methods are possible, as any method involving top-down disaggregation requires a hierarchical ordering of groups.

When xreg and newxreg are passed, the same covariates are applied to every series in the hierarchy.

References

G. Athanasopoulos, R. A. Ahmed and R. J. Hyndman (2009) Hierarchical forecasts for Australian domestic tourism, International Journal of Forecasting, 25, 146-166.

R. J. Hyndman, R. A. Ahmed, G. Athanasopoulos and H.L. Shang (2011) Optimal combination forecasts for hierarchical time series. Computational Statistics and Data Analysis, 55(9), 2579--2589. http://robjhyndman.com/papers/hierarchical/

Hyndman, R. J., Lee, A., & Wang, E. (2015). Fast computation of reconciled forecasts for hierarchical and grouped time series. Computational Statistics and Data Analysis, 97, 16--32. http://robjhyndman.com/papers/hgts/

Wickramasuriya, S. L., Athanasopoulos, G., & Hyndman, R. J. (2015). Forecasting hierarchical and grouped time series through trace minimization. Working paper 15/15, Department of Econometrics & Business Statistics, Monash University. http://robjhyndman.com/working-papers/mint/

Gross, C. and Sohl, J. (1990) Dissagregation methods to expedite product line forecasting, Journal of Forecasting, 9, 233-254.

See Also

hts, gts, plot.gts, accuracy.gts

Examples

Run this code
# NOT RUN {
forecast(htseg1, h = 10, method = "bu", fmethod = "arima")

# }
# NOT RUN {
  forecast(
    htseg2, h = 10, method = "comb", algorithms = "lu",
    FUN = function(x) tbats(x, use.parallel = FALSE)
  )
# }
# NOT RUN {
# }

Run the code above in your browser using DataCamp Workspace