Learn R Programming

MNS (version 1.0)

cv.MNS: Select regularization parameters via cross-validation

Description

Select regularization parameters via K-fold cross-validation

Usage

cv.MNS(dat, l1range, alpharange, 
    K = 5, parallel = FALSE, 
    cores = NULL, verbose = FALSE)

Arguments

dat
List where each entry corresponds to the time series observations for each subject
l1range
Vector of candidate regularization parameters. See details below
alpharange
Vector of candidate weighting parameters. See details below.
K
Number of cross-validation folds
parallel
Indicate whether model fit should be done in parallel. Default is FALSE
cores
If fit in parallel, indicate how many units/cores should be used
verbose
Print progress. Only available for non-parallel implementation

Value

  • l1selected regularization parameter
  • alphaselected weighting parameter
  • CVgrid of cross-validation error for each pair of regularization parameters

Details

Select regularization parameters via cross-validation. In the interest of simplicity we re-parameterize penalty as an elastic net penalty: $$\lambda * \alpha || \beta||_1 + \lambda * (1-\alpha) || \sigma||_1$$ Thus $\lambda$ is the regularization parameter (specified by the l1range argument) and $\alpha$ is the weighting parameter (specified by the alpharange argument).

References

Arlot, S., and Alain C. "A survey of cross-validation procedures for model selection." Statistics surveys 4 (2010): 40-79.

Monti, R., Anagnostopolus, C., Montana, G. "Inferring brain connectivity networks from functional MRI data via mixed neighbourhood selection", arXiv, 2015

See Also

MNS

Examples

Run this code
set.seed(1)
Dat = gen.Network(p = 10, Nsub = 5, 
 sparsity = .2, REsize=10, REprob=.5, 
 REnoise = 1, Nobs=20)
CVs = cv.MNS(dat = Dat, l1range = seq(.1, .5, length.out=10),
 alpharange = seq(.2, .8, length.out = 5), 
 parallel = FALSE, verbose = TRUE)

Run the code above in your browser using DataLab