| Networkfamily {PLNmodels} | R Documentation | 
An R6 Class to virtually represent a collection of network fits
Description
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.
Super class
PLNmodels::PLNfamily -> Networkfamily
Active bindings
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
Methods
Public methods
Inherited methods
Method new()
Initialize all models in the collection
Usage
Networkfamily$new(penalties, data, control)
Arguments
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.
Returns
Update all network fits in the family with smart starting values
Method optimize()
Call to the C++ optimizer on all models of the collection
Usage
Networkfamily$optimize(data, config)
Arguments
dataa named list used internally to carry the data matrices
configa list for controlling the optimization.
Method coefficient_path()
Extract the regularization path of a Networkfamily
Usage
Networkfamily$coefficient_path(precision = TRUE, corr = TRUE)
Arguments
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
Method getBestModel()
Extract the best network in the family according to some criteria
Usage
Networkfamily$getBestModel(crit = c("BIC", "EBIC", "StARS"), stability = 0.9)Arguments
critcharacter. Criterion used to perform the selection. If "StARS" is chosen but
$stabilityfield 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.
Details
For BIC and EBIC criteria, higher is better.
Method plot()
Display various outputs (goodness-of-fit criteria, robustness, diagnostic) associated with a collection of network fits (a Networkfamily)
Usage
Networkfamily$plot(
  criteria = c("loglik", "pen_loglik", "BIC", "EBIC"),
  reverse = FALSE,
  log.x = TRUE
)Arguments
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.
Returns
a ggplot graph
Method plot_stars()
Plot stability path
Usage
Networkfamily$plot_stars(stability = 0.9, log.x = TRUE)
Arguments
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.
Returns
a ggplot graph
Method plot_objective()
Plot objective value of the optimization problem along the penalty path
Usage
Networkfamily$plot_objective()
Returns
a ggplot graph
Method show()
User friendly print method
Usage
Networkfamily$show()
Method clone()
The objects of this class are cloneable with this method.
Usage
Networkfamily$clone(deep = FALSE)
Arguments
deepWhether to make a deep clone.
See Also
The functions PLNnetwork(), ZIPLNnetwork() and the classes PLNnetworkfit, ZIPLNfit_sparse