CVP_ADMM function

Parallel CV (uses CV_ADMMc)

Parallel CV (uses CV_ADMMc)

Parallel implementation of cross validation.

CVP_ADMM(X = NULL, lam = 10^seq(-2, 2, 0.2), alpha = seq(0, 1, 0.2), diagonal = FALSE, rho = 2, mu = 10, tau.inc = 2, tau.dec = 2, crit = c("ADMM", "loglik"), tol.abs = 1e-04, tol.rel = 1e-04, maxit = 1000, adjmaxit = NULL, K = 5, crit.cv = c("loglik", "penloglik", "AIC", "BIC"), start = c("warm", "cold"), cores = 1, trace = c("progress", "print", "none"))

Arguments

  • X: nxp data matrix. Each row corresponds to a single observation and each column contains n observations of a single feature/variable.
  • lam: positive tuning parameters for elastic net penalty. If a vector of parameters is provided, they should be in increasing order. Defaults to grid of values 10^seq(-2, 2, 0.2).
  • alpha: elastic net mixing parameter contained in [0, 1]. 0 = ridge, 1 = lasso. If a vector of parameters is provided, they should be in increasing order. Defaults to grid of values seq(-1, 1, 0.2).
  • diagonal: option to penalize the diagonal elements of the estimated precision matrix (Ω\Omega). Defaults to FALSE.
  • rho: initial step size for ADMM algorithm.
  • mu: factor for primal and residual norms in the ADMM algorithm. This will be used to adjust the step size rho after each iteration.
  • tau.inc: factor in which to increase step size rho
  • tau.dec: factor in which to decrease step size rho
  • crit: criterion for convergence (ADMM or loglik). If crit = loglik then iterations will stop when the relative change in log-likelihood is less than tol.abs. Default is ADMM and follows the procedure outlined in Boyd, et al.
  • tol.abs: absolute convergence tolerance. Defaults to 1e-4.
  • tol.rel: relative convergence tolerance. Defaults to 1e-4.
  • maxit: maximum number of iterations. Defaults to 1e3.
  • adjmaxit: adjusted maximum number of iterations. During cross validation this option allows the user to adjust the maximum number of iterations after the first lam tuning parameter has converged (for each alpha). This option is intended to be paired with warm starts and allows for 'one-step' estimators. Defaults to NULL.
  • K: specify the number of folds for cross validation.
  • crit.cv: cross validation criterion (loglik, penloglik, AIC, or BIC). Defaults to loglik.
  • start: specify warm or cold start for cross validation. Default is warm.
  • cores: option to run CV in parallel. Defaults to cores = 1.
  • trace: option to display progress of CV. Choose one of progress to print a progress bar, print to print completed tuning parameters, or none.

Returns

returns list of returns which includes: - lam: optimal tuning parameter.

  • alpha: optimal tuning parameter.

  • min.error: minimum average cross validation error (cv.crit) for optimal parameters.

  • avg.error: average cross validation error (cv.crit) across all folds.

  • cv.error: cross validation errors (cv.crit).

  • Maintainer: Matt Galloway
  • License: GPL (>= 2)
  • Last published: 2018-08-02