R: Simulation from a time series model

simulate.ets {forecast} | R Documentation

## Simulation from a time series model

### Description

Returns a time series based on the model object `object`.

### Usage

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

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

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

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

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

    ## S3 method for class 'modelAR'
    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 transformation parameter. If `lambda="auto"`, then a transformation is automatically selected using `BoxCox.lambda`. The transformation is ignored if NULL. Otherwise, data transformed before model is estimated.

### 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.

### Value

An object of class "`ts`".

### Author(s)

Rob J Hyndman

### 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")

[Package forecast version 8.4 Index]