Returns a time series based on the model object object.

# S3 method for ets
simulate(object, nsim = length(object$x), seed = NULL,
  future = TRUE, bootstrap = FALSE, innov = NULL, ...)

# S3 method for Arima
simulate(object, nsim = length(object$x), seed = NULL,
  xreg = NULL, future = TRUE, bootstrap = FALSE, innov = NULL,
  lambda = object$lambda, ...)

# S3 method for ar
simulate(object, nsim = object$n.used, seed = NULL,
  future = TRUE, bootstrap = FALSE, innov = NULL, ...)

# S3 method for fracdiff
simulate(object, nsim = object$n, seed = NULL,
  future = TRUE, bootstrap = FALSE, innov = NULL, ...)

# S3 method for nnetar
simulate(object, nsim = length(object$x), seed = NULL,
  xreg = NULL, future = TRUE, bootstrap = FALSE, innov = NULL,
  lambda = object$lambda, ...)

Arguments

object

An object of class "ets", "Arima", "ar" or "nnetar".

nsim

Number of periods for the simulated series. Ignored if either xreg or innov are not NULL.

seed

Either NULL or an integer that will be used in a call to set.seed before simulating the time series. The default, NULL, will not change the random generator state.

future

Produce sample paths that are future to and conditional on the data in object. Otherwise simulate unconditionally.

bootstrap

Do simulation using resampled errors rather than normally distributed errors or errors provided as innov.

innov

A vector of innovations to use as the error series. Ignored if bootstrap==TRUE. If not NULL, the value of nsim is set to length of innov.

...

Other arguments, not currently used.

xreg

New values of xreg to be used for forecasting. The value of nsim is set to the number of rows of xreg if it is not NULL.

lambda

Box-Cox parameter. If not NULL, the simulated series is transformed using an inverse Box-Cox transformation with parameter lamda.

Value

An object of class "ts".

Details

With simulate.Arima(), the object should be produced by Arima or auto.arima, rather than arima. By default, the error series is assumed normally distributed and generated using rnorm. If innov is present, it is used instead. If bootstrap=TRUE and innov=NULL, the residuals are resampled instead.

When future=TRUE, the sample paths are conditional on the data. When future=FALSE and the model is stationary, the sample paths do not depend on the data at all. When future=FALSE and the model is non-stationary, the location of the sample paths is arbitrary, so they all start at the value of the first observation.

See also

ets, Arima, auto.arima, ar, arfima, nnetar.

Examples

fit <- ets(USAccDeaths) plot(USAccDeaths, xlim=c(1973,1982))
lines(simulate(fit, 36), col="red")