R: Generate Stationary Gaussian Process Using Hosking's Method

hosking.sim {waveslim} | R Documentation

## Generate Stationary Gaussian Process Using Hosking's Method

### Description

Uses exact time-domain method from Hosking (1984) to generate a simulated time series from a specified autocovariance sequence.

### Usage

    hosking.sim(n, acvs)

### Arguments

`n` | Length of series.
`acvs` | Autocovariance sequence of series with which to generate, must be of length at least `n`.

### Value

Length `n` time series from true autocovariance sequence `acvs`.

### Author(s)

Brandon Whitcher

### References

Hosking, J. R. M. (1984) Modeling persistence in hydrological time series using fractional differencing, Water Resources Research, 20, No. 12, 1898-1908.

Percival, D. B. (1992) Simulating Gaussian random processes with specified spectra, Computing Science and Statistics, 22, 534-538.

### Examples

    dB <- function(x) 10 * log10(x)
    per <- function (z) {
      n <- length(z)
      (Mod(fft(z))^2/(2 * pi * n))[1:(n%/%2 + 1)]
    }
    spp.sdf <- function(freq, delta, omega)
      abs(2 * (cos(2*pi*freq) - cos(2*pi*omega)))^(-2*delta)
    data(acvs.andel8)
    n <- 1024
    ## Not run:
    z <- hosking.sim(n, acvs.andel8[,2])
    per.z <- 2 * pi * per(z)
    par(mfrow=c(2,1), las=1)
    plot.ts(z, ylab="", main="Realization of a Seasonal Long-Memory Process")
    plot(0:(n/2)/n, dB(per.z), type="l", xlab="Frequency", ylab="dB",
         main="Periodogram")
    lines(0:(n/2)/n, dB(spp.sdf(0:(n/2)/n, .4, 1/12)), col=2)

    ## End(Not run)

[Package waveslim version 1.8.3 Index]