graphicalExtremes (version 0.1.0)

rmpareto_tree: Sampling of a multivariate Pareto distribution on a tree

Description

Simulates exact samples of a multivariate Pareto distribution that is an extremal graphical model on a tree as defined in eng2019;textualgraphicalExtremes.

Usage

rmpareto_tree(n, model = c("HR", "logistic", "dirichlet")[1], tree, par)

Value

Numeric matrix of size \(n \times d\) of simulations of the multivariate Pareto distribution.

Arguments

n

Number of simulations.

model

The parametric model type; one of:

  • HR (default),

  • logistic,

  • dirichlet.

tree

Graph object from igraph package. This object must be a tree, i.e., an undirected graph that is connected and has no cycles.

par

Respective parameter for the given model, that is,

  • \(\Gamma\), numeric \(d \times d\) variogram matrix, where only the entries corresponding to the edges of the tree are used, if model = HR. Alternatively, can be a vector of length \(d - 1\) containing the entries of the variogram corresponding to the edges of the given tree.

  • \(\theta \in (0, 1)\), vector of length \(d - 1\) containing the logistic parameters corresponding to the edges of the given tree, if model = logistic.

  • a matrix of size \((d - 1) \times 2\), where the rows contain the parameters vectors \(\alpha\) of size 2 with positve entries for each of the edges in tree, if model = dirichlet.

Details

The simulation follows the algorithm in eng2019;textualgraphicalExtremes. For details on the parameters of the Huesler--Reiss, logistic and negative logistic distributions see dom2016;textualgraphicalExtremes, and for the Dirichlet distribution see coles1991modelling;textualgraphicalExtremes.

References

Examples

Run this code
## A 4-dimensional HR tree model

my_tree <- igraph::graph_from_adjacency_matrix(rbind(
c(0, 1, 0, 0),
c(1, 0, 1, 1),
c(0, 1, 0, 0),
c(0, 1, 0, 0)),
mode = "undirected")
n <- 10
Gamma_vec <- c(.5,1.4,.8)
set.seed(123)
rmpareto_tree(n, "HR", tree = my_tree, par = Gamma_vec)

## A 4-dimensional Dirichlet model with asymmetric edge distributions

alpha = cbind(c(.2, 1, .5), c(1.5, .6, .8))
rmpareto_tree(n, model = "dirichlet", tree = my_tree, par = alpha)

Run the code above in your browser using DataLab