Following the methodology from eng2022a;textualgraphicalExtremes, fits an extremal graph structure using the neighborhood selection approach (see meins2006;textualgraphicalExtremes) or graphical lasso (see friedman2008;textualgraphicalExtremes).
eglearn(
data,
p = NULL,
rholist = c(0.1, 0.15, 0.19, 0.205),
reg_method = c("ns", "glasso"),
complete_Gamma = FALSE
)List made of:
graphA list of igraph::graph objects representing the
fitted graphs for each rho in rholist.
GammaA list of numeric estimated \(d \times d\)
variogram matrices \(\Gamma\) corresponding to the fitted graphs,
for each rho in rholist. If complete_Gamma = FALSE or the
underlying graph is not connected, it returns NULL.
rholistThe list of penalty coefficients.
graph_icA list of igraph::graph objects
representing the optimal graph
according to the aic, bic, and mbic information criteria.
If reg_method = "glasso", it returns a list of NULL.
Gamma_icA list of numeric \(d \times d\) estimated
variogram matrices \(\Gamma\) corresponding
to the aic, bic, and mbic information criteria.
If reg_method = "glasso", complete_Gamma = FALSE, or the underlying
graph is not connected, it returns a list of NULL.
Numeric \(n \times d\) matrix, where n is the
number of observations and d is the dimension.
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.
Numeric vector of non-negative regularization parameters
for the lasso.
Default is rholist = c(0.1, 0.15, 0.19, 0.205).
For details see glasso::glassopath().
One of "ns", "glasso", for neighborhood selection and
graphical lasso, respectively.
Default is reg_method = "ns".
For details see meins2006;textualgraphicalExtremes,
friedman2008;textualgraphicalExtremes.
Whether you want to try fto complete Gamma matrix.
Default is complete_Gamma = FALSE.
Other structure estimation methods:
data2mpareto(),
eglatent(),
emst(),
fit_graph_to_Theta()
set.seed(2)
m <- generate_random_model(d=6)
y <- rmpareto(n=500, par=m$Gamma)
ret <- eglearn(y)
Run the code above in your browser using DataLab