RandomFields (version 3.0.5)

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

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 = -\frac{\nu}2$ and scale=$\delta$; the choice $\delta = 0$ yields a covariance model of type RMwhittle with smoothness parameter $\nu$ and scale parameter $\lambda^{-1}$.

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, if (interactive()) 0.02 else 1) 
plot(model)
plot(RFsimulate(model, x=x))
FinalizeExample()

Run the code above in your browser using DataLab