Skip to contents

Simulates exact samples of a multivariate Pareto distribution that is an extremal graphical model on a tree as defined in Engelke and Hitz (2020) .

Usage

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

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 positive entries for each of the edges in tree, if model = dirichlet.

Value

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

Details

The simulation follows the algorithm in Engelke and Hitz (2020) . For details on the parameters of the Huesler-Reiss, logistic and negative logistic distributions see Dombry et al. (2016) , and for the Dirichlet distribution see Coles and Tawn (1991) .

References

Coles S, Tawn JA (1991). “Modelling extreme multivariate events.” J. R. Stat. Soc. Ser. B Stat. Methodol., 53, 377--392.

Dombry C, Engelke S, Oesting M (2016). “Exact simulation of max-stable processes.” Biometrika, 103, 303--317.

Engelke S, Hitz AS (2020). “Graphical models for extremes (with discussion).” J. R. Stat. Soc. Ser. B Stat. Methodol., 82, 871--932.

See also

Other sampling functions: rmpareto(), rmstable(), rmstable_tree()

Examples

## 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)
#>             [,1]      [,2]      [,3]      [,4]
#>  [1,] 2.84253613 1.0005391 0.3084607 0.4418211
#>  [2,] 2.47736524 1.3292869 1.2637143 1.2880978
#>  [3,] 0.06591181 0.2870575 1.0531443 0.3019635
#>  [4,] 7.55377972 9.1991979 5.8316487 3.9821044
#>  [5,] 3.04152555 1.7000302 6.6294011 0.4891234
#>  [6,] 1.06779693 0.2294188 0.2181644 0.1903021
#>  [7,] 0.21873177 0.3305197 0.1273843 1.0729052
#>  [8,] 0.42635241 0.3883451 1.0709708 0.2981210
#>  [9,] 0.10432605 0.2854805 1.0420470 0.1541613
#> [10,] 0.60313584 0.4771446 1.4032066 0.0989642

## 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)
#>               [,1]        [,2]         [,3]        [,4]
#>  [1,] 5.762897e-04  7.58402408 12.509319036 0.157712818
#>  [2,] 3.533313e-02  0.06507584  0.002406825 1.997241878
#>  [3,] 3.282715e+00  0.91728177  0.431414007 0.010582074
#>  [4,] 1.000012e+00  0.10685203  0.125698592 0.005096915
#>  [5,] 5.247710e-07  1.59205151  0.335459093 3.595989200
#>  [6,] 9.668793e-03 15.03385028  0.927124706 5.745471227
#>  [7,] 1.534824e+00  0.09823805  0.034636347 1.393518517
#>  [8,] 3.906524e+00  0.30175547  0.770171700 0.045366892
#>  [9,] 5.232992e+00  0.81597984  0.509299749 0.590041154
#> [10,] 1.029222e-01  1.07372668  2.867594928 0.584238945