forecast.gts: Forecast a hierarchical or grouped time series

Description Usage Arguments Details Value Author(s) References See Also Examples

Description

Methods for forecasting hierarchical or grouped time series.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
## S3 method for class '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,
		keep.model = FALSE, keep.intervals = FALSE,
		do.season = FALSE, allow.negative = 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

algorithms

An algorithm to be used for computing the combination forecasts (i.e. 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 all levels.

keep.resid

If TRUE, keep residuals at all levels.

keep.model

If TRUE, keep model descriptions at all levels.

keep.intervals

If TRUE, keep prediction intervals at all levels.

do.season

If TRUE, allow seasonal models at the lower levels if even the top level is not seasonal.

allow.negative

If TRUE, forecasts are not truncated to 0 when negative use this as setting lambda=0 requires all bts to be strictly positive and in my experience this is not reliable anyway - probably due to re-allocation between levels.

positive

If TRUE, forecasts are forced to be strictly positive

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.

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.

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.

Value

A forecasted hierarchical/grouped time series of class gts.

Author(s)

Earo Wang and Rob J Hyndman

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. (2014). Fast computation of reconciled forecasts for hierarchical and grouped time series. Working paper 17/14, Department of Econometrics & Business Statistics, Monash University. http://robjhyndman.com/working-papers/hgts/

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

1
2
3
4
5
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))
## End(Not run)

VaughanR0/Streamline-R documentation built on May 9, 2019, 9:43 p.m.