Learn R Programming

longmemo (version 1.1-3)

simGauss: Simulate (Fractional) Gaussian Processes

Description

Simulation of a Gaussian series \(X(1), \dots, X(n)\). Whereas simGauss works from autocovariances, where simFGN0 and simARMA0 call it, for simulating a fractional ARIMA(0,d,0) process (\(d = H-1/2\)), or fractional Gaussian noise, respectively.

Usage

simARMA0  (n, H)
simFGN0   (n, H)
simFGN.fft(n, H, ...)
simGauss(autocov)

Value

The simulated series \(X(1), \dots, X(n)\), an R object of class

"ts", constructed from ts().

Arguments

n

length of time series

H

self-similarity parameter

...

optional arguments passed to B.specFGN().

autocov

numeric vector of auto covariances \(\gamma(0), \ldots, \gamma(n-1)\).

Author

Jan Beran (original) and Martin Maechler (simGauss, speedup, simplication). simFGN.fft: Vern Paxson.

Details

simGauss implements the method by Davies and Harte which is relatively fast using the FFT (fft) twice.

To simulate ARIMA(p, d, q), (for d in (-1/2, 1,2), you can use arima.sim(n, model = list(ar= .., ma = ..), innov= simARMA0(n,H=d+1/2) , n.start = 0).

simFGN.fft() is about twice as fast as simFGN0() and uses Paxson's proposal, by default via B.specFGN(*, k.approx=3, adjust=TRUE).

References

Beran (1994), 11.3.3, p.216 f, referring to

Davis, R.B. and Harte, D.S. (1987). Tests for Hurst effect, Biometrika 74, 95--102.

Vern Paxson (1997). Fast, Approximate Synthesis of Fractional Gaussian Noise for Generating Self-Similar Network Traffic; Computer Communications Review 27 5, 5--18.

See Also

ckARMA0 on which simARMA0 relies, and ckFGN0 on which simFGN0 relies.

Examples

Run this code
  x1 <- simFGN0(100, 0.7)
  x2 <- simARMA0(100, 0.7)
  plot(simFGN0(1000, 0.8)) #- time series plot

Run the code above in your browser using DataLab