Learn R Programming

graphicalExtremes (version 0.3.2)

emst: Fitting extremal minimum spanning tree

Description

Fits an extremal minimum spanning tree, where the edge weights are:

  • negative maximized log-likelihoods of the bivariate Huesler-Reiss distributions, if method = "ML". See eng2019;textualgraphicalExtremes for details.

  • empirical extremal variogram, if method = "vario". See eng2020;textualgraphicalExtremes for details.

  • empirical extremal correlation, if method = "chi". See eng2020;textualgraphicalExtremes for details.

Usage

emst(data, p = NULL, method = c("vario", "ML", "chi"), cens = FALSE)

Value

List consisting of:

graph

An igraph::graph object. The fitted minimum spanning tree.

Gamma

Numeric \(d \times d\) estimated variogram matrix \(\Gamma\) corresponding to the fitted minimum spanning tree.

Arguments

data

Numeric \(n \times d\) matrix, where n is the number of observations and d is the dimension.

p

Numeric between 0 and 1 or NULL. If NULL (default), it is assumed that the data are already on multivariate Pareto scale. Else, p is used as the probability in the function data2mpareto() to standardize the data.

method

One of "vario", "ML", "chi". Default is method = "vario".

cens

Logical. This argument is considered only if method = "ML". If TRUE, then censored likelihood contributions are used for components below the threshold. By default, cens = FALSE.

References

See Also

Other structure estimation methods: data2mpareto(), eglatent(), eglearn(), fit_graph_to_Theta()

Examples

Run this code
## Fitting a 4-dimensional HR minimum spanning tree
my_graph <- 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 <- 100
Gamma_vec <- c(.5, 1.4, .8)
complete_Gamma(Gamma = Gamma_vec, graph = my_graph) ## full Gamma matrix

set.seed(123)
my_data <- rmpareto_tree(n, "HR", tree = my_graph, par = Gamma_vec)
my_fit <- emst(my_data, p = NULL, method = "ML", cens = FALSE)

Run the code above in your browser using DataLab