Learn R Programming

ExtremalDep (version 1.0.0)

rExtDepSpat: Random generation of max-stable processes

Description

Generates realizations from a max-stable process.

Usage

rExtDepSpat(n, coord, model = "SCH", cov.mod = "whitmat", grid = FALSE,
            control = list(), cholsky = TRUE, ...)

Value

A list containing:

vals

A \(n \times d\) matrix with \(n\) observations at \(d\) locations.

hits

A \(n \times d\) matrix of hitting scenarios. Elements with the same integer indicate maxima coming from the same 'storm' or process.

Arguments

n

An integer indicating the number of observations.

coord

A vector or matrix corresponding to the coordinates of locations where the process is simulated. Each row corresponds to a location.

model

A character string indicating the max-stable model. See details.

cov.mod

A character string indicating the correlation function. See details.

grid

Logical; TRUE if coordinates are on a grid.

control

A named list with arguments:

nlines

Number of lines of the TBM simulation.

method

Character string specifying the simulation method: 'exact', 'tbm' or 'circ'.

uBound

Uniform upper bound.

See details.

cholsky

Logical; if TRUE, a Cholesky decomposition is performed. Used for the extremal-t and extremal skew-t models when control = list(method = 'exact').

...

Additional parameters of the max-stable model. See details.

Details

This function extends the rmaxstab function from the SpatialExtremes package in two ways:

1.

The extremal skew-t model is included.

2.

The function returns the hitting scenarios, i.e., the index of which 'storm' (or process) led to the maximum value for each location and observation.

Available max-stable models:

Smith model

(model = 'SMI') does not require cov.mod. If coord is univariate, var needs to be specified. For higher dimensions, covariance parameters such as cov11, cov12, cov22, etc. should be provided.

Schlather model

(model = 'SCH') requires cov.mod as one of 'whitmat', 'cauchy', 'powexp' or 'bessel'. Parameters nugget, range and smooth must be specified.

Extremal-t model

(model = 'ET') requires cov.mod as above. Parameters nugget, range, smooth and DoF must be specified.

Extremal skew-t model

(model = 'EST') requires cov.mod as above. Parameters nugget, range, smooth, DoF, alpha (vector of length 3) and acov1, acov2 (vectors of length equal to number of locations) must be specified. The skewness vector is \(\alpha = \alpha_0 + \alpha_1 \textrm{acov1} + \alpha_2 \textrm{acov2}\).

Geometric Gaussian model

(model = 'GG') requires cov.mod as above. Parameters sig2, nugget, range and smooth must be specified.

Brown-Resnick model

(model = 'BR') does not require cov.mod. Parameters range and smooth must be specified.

method

In control: NULL by default, meaning the function selects the most appropriate simulation technique. For the extremal skew-t model, only 'exact' or 'direct' are allowed.

nlines

In control: default 1000 if NULL.

uBound

In control: default reasonable values, e.g., 3.5 for the Schlather model.

References

Beranger, B., Stephenson, A. G. and Sisson, S. A. (2021). High-dimensional inference using the extremal skew-t process. Extremes, 24, 653--685.

See Also

fExtDepSpat

Examples

Run this code
# \donttest{
# Generate some locations
set.seed(1)
lat <- lon <- seq(from = -5, to = 5, length = 20)
sites <- as.matrix(expand.grid(lat, lon))

# Example using the extremal-t
set.seed(2)
z <- rExtDepSpat(1, sites, model = "ET", cov.mod = "powexp", DoF = 1,
                 nugget = 0, range = 3, smooth = 1.5,
                 control = list(method = "exact"))
fields::image.plot(lat, lon, matrix(z$vals, ncol = 20))

# Example using the extremal skew-t
set.seed(3)
z2 <- rExtDepSpat(1, sites, model = "EST", cov.mod = "powexp", DoF = 5,
                  nugget = 0, range = 3, smooth = 1.5, alpha = c(0,5,5),
                  acov1 = sites[,1], acov2 = sites[,2],
                  control = list(method = "exact"))
fields::image.plot(lat, lon, matrix(z2$vals, ncol = 20))
# }

Run the code above in your browser using DataLab