Helper to define list of parameters to control the ZIPLNnetwork fit. All arguments have defaults.
ZIPLNnetwork_param(
backend = c("builtin", "nlopt"),
inception_cov = c("full", "spherical", "diagonal"),
trace = 1,
n_penalties = 30,
min_ratio = 0.1,
penalize_diagonal = TRUE,
penalty_weights = NULL,
config_post = list(),
config_optim = list(),
inception = NULL
)list of parameters configuring the fit.
optimization backend, either "builtin" (default, joint Newton on (M,\(\psi\),R), combined with the partial E-step maxit_ve = 1) or "nlopt" (CCSAQ). "builtin" consistently finds a better ELBO across the penalty path at the cost of being slower.
Covariance structure used for the inception PLN:
"full" (default), "diagonal" or "spherical". Non-full structures are now
fully supported: when inception_cov != "full", the penalty grid is built from the
empirical covariance of latent residuals \(M - XB\) (a full-rank proxy for \(\Sigma\)),
avoiding the broken max_pen = 0 that previously occurred with diagonal/spherical.
a integer for verbosity.
an integer that specifies the number of values for the penalty grid when internally generated. Ignored when penalties is non NULL
the penalty grid ranges from the minimal value that produces a sparse to this value multiplied by min_ratio. Default is 0.1.
boolean: should the diagonal terms be penalized in the graphical-Lasso? Default is TRUE
either a single or a list of p x p matrix of weights (default: all weights equal to 1) to adapt the amount of shrinkage to each pairs of node. Must be symmetric with positive values.
a list for controlling the post-treatments (optional bootstrap, jackknife, R2, etc.). See details
a list for controlling the optimizer (either "nlopt" or "torch" backend). See details
Set up the parameters initialization: by default, the model is initialized with a multivariate linear model applied on log-transformed data, and with the same formula as the one provided by the user. However, the user can provide a PLNfit (typically obtained from a previous fit), which sometimes speeds up the inference.
See PLNnetwork_param() for a full description of the optimization parameters. Note that some defaults values are different than those used in PLNnetwork_param():
"ftol_out" (outer loop convergence tolerance the objective function) is set by default to 1e-6
"maxit_out" (max number of iterations for the outer loop) is set by default to 50
PLNnetwork_param() and PLN_param()