Step by step functions to apply the selectboost algorithm.
Usage
boost.normalize(X, eps = 1e-08)
boost.compcorrs(
Xnorm,
corrfunc = "cor",
verbose = FALSE,
testvarindic = rep(TRUE, ncol(Xnorm))
)
boost.correlation_sign(Correlation_matrice, verbose = FALSE)
boost.findgroups(Correlation_matrice, group, corr = 1, verbose = FALSE)
boost.Xpass(nrowX, ncolX)
boost.adjust(
X,
groups,
Correlation_sign,
Xpass = boost.Xpass(nrowX, ncolX),
verbose = FALSE,
use.parallel = FALSE,
ncores = 4
)
boost.random(
X,
Xpass,
vmf.params,
verbose = FALSE,
B = 100,
use.parallel = FALSE,
ncores = 4
)
boost.apply(
X,
cols.simul,
Y,
func,
verbose = FALSE,
use.parallel = FALSE,
ncores = 4,
...
)
boost.select(Boost.coeffs, eps = 10^(-4), version = "lars", verbose = FALSE)
Arguments
- X
Numerical matrix. Matrix of the variables.
- eps
Numerical value. Response vector.
- Xnorm
Numerical matrix. Needs to be centered and l2 normalized.
- corrfunc
Character value or function. The function to compute associations between the variables.
- verbose
Boolean. Defaults to
FALSE
.- testvarindic
Boolean vector. Compute associations for a subset of variables. By default, the scope of the computation is the whole dataset, i.e.
rep(TRUE,ncol(Xnorm))
.- Correlation_matrice
Numerical matrix.
- group
Character value or function. The grouping function.
- corr
Numerical value. Thresholding value. Defaults to
1
.- nrowX
Numerical value
- ncolX
Numerical value.
- groups
List. List of groups or communities (compact form).
- Correlation_sign
Numerical -1/1 matrix.
- Xpass
Numerical value. Transformation matrix. Defaults to
boost.Xpass(nrowX,ncolX)
, withnrowX=nrow(X)
andncolX=ncol(X)
.- use.parallel
Boolean. Defaults to
FALSE
.- ncores
Numerical value. Number of cores to use. Defaults to
4
.- vmf.params
List. List of the parameters ot the fitted von-Mises distributions.
- B
Integer value. Number of resampling.
- cols.simul
Numerical value. Transformation matrix.
- Y
Numerical vector or factor. Response.
- func
Function. Variable selection function.
- ...
. Additionnal parameters passed to the
func
function.- Boost.coeffs
Numerical matrix. l2 normed matrix of predictors.
- version
Character value. "lars" (no intercept value) or "glmnet" (first coefficient is the intercept value).
Details
boost.normalize
returns a numeric matrix whose colun are centered and l2 normalized.
boost.compcorrs
returns a correlation like matrix computed using the corrfunc
function.
boost.Xpass
returns the transformation matrix.
boost.findgroups
returns a list of groups or communities found using the group
function.
boost.Xpass
returns the transformation matrix.
boost.adjust
returns the list of the parameters ot the fitted von-Mises distributions.
boost.random
returns an array with the resampled datasets.
boost.apply
returns a matrix with the coefficients estimated using the resampled datasets.
boost.select
returns a vector with the proportion of times each variable was selected.
References
selectBoost: a general algorithm to enhance the performance of variable selection methods in correlated datasets, Frédéric Bertrand, Ismaïl Aouadi, Nicolas Jung, Raphael Carapito, Laurent Vallat, Seiamak Bahram, Myriam Maumy-Bertrand, Bioinformatics, 2020. doi:10.1093/bioinformatics/btaa855
See also
Other Selectboost functions:
autoboost()
,
fastboost()
,
plot_selectboost_cascade
,
selectboost_cascade
Author
Frederic Bertrand, frederic.bertrand@lecnam.net
Examples
set.seed(314)
xran=matrix(rnorm(200),20,10)
yran=rnorm(20)
xran_norm <- boost.normalize(xran)
xran_corr<- boost.compcorrs(xran_norm)
xran_corr_sign <- boost.correlation_sign(xran_corr)
xran_groups <- boost.findgroups(xran_corr, group=group_func_1, .3)
xran_groups_2 <- boost.findgroups(xran_corr, group=group_func_2, .3)
xran_Xpass <- boost.Xpass(nrow(xran_norm),ncol(xran_norm))
xran_adjust <- boost.adjust(xran_norm, xran_groups$groups, xran_corr_sign)
#Not meaningful, should be run with B>=100
xran_random <- boost.random(xran_norm, xran_Xpass, xran_adjust$vmf.params, B=5)
# \donttest{
xran_random <- boost.random(xran_norm, xran_Xpass, xran_adjust$vmf.params, B=100)
# }
xran_apply <- boost.apply(xran_norm, xran_random, yran, lasso_msgps_AICc)
xran_select <- boost.select(xran_apply)