Learn R Programming

mht (version 3.1.2)

dyadiqueordre: Dyadic algorithm to order variables

Description

Dyadic algorithm using the Bolasso technique to order the variables

Usage

dyadiqueordre(data,Y,m,maxordre,var_nonselect,showtest,showordre,random)

Arguments

data
Input matrix of dimension n * p; each of the n rows is an observation vector of p variables. The intercept should be included in the first column as (1,...,1). If not, it is added.
Y
Response variable of length n.
m
Number of bootstrap iteration of the Lasso. Default is m=100.
maxordre
Number of variables to order. Default is min(n/2-1,p/2-1).
var_nonselect
Number of variables that don't undergo feature selection. They have to be in the first columns of data. Default is 1, the selection is not performed on the intercept.
showtest
Logical value. If TRUE, show the number of regularization parameters tested to show the steps of the algorithm. Default is FALSE.
showordre
Logical value. If TRUE, shows the ordered variables at each step of the algorithm. Default is TRUE.
random
optionnal parameter. Matrix of size n*m, the m bootstrap samples are constructed from the m columns.

Value

plot is available.
data
A list containing:
  • Y - the input response vector
  • means.X - Vector of means of the input data matrix.
  • sigma.X - Vector of variances of the input data matrix.
ordre
The order obtained on the variables.
mu
Vector of the positive regularization sequence that was used in the algorithm.
frequency
Matrix of p rows. Appearance frequency of each variable for the regularization parameter in mu.

Details

The algorithm starts from a large regularization parameter given by one run of Lasso. It proceeds by dyadic splitting until one variable is isolated; e.g one variable alone achieve a frequency of 1; it is the first ordered variable. And so on until maxordre variables are ordered.

See Also

bolasso, plot.bolasso

Examples

Run this code
## Not run: 
# x=matrix(rnorm(100*20),100,20)
# beta=c(rep(2,5),rep(0,15))
# y=x%*%beta+rnorm(100)
# mod=dyadiqueordre(x,y,maxordre=15)
# ## End(Not run)

Run the code above in your browser using DataLab