R/PLNnetworkfamily-S3methods.R
stability_selection.Rd
This function computes the StARS stability criteria over a path of penalties. If a path has already been computed, the functions stops with a message unless force = TRUE
has been specified.
stability_selection(
Robject,
subsamples = NULL,
control = PLNnetwork_param(),
force = FALSE
)
an object with class PLNnetworkfamily
or ZIPLNnetworkfamily
, i.e. an output from PLNnetwork()
or ZIPLNnetwork()
a list of vectors describing the subsamples. The number of vectors (or list length) determines th number of subsamples used in the stability selection. Automatically set to 20 subsamples with size 10*sqrt(n)
if n >= 144
and 0.8*n
otherwise following Liu et al. (2010) recommendations.
a list controlling the main optimization process in each call to PLNnetwork()
or ZIPLNnetwork()
. See PLN_param()
or ZIPLN_param()
for details.
force computation of the stability path, even if a previous one has been detected.
the list of subsamples. The estimated probabilities of selection of the edges are stored in the fields stability_path
of the initial Robject with class Networkfamily
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!
if (FALSE) { # \dontrun{
n <- nrow(trichoptera)
subs <- replicate(10, sample.int(n, size = n/2), simplify = FALSE)
stability_selection(nets, subsamples = subs)
} # }