longmemo (version 1.1-2)

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)

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)\).

Value

The simulated series \(X(1), \dots, X(n)\), an R object of class "ts", constructed from ts().

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
# NOT RUN {
  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