Fit the sparse inverse covariance variant of the Poisson lognormal with a variational algorithm. Use the (g)lm syntax for model specification (covariates, offsets).

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 lm 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.

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 = 7.264447 
	sparsifying penalty = 6.709958 
	sparsifying penalty = 6.197792 
	sparsifying penalty = 5.72472 
	sparsifying penalty = 5.287757 
	sparsifying penalty = 4.884147 
	sparsifying penalty = 4.511344 
	sparsifying penalty = 4.166997 
	sparsifying penalty = 3.848934 
	sparsifying penalty = 3.555148 
	sparsifying penalty = 3.283787 
	sparsifying penalty = 3.033138 
	sparsifying penalty = 2.801621 
	sparsifying penalty = 2.587776 
	sparsifying penalty = 2.390253 
	sparsifying penalty = 2.207807 
	sparsifying penalty = 2.039287 
	sparsifying penalty = 1.88363 
	sparsifying penalty = 1.739854 
	sparsifying penalty = 1.607053 
	sparsifying penalty = 1.484388 
	sparsifying penalty = 1.371086 
	sparsifying penalty = 1.266432 
	sparsifying penalty = 1.169766 
	sparsifying penalty = 1.080479 
	sparsifying penalty = 0.998007 
	sparsifying penalty = 0.9218299 
	sparsifying penalty = 0.8514675 
	sparsifying penalty = 0.7864757 
	sparsifying penalty = 0.7264447 

#>  Post-treatments
#>  DONE!