arima.sim {stats} | R Documentation |
Simulate from an ARIMA model.
arima.sim(model, n, rand.gen = rnorm, innov = rand.gen(n, ...), n.start = NA, start.innov = rand.gen(n.start, ...), ...)
model |
A list with component ar and/or ma giving
the AR and MA coefficients respectively. Optionally a component
order can be used. An empty list gives an ARIMA(0, 0, 0)
model, that is white noise. |
n |
length of output series, before un-differencing. |
rand.gen |
optional: a function to generate the innovations. |
innov |
an optional times series of innovations. If not
provided, rand.gen is used. |
n.start |
length of “burn-in” period. If NA , the
default, a reasonable value is computed. |
start.innov |
an optional times series of innovations to be used
for the burn-in period. If supplied there must be at least
n.start values (and n.start is by default computed
inside the function). |
... |
additional arguments for rand.gen . Most usefully,
the standard deviation of the innovations generated by rnorm
can be specified by sd . |
See arima
for the precise definition of an ARIMA model.
The ARMA model is checked for stationarity.
ARIMA models are specified via the order
component of
model
, in the same way as for arima
. Other
aspects of the order
component are ignored, but inconsistent
specifications of the MA and AR orders are detected. The
un-differencing assumes previous values of zero, and to remind the
user of this, those values are returned.
Random inputs for the “burn-in” period are generated by calling
rand.gen
.
A time-series object of class "ts"
.
arima.sim(n = 63, list(ar = c(0.8897, -0.4858), ma = c(-0.2279, 0.2488)), sd = sqrt(0.1796)) # mildly long-tailed arima.sim(n = 63, list(ar=c(0.8897, -0.4858), ma=c(-0.2279, 0.2488)), rand.gen = function(n, ...) sqrt(0.1796) * rt(n, df = 5)) # An ARIMA simulation ts.sim <- arima.sim(list(order = c(1,1,0), ar = 0.7), n = 200) ts.plot(ts.sim)