Learn R Programming

SpatialExtremes (version 2.0-7)

covariance: Defines and computes covariance functions

Description

This function defines and computes several covariance function either from a fitted ``max-stable'' model; either by specifying directly the covariance parameters.

Usage

covariance(fitted, nugget, sill, range, smooth, smooth2 = NULL, cov.mod =
"whitmat", plot = TRUE, dist, xlab, ylab, col = 1, ...)

Arguments

fitted

An object of class ``maxstab''. Most often this will be the output of the fitmaxstab function. May be missing if sill, range, smooth and cov.mod are given.

nugget,sill,range,smooth,smooth2

The nugget, sill, scale and smooth parameters for the covariance function. May be missing if fitted is given.

cov.mod

Character string. The name of the covariance model. Must be one of "whitmat", "cauchy", "powexp", "bessel" or "caugen" for the Whittle-Matern, Cauchy, Powered Exponential, Bessel and Generalized Cauchy models. May be missing if fitted is given.

plot

Logical. If TRUE (default) the covariance function is plotted.

dist

A numeric vector corresponding to the distance at which the covariance function should be evaluated. May be missing.

xlab,ylab

The x-axis and y-axis labels. May be missing.

col

The color to be used for the plot.

Several option to be passed to the plot function.

Value

This function returns the covariance function. Eventually, if dist is given, the covariance function is computed for each distance given by dist. If plot = TRUE, the covariance function is plotted.

Details

Currently, four covariance functions are defined: the Whittle-Matern, powered exponential (also known as "stable"), Cauchy and Bessel models. These covariance functions are defined as follows for \(h > 0\)

Whittle-Matern

\(\gamma(h) = \sigma \frac{2^{1-\kappa}}{\Gamma(\kappa)} \left(\frac{h}{\lambda} \right)^{\kappa} K_{\kappa}\left(\frac{h}{\lambda} \right)\)

Powered Exponential

\(\gamma(h) = \sigma \exp \left[- \left(\frac{h}{\lambda} \right)^{\kappa} \right]\)

Cauchy

\(\gamma(h) = \sigma \left[1 + \left(\frac{h}{\lambda} \right)^2 \right]^{-\kappa}\)

Bessel

\(\gamma(h) = \sigma \left(\frac{2 \lambda}{h}\right)^{\kappa} \Gamma(\kappa + 1) J_{\kappa}\left(\frac{h}{\lambda} \right)\)

Generalized Cauchy

\(\gamma(h) = \sigma \left\{1 + \left(\frac{h}{\lambda} \right)^{\kappa_2} \right\}^{-\kappa / \kappa_2}\)

where \(\sigma\), \(\lambda\) and \(\kappa\) are the sill, the range and shape parameters, \(\Gamma\) is the gamma function, \(K_{\kappa}\) and \(J_\kappa\) are both modified Bessel functions of order \(\kappa\). In addition a nugget effect can be set that is there is a jump at the origin, i.e., \(\gamma(o) = \nu + \sigma\), where \(\nu\) is the nugget effect.

Examples

Run this code
# NOT RUN {
## 1- Calling covariance using fixed covariance parameters
covariance(nugget = 0, sill = 1, range = 1, smooth = 0.5, cov.mod = "whitmat")
covariance(nugget = 0, sill = 0.5, range = 1, smooth = 0.5, cov.mod = "whitmat",
  dist = seq(0,5, 0.2), plot = FALSE)

## 2- Calling covariance from a fitted model
##Define the coordinate of each location
n.site <- 30
locations <- matrix(runif(2*n.site, 0, 10), ncol = 2)
colnames(locations) <- c("lon", "lat")

##Simulate a max-stable process - with unit Frechet margins
data <- rmaxstab(30, locations, cov.mod = "whitmat", nugget = 0, range =
3, smooth = 1)

##Fit a max-stable model
fitted <- fitmaxstab(data, locations, "whitmat", nugget = 0)
covariance(fitted, ylim = c(0, 1))
covariance(nugget = 0, sill = 1, range = 3, smooth = 1, cov.mod = "whitmat", add =
TRUE, col = 3)
title("Whittle-Matern covariance function")
legend("topright", c("Theo.", "Fitted"), lty = 1, col = c(3,1), inset =
.05)
# }

Run the code above in your browser using DataLab