R/PLNnetworkfamily-S3methods.R
stability_selection.RdThis 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.353689
sparsifying penalty = 6.792388
sparsifying penalty = 6.273931
sparsifying penalty = 5.795047
sparsifying penalty = 5.352716
sparsifying penalty = 4.944148
sparsifying penalty = 4.566765
sparsifying penalty = 4.218188
sparsifying penalty = 3.896217
sparsifying penalty = 3.598823
sparsifying penalty = 3.324127
sparsifying penalty = 3.0704
sparsifying penalty = 2.836039
sparsifying penalty = 2.619566
sparsifying penalty = 2.419617
sparsifying penalty = 2.23493
sparsifying penalty = 2.064339
sparsifying penalty = 1.90677
sparsifying penalty = 1.761228
sparsifying penalty = 1.626795
sparsifying penalty = 1.502623
sparsifying penalty = 1.387929
sparsifying penalty = 1.28199
sparsifying penalty = 1.184137
sparsifying penalty = 1.093752
sparsifying penalty = 1.010267
sparsifying penalty = 0.9331545
sparsifying penalty = 0.8619276
sparsifying penalty = 0.7961374
sparsifying penalty = 0.7353689
#> 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)
} # }