The functions PLNnetwork() and ZIPLNnetwork() both produce an instance of this class, which can be thought of as a vector of PLNnetworkfits ZIPLNfit_sparses (indexed by penalty parameter)
This class comes with a set of methods mostly used to compare
network fits (in terms of goodness of fit) or extract one from
the family (based on penalty parameter and/or goodness of it).
See the documentation for getBestModel(),
getModel() and plot() for the user-facing ones.
PLNmodels::PLNfamily -> Networkfamily
penaltiesthe sparsity level of the network in the successively fitted models
stability_paththe stability path of each edge as returned by the stars procedure
stabilitymean edge stability along the penalty path
criteriaa data frame with the values of some criteria (variational log-likelihood, (E)BIC, ICL and R2, stability) for the collection of models / fits BIC, ICL and EBIC are defined so that they are on the same scale as the model log-likelihood, i.e. with the form, loglik - 0.5 penalty
new()Initialize all models in the collection
Networkfamily$new(penalties, data, control)penaltiesa vector of positive real number controlling the level of sparsity of the underlying network.
dataa named list used internally to carry the data matrices
controla list for controlling the optimization.
Update all network fits in the family with smart starting values
optimize()Call to the C++ optimizer on all models of the collection
Networkfamily$optimize(data, config)dataa named list used internally to carry the data matrices
configa list for controlling the optimization.
coefficient_path()Extract the regularization path of a Networkfamily
Networkfamily$coefficient_path(precision = TRUE, corr = TRUE)precisionLogical. Should the regularization path be extracted from the precision matrix Omega (TRUE, default) or from the variance matrix Sigma (FALSE)
corrLogical. Should the matrix be transformed to (partial) correlation matrix before extraction? Defaults to TRUE
getBestModel()Extract the best network in the family according to some criteria
Networkfamily$getBestModel(crit = c("BIC", "EBIC", "StARS"), stability = 0.9)critcharacter. Criterion used to perform the selection. If "StARS" is chosen but $stability field is empty, will compute stability path.
stabilityOnly used for "StARS" criterion. A scalar indicating the target stability (= 1 - 2 beta) at which the network is selected. Default is 0.9.
For BIC and EBIC criteria, higher is better.
plot()Display various outputs (goodness-of-fit criteria, robustness, diagnostic) associated with a collection of network fits (a Networkfamily)
Networkfamily$plot(
criteria = c("loglik", "pen_loglik", "BIC", "EBIC"),
reverse = FALSE,
log.x = TRUE
)criteriavector of characters. The criteria to plot in c("loglik", "pen_loglik", "BIC", "EBIC"). Defaults to all of them.
reverseA logical indicating whether to plot the value of the criteria in the "natural" direction (loglik - 0.5 penalty) or in the "reverse" direction (-2 loglik + penalty). Default to FALSE, i.e use the natural direction, on the same scale as the log-likelihood.
log.xlogical: should the x-axis be represented in log-scale? Default is TRUE.
a ggplot2::ggplot graph
plot_stars()Plot stability path
Networkfamily$plot_stars(stability = 0.9, log.x = TRUE)stabilityscalar: the targeted level of stability using stability selection. Default is 0.9.
log.xlogical: should the x-axis be represented in log-scale? Default is TRUE.
a ggplot2::ggplot graph
plot_objective()Plot objective value of the optimization problem along the penalty path
Networkfamily$plot_objective()a ggplot2::ggplot graph
show()User friendly print method
Networkfamily$show()
clone()The objects of this class are cloneable with this method.
Networkfamily$clone(deep = FALSE)deepWhether to make a deep clone.
The functions PLNnetwork(), ZIPLNnetwork() and the classes PLNnetworkfit, ZIPLNfit_sparse