Sampling of a multivariate Pareto distribution on a tree
Source:R/simulation_functions.R
rmpareto_tree.Rd
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, ifmodel = HR
. Alternatively, can be a vector of lengthd-1
containing the entries of the variogram corresponding to the edges of the giventree
.\(\theta \in (0, 1)\), vector of length
d-1
containing the logistic parameters corresponding to the edges of the giventree
, ifmodel = 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
, ifmodel = dirichlet
.
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