R/ZIPLNnetwork.R
ZIPLNnetwork.Rd
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).
ZIPLNnetwork(
formula,
data,
subset,
weights,
zi = c("single", "row", "col"),
penalties = NULL,
control = ZIPLNnetwork_param()
)
an object of class "formula": a symbolic description of the model to be fitted.
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.
an optional vector specifying a subset of observations to be used in the fitting process.
an optional vector of observation weights to be used in the fitting process.
a character describing the model used for zero inflation, either of
"single" (default, one parameter shared by all counts)
"col" (one parameter per variable / feature)
"row" (one parameter per sample / individual). If covariates are specified in the formula RHS (see details) this parameter is ignored.
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.
a list-like structure for controlling the optimization, with default generated by ZIPLNnetwork_param()
. See the associated documentation
for details.
an R6 object with class ZIPLNnetworkfamily
Covariates for the Zero-Inflation parameter (using a logistic regression model) can be specified in the formula RHS using the pipe
(~ PLN effect | ZI effect
) to separate covariates for the PLN part of the model from those for the Zero-Inflation part.
Note that different covariates can be used for each part.
The classes ZIPLNfit
and ZIPLNnetworkfamily
data(trichoptera)
trichoptera <- prepare_data(trichoptera$Abundance, trichoptera$Covariate)
myZIPLNs <- ZIPLNnetwork(Abundance ~ 1, data = trichoptera, zi = "single")
#>
#> Initialization...
#> Adjusting 30 ZI-PLN with sparse inverse covariance estimation and single specific parameter(s) in Zero inflation component.
#> sparsifying penalty = 7.932663
sparsifying penalty = 7.327169
sparsifying penalty = 6.767893
sparsifying penalty = 6.251305
sparsifying penalty = 5.774149
sparsifying penalty = 5.333413
sparsifying penalty = 4.926318
sparsifying penalty = 4.550296
sparsifying penalty = 4.202976
sparsifying penalty = 3.882167
sparsifying penalty = 3.585844
sparsifying penalty = 3.31214
sparsifying penalty = 3.059327
sparsifying penalty = 2.825811
sparsifying penalty = 2.610119
sparsifying penalty = 2.410891
sparsifying penalty = 2.22687
sparsifying penalty = 2.056895
sparsifying penalty = 1.899894
sparsifying penalty = 1.754877
sparsifying penalty = 1.620928
sparsifying penalty = 1.497204
sparsifying penalty = 1.382924
sparsifying penalty = 1.277367
sparsifying penalty = 1.179866
sparsifying penalty = 1.089808
sparsifying penalty = 1.006624
sparsifying penalty = 0.9297892
sparsifying penalty = 0.8588192
sparsifying penalty = 0.7932663
#> DONE!