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