Learn R Programming

RandomFieldsUtils (version 1.2.5)

matern: Whittle-Matern Model

Description

matern calculates the Whittle-Matern covariance function (Soboloev kernel).

The Whittle model is given by $$C(r)=W_{\nu}(r)=2^{1- \nu} \Gamma(\nu)^{-1}r^{\nu}K_{\nu}(r)$$ where \(\nu > 0\) and \(K_\nu\) is the modified Bessel function of second kind.

The Matern model is given by $$C(r) = \frac{2^{1-\nu}}{\Gamma(\nu)} (\sqrt{2\nu}r)^\nu K_\nu(\sqrt{2\nu}r)$$

The Handcock-Wallis parametrisation equals $$C(r) = \frac{2^{1-\nu}}{\Gamma(\nu)} (2\sqrt{\nu}r)^\nu K_\nu(2\sqrt{\nu}r)$$

Usage

whittle(x, nu, derivative=0,
       scaling=c("whittle", "matern", "handcockwallis"))
matern(x, nu, derivative=0,
       scaling=c("matern", "whittle", "handcockwallis"))

Arguments

x

numerical vector; for negative values the modulus is used

nu

numerical vector with positive entries

derivative

value in 0:4.

scaling

numerical vector of positive values or character; see Details.

Value

If derivative=0, the function value is returned, otherwise the derivativeth derivative.

A vector of length(x) is returned; nu is recycled; scaling is recycled if numerical.

If scaling has a numerical values \(s\), the covariance model equals $$C(r) = \frac{2^{1-\nu}}{\Gamma(\nu)} (s\sqrt{\nu}r)^\nu K_\nu(s\sqrt{\nu}r)$$

The function values are rather precise even for large values of nu.

References

Covariance function

  • 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.

  • Guttorp, P. and Gneiting, T. (2006) Studies in the history of probability and statistics. XLIX. On the Matern correlation family. Biometrika 93, 989--995.

  • Handcock, M. S. and Wallis, J. R. (1994) An approach to statistical spatio-temporal modeling of meteorological fields. JASA 89, 368--378.

  • Stein, M. L. (1999) Interpolation of Spatial Data -- Some Theory for Kriging. New York: Springer.

See Also

nonstwm

Examples

Run this code
# NOT RUN {
<!-- %    library(RandomFieldsUtils) -->
# }
# NOT RUN {
x <- 3
confirm(matern(x, 0.5), exp(-x))
confirm(matern(x, Inf), gauss(x/sqrt(2)))
confirm(matern(1:2, c(0.5, Inf)), exp(-(1:2)))
# }

Run the code above in your browser using DataLab