smooth (version 3.1.6)

forecast.adam: Forecasting time series using smooth functions


This function is created in order for the package to be compatible with Rob Hyndman's "forecast" package


# S3 method for adam
forecast(object, h = 10, newdata = NULL,
  occurrence = NULL, interval = c("none", "prediction", "confidence",
  "simulated", "approximate", "semiparametric", "nonparametric", "empirical",
  "complete"), level = 0.95, side = c("both", "upper", "lower"),
  cumulative = FALSE, nsim = NULL, ...)

# S3 method for smooth forecast(object, h = 10, interval = c("parametric", "semiparametric", "nonparametric", "none"), level = 0.95, side = c("both", "upper", "lower"), ...)

# S3 method for oes forecast(object, h = 10, interval = c("parametric", "semiparametric", "nonparametric", "none"), level = 0.95, side = c("both", "upper", "lower"), ...)

# S3 method for msdecompose forecast(object, h = 10, interval = c("parametric", "semiparametric", "nonparametric", "none"), level = 0.95, model = NULL, ...)



Time series model for which forecasts are required.


Forecast horizon.


The new data needed in order to produce forecasts.


The vector containing the future occurrence variable (values in [0,1]), if it is known.


What type of mechanism to use for interval construction. For ADAM: the recommended option is interval="prediction", which will use analytical solutions for pure additive models and simulations for the others. interval="simulated" is the slowest method, but is robust to the type of model. interval="approximate" (aka interval="parametric") uses analytical formulae for conditional h-steps ahead variance, but is approximate for the non-additive error models. interval="semiparametric" relies on the multiple steps ahead forecast error (extracted via rmultistep method) and on the assumed distribution of the error term. interval="nonparametric" uses Taylor & Bunn (1999) approach with quantile regressions. interval="empirical" constructs intervals based on empirical quantiles of multistep forecast errors. interval="complete" will call for reforecast() function and produce interval based on the uncertainty around the parameters of the model. Finally, interval="confidence" tries to generate the confidence intervals for the point forecast based on the reforecast method.

For es, ssarima etc, see the description in es.


Confidence level. Defines width of prediction interval.


Defines, whether to provide "both" sides of prediction interval or only "upper", or "lower".


If TRUE, then the cumulative forecast and prediction interval are produced instead of the normal ones. This is useful for inventory control systems.


Number of iterations to do in cases of interval="simulated", interval="prediction" (for mixed and multiplicative model), interval="confidence" and interval="complete". The default value for the prediction / simulated interval is 1000. In case of confidence or complete intervals, this is set to 100.


Other arguments accepted by either es, ces, gum or ssarima.


The type of ETS model to fit on the decomposed trend. Only applicable to "msdecompose" class. This is then returned in parameter "esmodel". If NULL, then it will be selected automatically based on the type of the used decomposition (either among pure additive or among pure additive ETS models).


Returns object of class "smooth.forecast", which contains:

  • model - the estimated model (ES / CES / GUM / SSARIMA).

  • method - the name of the estimated model (ES / CES / GUM / SSARIMA).

  • forecast aka mean - point forecasts of the model (conditional mean).

  • lower - lower bound of prediction interval.

  • upper - upper bound of prediction interval.

  • level - confidence level.

  • interval - binary variable (whether interval were produced or not).


This is not a compulsory function. You can simply use es, ces, gum or ssarima without forecast.smooth. But if you are really used to forecast function, then go ahead!


Hyndman, R.J., Koehler, A.B., Ord, J.K., and Snyder, R.D. (2008) Forecasting with exponential smoothing: the state space approach, Springer-Verlag.

See Also



Run this code
ourModel <- ces(rnorm(100,0,1),h=10)


# }

Run the code above in your browser using DataCamp Workspace