auto.gum | R Documentation |
Function selects the order of GUM model based on information criteria, using fancy branch and bound mechanism.
auto.gum(y, orders = 3, lags = frequency(y), type = c("additive",
"multiplicative", "select"), initial = c("backcasting", "optimal"),
ic = c("AICc", "AIC", "BIC", "BICc"), loss = c("likelihood", "MSE",
"MAE", "HAM", "MSEh", "TMSE", "GTMSE", "MSCE"), h = 10, holdout = FALSE,
cumulative = FALSE, interval = c("none", "parametric", "likelihood",
"semiparametric", "nonparametric"), level = 0.95,
bounds = c("restricted", "admissible", "none"), silent = c("all",
"graph", "legend", "output", "none"), xreg = NULL, regressors = c("use",
"select"), initialX = NULL, ...)
y |
Vector or ts object, containing data needed to be forecasted. |
orders |
The value of the max order to check. This is the upper bound of orders, but the real orders could be lower than this because of the increasing number of parameters in the models with higher orders. |
lags |
The value of the maximum lag to check. This should usually be a maximum frequency of the data. |
type |
Type of model. Can either be |
initial |
Can be either character or a vector of initial states. If it
is character, then it can be |
ic |
The information criterion used in the model selection procedure. |
loss |
The type of Loss Function used in optimization. There are also available analytical approximations for multistep functions:
Finally, just for fun the absolute and half analogues of multistep estimators
are available: |
h |
Length of forecasting horizon. |
holdout |
If |
cumulative |
If |
interval |
Type of interval to construct. This can be:
The parameter also accepts |
level |
Confidence level. Defines width of prediction interval. |
bounds |
What type of bounds to use in the model estimation. The first letter can be used instead of the whole word. |
silent |
If |
xreg |
The vector (either numeric or time series) or the matrix (or
data.frame) of exogenous variables that should be included in the model. If
matrix included than columns should contain variables and rows - observations.
Note that |
regressors |
The variable defines what to do with the provided xreg:
|
initialX |
The vector of initial parameters for exogenous variables.
Ignored if |
... |
Other non-documented parameters. For example |
The function checks several GUM models (see gum documentation) and selects the best one based on the specified information criterion.
The resulting model can be complicated and not straightforward, because GUM
allows capturing hidden orders that no ARIMA model can. It is advised to use
initial="b"
, because optimising GUM of arbitrary order is not a simple
task.
For some more information about the model and its implementation, see the
vignette: vignette("gum","smooth")
Object of class "smooth" is returned. See gum for details.
Ivan Svetunkov, ivan@svetunkov.ru
Snyder, R. D., 1985. Recursive Estimation of Dynamic Linear Models. Journal of the Royal Statistical Society, Series B (Methodological) 47 (2), 272-276.
Hyndman, R.J., Koehler, A.B., Ord, J.K., and Snyder, R.D. (2008) Forecasting with exponential smoothing: the state space approach, Springer-Verlag. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/978-3-540-71918-2")}.
Svetunkov Ivan and Boylan John E. (2017). Multiplicative State-Space Models for Intermittent Time Series. Working Paper of Department of Management Science, Lancaster University, 2017:4 , 1-43.
Teunter R., Syntetos A., Babai Z. (2011). Intermittent demand: Linking forecasting to inventory obsolescence. European Journal of Operational Research, 214, 606-615.
Croston, J. (1972) Forecasting and stock control for intermittent demands. Operational Research Quarterly, 23(3), 289-303.
Syntetos, A., Boylan J. (2005) The accuracy of intermittent demand estimates. International Journal of Forecasting, 21(2), 303-314.
gum, es,
ces, sim.es, ssarima
x <- rnorm(50,100,3)
# The best GUM model for the data
ourModel <- auto.gum(x,orders=2,lags=4,h=18,holdout=TRUE,interval="np")
summary(ourModel)
forecast(ourModel)
plot(forecast(ourModel))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.