README.md

BDcocolasso

Travis build
status

R software package to implement high-dimensional error-in-variables regression. This package implements CoCoLasso algorithm in settings with additive error or missing data in the covariates. This package also implements a variation of the CoCoLasso algorithm called Block-Descent CoCoLasso (or BD-CoCoLasso), which focuses on a setting where only a small percentage of the features are corrupted (with additive error or missing data)

This package is based on the CoCoLasso algorithm. CoCoLASSO requires a computationally demanding positive semi-definite projection of the covariance matrix for a high dimensional feature set. In a very high-dimensional context where there are both corrupted and uncorrupted covariates and where the portion of corrupted features is relatively small, we take advantage of the block descent minimization to develop a more efficient algorithm called BDCoCoLasso. In an alternating block minimization algorithm, the CoCoLasso corrections are used when updating corrupted coefficient vectors, and a simple LASSO is used for the uncorrupted coefficient vectors. Both sub-problems are convex and hence a global solution can be obtained, even though adaption of the cross-validation step requires care in this setting where there are products of corrupted and uncorrupted matrices.

Installation

install.packages("BDcocolasso")

And the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("celiaescribe/BDcocolasso")

Vignette

See the online vignette for details about the BDcoco model and example usage of the functions.

Model input

There exist two settings in which the BD-CoCoLasso can be used : in the simple CoCoLasso version, and in the Block-Descent-CoCoLasso version. The inputs vary according to the chosen algorithm setting, and according to the chosen noise setting.

  1. X: n x p matrix of covariates. Can be high-dimensional, i.e., p >> n. Must be continuous or with binary categorical features. Can contain missing values in NA format in the missing data setting.
  2. y: a continuous response of length n.
  3. n: Number of samples
  4. p: Number of covariates
  5. noise: Type of noise setting. There are two possibilities : additive or missing. In the additive setting it is necessary to specify the tau parameter, corresponding to the standard deviation of the additive error matrix. In the missing setting, nothing has to be specified.
  6. block: Chosen setting. Here, block should be equal to FALSE.
  7. penalty: Type of penalty chosen. It can be equal to lasso or SCAD according to the chosen penalty setting.
  1. X: n x p matrix of covariates. Can be high-dimensional, i.e., p >> n. Must be continuous or with binary categorical features. Can contain missing values in NA format in the missing data setting. The first p1 columns must correspond to the uncorrupted covariates, and the last p2 columns must correspond to the corrupted covariates.
  2. y: a continuous response of length n.
  3. n: Number of samples
  4. p: Number of covariates
  5. p1: Number of uncorrupted covariates
  6. p2: Number of corrupted covariates
  7. noise: Type of noise setting. There are two possibilities : additive or missing. In the additive setting it is necessary to specify the tau parameter, corresponding to the standard deviation of the additive error matrix. In the missing setting, nothing has to be specified.
  8. block: Chosen setting. Here, block should be equal to TRUE.
  9. penalty: Type of penalty chosen. It can be equal to lasso or SCAD according to the chosen penalty setting.

Contact

email : celia.escribe@polytechnique.edu; tianyuan.lu@mail.mcgill.ca; karim.oualkacha@uqam.ca; celia.greenwood@mcgill.ca

Credit

We were inspired by the following studies :



celiaescribe/BDcocolasso documentation built on Feb. 11, 2020, 11:41 p.m.