Learn R Programming

mev (version 1.17)

rparpcs: Simulation from Pareto processes using composition sampling

Description

The algorithm performs forward sampling by simulating first from a mixture, then sample angles conditional on them being less than (max) or greater than (min) one. The resulting sample from the angular distribution is then multiplied by Pareto variates with tail index shape.

Usage

rparpcs(
  n,
  model = c("log", "neglog", "br", "xstud"),
  risk = c("max", "min"),
  param = NULL,
  d,
  Lambda = NULL,
  Sigma = NULL,
  df = NULL,
  shape = 1,
  ...
)

Value

an n by d matrix of samples, where d = ncol(Sigma), with attributes

mixt.weights.

Arguments

n

sample size.

model

string indicating the model family.

risk

string indicating the risk functional. Only max and min are currently supported.

param

parameter value for the logistic or negative logistic model

d

dimension of the multivariate model, only needed for logistic or negative logistic models

Lambda

parameter matrix for the Brown--Resnick model. See Details.

Sigma

correlation matrix if model = 'xstud', otherwise the covariance matrix formed from the stationary Brown-Resnick process.

df

degrees of freedom for extremal Student process.

shape

tail index of the Pareto variates (reciprocal shape parameter). Must be strictly positive.

...

additional parameters, currently ignored

Author

Leo Belzile

Details

For the moment, only exchangeable models and models based n elliptical processes are handled.

The parametrization of the Brown--Resnick is in terms of the matrix Lambda, which is formed by evaluating the semivariogram \(\gamma\) at sites \(s_i, s_j\), meaning that \(\Lambda_{i,j} = \gamma(s_i, s_j)/2\).

The argument Sigma is ignored for the Brown-Resnick model if Lambda is provided by the user.

See Also

rparp for general simulation of Pareto processes based on an accept-reject algorithm.

Examples

Run this code
if (FALSE) {
#Brown-Resnick, Wadsworth and Tawn (2014) parametrization
D <- 20L
coord <- cbind(runif(D), runif(D))
semivario <- function(d, alpha = 1.5, lambda = 1){0.5 * (d/lambda)^alpha}
Lambda <- semivario(as.matrix(dist(coord))) / 2
rparpcs(n = 10, Lambda = Lambda, model = 'br', shape = 0.1)
#Extremal Student
Sigma <- stats::rWishart(n = 1, df = 20, Sigma = diag(10))[,,1]
rparpcs(n = 10, Sigma = cov2cor(Sigma), df = 3, model = 'xstud')
}

Run the code above in your browser using DataLab