Learn R Programming

fractal (version 2.0-4)

lmSimulate: Stochastic fractal time series simulation

Description

Create a simulation of a stochastic fractal time series according to a specfied model.

Usage

lmSimulate(x, sampling.interval=1,
    mean=0, n.sample=128, generate.Sj=FALSE,
    Sj=NULL, rn=NULL)

Arguments

x

an object of class "lmModel". Use the lmModel function to create this input.

Sj

a numeric vector of Davies-Harte frequency domain weights used to create the simulation(s). These weights are calculated if not supplied. Default: NULL (not supplied).

generate.Sj

a logical value. If TRUE, the Davies-Harte frequency domain weights (Sj) are returned instead of a simulated series. See the references for details. Default: FALSE.

mean

the mean value of of the resulting simulation. Default: 0.0.

n.sample

length of a time series. Default: 128.

rn

a vector of random normal deviates used to generate uncorrelated random variables for the Davies-Harte simulator. Default: rnorm(2 * length(Sj) - 2).

sampling.interval

the sampling interval for the process. The SDF is computed for frequencies on the interval [0, Nyquist] where Nyquist is 1/(2*sampling.interval). The value of sampling.interval must be a positive number. Default: 1.

Value

an object of class signalSeries containing the simulated series.

Details

Simulates a stochastic fractal time series via the Davies-Harte technique, which randomizes spectral weights and inverts the result back to the time domain. See the references for more details.

References

D. Percival and A. Walden (2000), Wavelet Methods for Time Series Analysis, Cambridge University Press, Chapter 7.

J. Beran (1994), Statistics for Long-Memory Processes, Chapman and Hall, Chapter 2.

D. Percival and A. Walden (1993), Spectral Analysis for Physical Applications, Cambridge University Press, 1993, Chapter 9.

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

See Also

lmModel, lmACF, lmSDF, lmConfidence, FDSimulate.

Examples

Run this code
# NOT RUN {
old.plt <- par("plt")
models <- c("ppl","fdp","fgn","dfbm")
for (i in seq(along=models)){
    splitplot(2,2,i)
    plot(lmSimulate(lmModel(models[i])),
    reference.grid=FALSE)
}
par(plt=old.plt)
# }

Run the code above in your browser using DataLab