Skip to contents

Perform sparse inverse covariance estimation for the Zero Inflated Poisson lognormal model using a variational algorithm. Iterate over a range of logarithmically spaced sparsity parameter values. Use the (g)lm syntax to specify the model (including covariates and offsets).

Usage

PLNnetwork(
  formula,
  data,
  subset,
  weights,
  penalties = NULL,
  control = PLNnetwork_param()
)

Arguments

formula

an object of class "formula": a symbolic description of the model to be fitted.

data

an optional data frame, list or environment (or object coercible by as.data.frame to a data frame) containing the variables in the model. If not found in data, the variables are taken from environment(formula), typically the environment from which the model is called.

subset

an optional vector specifying a subset of observations to be used in the fitting process.

weights

an optional vector of observation weights to be used in the fitting process.

penalties

an optional vector of positive real number controlling the level of sparsity of the underlying network. if NULL (the default), will be set internally. See PLNnetwork_param() for additional tuning of the penalty. With the default penalty_scale = "correlation", the penalties apply on the scale of the correlations and lie between 0 and 1; until version 1.3.2 they were on the covariance scale, which PLNnetwork_param(penalty_scale = "covariance") gives back. When penalties above 1 are given without choosing the scale, they are taken as penalties on the covariance scale and converted, with a warning (see PLNnetwork_param()).

control

a list-like structure for controlling the optimization, with default generated by PLNnetwork_param(). See the corresponding documentation for details;

Value

an R6 object with class PLNnetworkfamily, which contains a collection of models with class PLNnetworkfit

See also

The classes PLNnetworkfamily and PLNnetworkfit, and the and the configuration function PLNnetwork_param().

Examples

data(trichoptera)
trichoptera <- prepare_data(trichoptera$Abundance, trichoptera$Covariate)
fits <- PLNnetwork(Abundance ~ 1, data = trichoptera)
#> 
#>  Initialization...
#>  Adjusting 30 PLN with sparse inverse covariance estimation
#> 	Joint optimization alternating gradient descent and graphical-lasso
#> 	sparsifying penalty = 0.5246191 
	sparsifying penalty = 0.4845754 
	sparsifying penalty = 0.4475881 
	sparsifying penalty = 0.4134241 
	sparsifying penalty = 0.3818678 
	sparsifying penalty = 0.3527202 
	sparsifying penalty = 0.3257973 
	sparsifying penalty = 0.3009295 
	sparsifying penalty = 0.2779598 
	sparsifying penalty = 0.2567434 
	sparsifying penalty = 0.2371464 
	sparsifying penalty = 0.2190452 
	sparsifying penalty = 0.2023257 
	sparsifying penalty = 0.1868823 
	sparsifying penalty = 0.1726178 
	sparsifying penalty = 0.159442 
	sparsifying penalty = 0.1472719 
	sparsifying penalty = 0.1360308 
	sparsifying penalty = 0.1256477 
	sparsifying penalty = 0.1160571 
	sparsifying penalty = 0.1071986 
	sparsifying penalty = 0.09901618 
	sparsifying penalty = 0.09145836 
	sparsifying penalty = 0.08447742 
	sparsifying penalty = 0.07802933 
	sparsifying penalty = 0.07207342 
	sparsifying penalty = 0.06657212 
	sparsifying penalty = 0.06149072 
	sparsifying penalty = 0.05679719 
	sparsifying penalty = 0.05246191 

#>  Post-treatments
#>  DONE!