auto.ces(data, models = c("none", "simple", "full"), initial = c("optimal",
"backcasting"), ic = c("AICc", "AIC", "BIC"), cfType = c("MSE", "MAE",
"HAM", "MLSTFE", "MSTFE", "MSEh"), h = 10, holdout = FALSE,
intervals = c("none", "parametric", "semiparametric", "nonparametric"),
level = 0.95, intermittent = c("none", "auto", "fixed", "croston", "tsb",
"sba"), bounds = c("admissible", "none"), silent = c("none", "all",
"graph", "legend", "output"), xreg = NULL, xregDo = c("use", "select"),
initialX = NULL, updateX = FALSE, persistenceX = NULL,
transitionX = NULL, ...)"optimal", meaning that the initial
states are optimised, or "backcasting", meaning that the initials are
produced using backcasting procedure.cfType can
be: MSE (Mean Squared Error), MAE (Mean Absolute Error),
HAM (Half Absolute Moment), MLSTFE - Mean Log Squared Trace
Forecast Error, MSTFE - Mean Squared Trace Forecast Error and
MSEh - optimisation using only h-steps ahead error. If
cfType!="MSE", then likelihood and model selection is done based on
equivalent MSE. Model selection in this cases becomes not optimal.There are also available analytical approximations for multistep functions:
aMSEh, aMSTFE and aMLSTFE. These can be useful in cases
of small samples.
TRUE, holdout sample of size h is taken from
the end of the data.none, aka n - do not produce prediction
intervals.
parametric, p - use state-space structure of ETS. In
case of mixed models this is done using simulations, which may take longer
time than for the pure additive and pure multiplicative models.
semiparametric, sp - intervals based on covariance
matrix of 1 to h steps ahead errors and assumption of normal / log-normal
distribution (depending on error type).
nonparametric, np - intervals based on values from a
quantile regression on error matrix (see Taylor and Bunn, 1999). The model
used in this process is e[j] = a j^b, where j=1,..,h.
The parameter also accepts TRUE and FALSE. Former means that
parametric intervals are constructed, while latter is equivalent to
none.
none, meaning that the data should be considered as non-intermittent;
2. fixed, taking into account constant Bernoulli distribution of
demand occurancies; 3. croston, based on Croston, 1972 method with
SBA correction; 4. tsb, based on Teunter et al., 2011 method. 5.
auto - automatic selection of intermittency type based on information
criteria. The first letter can be used instead. 6. "sba" -
Syntetos-Boylan Approximation for Croston's method (bias correction)
discussed in Syntetos and Boylan, 2005.silent="none", then nothing is silent, everything is
printed out and drawn. silent="all" means that nothing is produced or
drawn (except for warnings). In case of silent="graph", no graph is
produced. If silent="legend", then legend of the graph is skipped.
And finally silent="output" means that nothing is printed out in the
console, but the graph is produced. silent also accepts TRUE
and FALSE. In this case silent=TRUE is equivalent to
silent="all", while silent=FALSE is equivalent to
silent="none". The parameter also accepts first letter of words ("n",
"a", "g", "l", "o").xreg should have number of observations equal either to
in-sample or to the whole series. If the number of observations in
xreg is equal to in-sample, then values for the holdout sample are
produced using es function."use" means that all of the data should be used, whilie
"select" means that a selection using ic should be done.
"combine" will be available at some point in future...xreg is NULL.TRUE, transition matrix for exogenous variables is
estimated, introducing non-linear interractions between parameters.
Prerequisite - non-NULL xreg.NULL, then estimated.
Prerequisite - non-NULL xreg.matrix(transition,nc,nc), where nc is number of components in
state vector. If NULL, then estimated. Prerequisite - non-NULL
xreg.FI=TRUE
will make the function produce Fisher Information matrix, which then can be
used to calculated variances of parameters of the model.ces, ets,
forecast, ts
y <- ts(rnorm(100,10,3),frequency=12)
# CES with and without holdout
auto.ces(y,h=20,holdout=TRUE)
auto.ces(y,h=20,holdout=FALSE)
library("Mcomp")
## Not run: ------------------------------------
# y <- ts(c(M3$N0740$x,M3$N0740$xx),start=start(M3$N0740$x),frequency=frequency(M3$N0740$x))
# # Selection between "none" and "full" seasonalities
# auto.ces(y,h=8,holdout=TRUE,models=c("n","f"),intervals="p",level=0.8,ic="AIC")
## ---------------------------------------------
y <- ts(c(M3$N1683$x,M3$N1683$xx),start=start(M3$N1683$x),frequency=frequency(M3$N1683$x))
ourModel <- auto.ces(y,h=18,holdout=TRUE,intervals="sp")
summary(ourModel)
forecast(ourModel)
plot(forecast(ourModel))
Run the code above in your browser using DataLab