Skip to contents

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, 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 parameter 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 max-stable distribution.

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