complete_Gamma {graphicalExtremes} | R Documentation |
Completion of Gamma matrices
Description
Given a graph
and a (partial) variogram matrix Gamma
, returns a full
variogram matrix that agrees with Gamma
in entries corresponding to edges
of graph
and whose corresponding precision matrix, obtained by
Gamma2Theta()
, has zeros in entries corresponding to non-edges of graph
.
For results on the existence and uniqueness of this completion, see
Hentschel et al. (2022).
Usage
complete_Gamma(Gamma, graph = NULL, ...)
Arguments
Gamma |
Numeric |
graph |
|
... |
Further arguments passed to |
Details
If graph
is decomposable, Gamma
only needs to be specified on
the edges of the graph, other entries are ignored.
If graph
is not decomposable, the graphical completion algorithm requires
a fully specified (but non-graphical) variogram matrix Gamma
to begin with.
If necessary, this initial completion is computed using edmcr::npf()
.
Value
Completed d \times d
variogram matrix.
References
Hentschel M, Engelke S, Segers J (2022). “Statistical Inference for Hüsler-Reiss Graphical Models Through Matrix Completions.” doi:10.48550/ARXIV.2210.14292, https://arxiv.org/abs/2210.14292.
See Also
Other matrix completion related topics:
complete_Gamma_decomposable()
,
complete_Gamma_general_demo()
,
complete_Gamma_general_split()
,
complete_Gamma_general()
Examples
## Block graph:
Gamma <- rbind(
c(0, .5, NA, NA),
c(.5, 0, 1, 1.5),
c(NA, 1, 0, .8),
c(NA, 1.5, .8, 0)
)
complete_Gamma(Gamma)
## Alternative representation of the same completion problem:
my_graph <- igraph::graph_from_adjacency_matrix(rbind(
c(0, 1, 0, 0),
c(1, 0, 1, 1),
c(0, 1, 0, 1),
c(0, 1, 1, 0)
), mode = "undirected")
Gamma_vec <- c(.5, 1, 1.5, .8)
complete_Gamma(Gamma_vec, my_graph)
## Decomposable graph:
G <- rbind(
c(0, 5, 7, 6, NA),
c(5, 0, 14, 15, NA),
c(7, 14, 0, 5, 5),
c(6, 15, 5, 0, 6),
c(NA, NA, 5, 6, 0)
)
complete_Gamma(G)
## Non-decomposable graph:
G <- rbind(
c(0, 5, 7, 6, 6),
c(5, 0, 14, 15, 13),
c(7, 14, 0, 5, 5),
c(6, 15, 5, 0, 6),
c(6, 13, 5, 6, 0)
)
g <- igraph::make_ring(5)
complete_Gamma(G, g)