Learn R Programming

RandomFields (version 3.1.16)

RMhyperbolic: Generalized Hyperbolic Covariance Model

Description

RMhyperbolic is a stationary isotropic covariance model called “generalized hyperbolic”. The corresponding covariance function only depends on the distance $r \ge 0$ between two points and is given by $$C(r) = \frac{(\delta^2+r^2)^{\nu/2} K_\nu(\xi(\delta^2+r^2)^{1/2})}{\delta^\nu K_\nu(\xi \delta)}$$ where $K_\nu$ denotes the modifies Bessel function of second kind.

Usage

RMhyperbolic(nu, lambda, delta, var, scale, Aniso, proj)

Arguments

nu, lambda, delta
numerical values; should either satisfy $\delta \ge 0$, $\lambda > 0$ and $\nu > 0$, or $\delta > 0$, $\lambda > 0$ and $\nu = 0$, or $\delta > 0$, $\lambda \ge 0$ and $\nu < 0$.
var,scale,Aniso,proj
optional arguments; same meaning for any RMmodel. If not passed, the above covariance function remains unmodified.

Value

RMhyperbolic returns an object of class RMmodel

Details

This class is over-parametrized, i.e. it can be reparametrized by replacing the three parameters $\lambda$, $\delta$ and scale by two other parameters. This means that the representation is not unique.

Each generalized hyperbolic covariance function is a normal scale mixture.

The model contains some other classes as special cases; for $\lambda = 0$ we get Cauchy covariance function (see RMcauchy) with $\gamma = -\nu/2$ and scale=$\delta$; the choice $\delta = 0$ yields a covariance model of type RMwhittle with smoothness parameter $\nu$ and scale parameter $1/\lambda$.

References

  • Shkarofsky, I.P. (1968) Generalized turbulence space-correlation and wave-number spectrum-function pairs. Can. J. Phys. 46, 2133-2153.
  • Barndorff-Nielsen, O. (1978) Hyperbolic distributions and distributions on hyperbolae. Scand. J. Statist. 5, 151-157.
  • Gneiting, T. (1997). Normal scale mixtures and dual probability densities. J. Stat. Comput. Simul. 59, 375-384.

See Also

RMcauchy, RMwhittle, RMmodel, RFsimulate, RFfit.

Examples

Run this code
RFoptions(seed=0) ## *ANY* simulation will have the random seed 0; set
##                   RFoptions(seed=NA) to make them all random again

model <- RMhyperbolic(nu=1, lambda=2, delta=0.2)
x <- seq(0, 10, 0.02)
plot(model)
plot(RFsimulate(model, x=x))

Run the code above in your browser using DataLab