arfima.sim {arfima} | R Documentation |
Simulate an ARFIMA time series.
Description
This function simulates an long memory ARIMA time series, with one of fractionally differenced white noise (FDWN), fractional Gaussian noise (FGN), power-law autocovariance (PLA) noise, or short memory noise and possibly seasonal effects.
Usage
arfima.sim(
n,
model = list(phi = numeric(0), theta = numeric(0), dint = 0, dfrac = numeric(0), H =
numeric(0), alpha = numeric(0), seasonal = list(phi = numeric(0), theta = numeric(0),
dint = 0, period = numeric(0), dfrac = numeric(0), H = numeric(0), alpha =
numeric(0))),
useC = 3,
sigma2 = 1,
rand.gen = rnorm,
muHat = 0,
zinit = NULL,
innov = NULL,
...
)
Arguments
n |
The number of points to be generated. |
model |
The model to be simulated from. The phi and theta arguments
should be vectors with the values of the AR and MA parameters. Note that
Box-Jenkins notation is used for the MA parameters: see the "Details"
section of |
useC |
How much interfaced C code to use: an integer between 0 and 3.
The value 3 is strongly recommended. See the "Details" section of
|
sigma2 |
The desired variance for the innovations of the series. |
rand.gen |
The distribution of the innovations. Any distribution
recognized by |
muHat |
The theoretical mean of the series before integration (if integer integration is done) |
zinit |
Used for prediction; not meant to be used directly. This allows a start of a time series to be specified before inverse differencing (integration) is applied. |
innov |
Used for prediction; not meant to be used directly. This
allows for the use of given innovations instead of ones provided by
|
... |
Other parameters passed to the random variate generator; currently not used. |
Details
A suitably defined stationary series is generated, and if either of the
dints (non-seasonal or seasonal) are greater than zero, the series is
integrated (inverse-differenced) with zinit equalling a suitable amount of
0s if not supplied. Then a suitable amount of points are taken out of the
beginning of the series (i.e. dint + period * seasonal dint = the length of
zinit) to obtain a series of length n. The stationary series is generated
by calculating the theoretical autovariance function and using it, along
with the innovations to generate a series as in McLeod et. al. (2007).
Note: if you would like to fit a function from a fitted arfima model,
the function sim_from_fitted
can be used.
Value
A sample from a multivariate normal distribution that has a covariance structure defined by the autocovariances generated for given parameters. The sample acts like a time series with the given parameters.
Author(s)
JQ (Justin) Veenstra
References
McLeod, A. I., Yu, H. and Krougly, Z. L. (2007) Algorithms for Linear Time Series Analysis: With R Package Journal of Statistical Software, Vol. 23, Issue 5
Veenstra, J.Q. Persistence and Antipersistence: Theory and Software (PhD Thesis)
P. Borwein (1995) An efficient algorithm for Riemann Zeta function Canadian Math. Soc. Conf. Proc., 27, pp. 29-34.
See Also
Examples
set.seed(6533)
sim <- arfima.sim(1000, model = list(phi = .2, dfrac = .3, dint = 2))
fit <- arfima(sim, order = c(1, 2, 0))
fit