`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
)
```

- Robject
an object with class

`PLNnetworkfamily`

, i.e. an output from`PLNnetwork()`

- subsamples
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.- control
a list controlling the main optimization process in each call to PLNnetwork. See

`PLNnetwork()`

for details.- force
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 `PLNnetworkfamily`

```
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) {
n <- nrow(trichoptera)
subs <- replicate(10, sample.int(n, size = n/2), simplify = FALSE)
stability_selection(nets, subsamples = subs)
}
```