# arima.sim

##### Simulate from an ARIMA Model

Simulate from an ARIMA model.

- Keywords
- ts

##### Usage

```
arima.sim(model, n, rand.gen = rnorm, innov = rand.gen(n, ...),
n.start = NA, start.innov = rand.gen(n.start, ...),
...)
```

##### Arguments

- 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. A strictly positive integer.
- 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`

.

##### Details

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 `rand.gen`

.

##### Value

- A time-series object of class
`"ts"`

.

##### concept

autoregression

##### See Also

##### Examples

`library(stats)`

```
require(graphics)
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)
```

*Documentation reproduced from package stats, version 3.3, License: Part of R 3.3*

### Community examples

Looks like there are no examples yet.