Sampling of a multivariate max-stable distribution on a tree
Source:R/simulation_functions.R
rmstable_tree.Rd
Simulates exact samples of a multivariate max-stable distribution that is an extremal graphical model on a tree as defined in Engelke and Hitz (2020) .
Usage
rmstable_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 parameter vectors \(\alpha\) of size 2 with positive entries for each of the edges in
tree
, ifmodel = dirichlet
.
Details
The simulation follows a combination of the extremal function algorithm in Dombry et al. (2016) and the theory in Engelke and Hitz (2020) to sample from a single extremal function. 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()
,
rmpareto_tree()
,
rmstable()
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)
rmstable_tree(n, "HR", tree = my_tree, par = Gamma_vec)
#> [,1] [,2] [,3] [,4]
#> [1,] 11.4926835 6.2692985 7.2692681 7.3656059
#> [2,] 0.4240365 0.8814177 2.1049743 0.5471967
#> [3,] 2.0693665 3.8310442 0.8515348 1.8757676
#> [4,] 0.5332370 0.3338001 1.1440102 0.2431660
#> [5,] 0.9622793 0.3529766 0.6154679 0.6122024
#> [6,] 3.6110854 2.0049875 3.5542388 0.7321436
#> [7,] 2.0810677 1.6376026 1.2619098 1.5633647
#> [8,] 0.6077383 0.3588807 0.7824510 0.5408133
#> [9,] 41.5770869 355.9902771 225.9689381 510.2973482
#> [10,] 3.0393533 1.5666653 2.4999867 5.7565452
## A 4-dimensional Dirichlet model with asymmetric edge distributions
alpha <- cbind(c(.2, 1, .5), c(1.5, .6, .8))
rmstable_tree(n, model = "dirichlet", tree = my_tree, par = alpha)
#> [,1] [,2] [,3] [,4]
#> [1,] 7.6875162 57.5437511 4.2553267 2.1829200
#> [2,] 0.4213234 5.1944645 0.8254621 0.9480425
#> [3,] 0.6316744 0.4647958 0.3077491 0.9783213
#> [4,] 1.8720697 36.3060340 54.3817655 19.8613889
#> [5,] 15.2347659 3.2621610 4.4430843 5.1449147
#> [6,] 2.4624789 1.9151092 0.8660182 3.4762745
#> [7,] 3.0352577 3.1889870 1.8856030 3.3643334
#> [8,] 0.5431711 0.4845968 3.6101540 0.5459028
#> [9,] 3.6090469 0.4368999 1.1240025 1.7006204
#> [10,] 2.5925942 1.4293217 3.0304101 0.9766790