Learn R Programming

RandomFields (version 3.0.35)

RMbessel: Bessel Family Covariance Model

Description

RMbessel is a stationary isotropic covariance model belonging to the Bessel family. The corresponding covariance function only depends on the distance $r \ge 0$ between two points and is given by $$C(r) = 2^\nu \Gamma(\nu+1) r^{-\nu} J_\nu(r)$$ where $\nu \ge \frac{d-2}2$, $\Gamma$ denotes the gamma function and $J_\nu$ is a Bessel function of first kind.

Usage

RMbessel(nu, var, scale, Aniso, proj)

Arguments

nu
a numerical value; should be equal to or greater than $\frac{d-2}2$ to provide a valid covariance function for a random field of dimension $d$.
var,scale,Aniso,proj
optional arguments; same meaning for any RMmodel. If not passed, the above covariance function remains unmodified.

Value

Details

This covariance models a hole effect (cf. Chiles, J.-P. and Delfiner, P. (1999), p. 92, cf. Gelfand et al. (2010), p. 26). An important case is $\nu=-0.5$ which gives the covariance function $$C(r)=\cos(r)$$ and which is only valid for $d=1$. This equals RMdampedcos for $\lambda = 0$, there.

A second important case is $\nu=0.5$ with covariance function $$C(r)=\sin(r)/r$$ and which is valid for $d \le 3$. This coincides with RMwave. Note that all valid continuous stationary isotropic covariance functions for $d$-dimensional random fields can be written as scale mixtures of a Bessel type covariance function with $\nu=\frac{d-2}2$ (cf. Gelfand et al., 2010, pp. 21--22).

References

  • Chiles, J.-P. and Delfiner, P. (1999)Geostatistics. Modeling Spatial Uncertainty.New York: Wiley.
  • Gelfand, A. E., Diggle, P., Fuentes, M. and Guttorp, P. (eds.) (2010)Handbook of Spatial Statistics.Boca Raton: Chapman & Hall/CRL.
  • http://homepage.tudelft.nl/11r49/documents/wi4006/bessel.pdf

See Also

RMdampedcos, RMwave, 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 <- RMbessel(nu=1, scale=0.1)
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