Description Usage Arguments Value References See Also Examples
Fits a (possibly high-dimensional) linear model with Lasso-Zero. Lasso-Zero aggregates several estimates obtained by solving the basis pursuit problem after concatenating random noise dictionaries to the input matrix. The procedure is described in more details in the paper linked to in the References section below.
1 2 3 4 |
X |
input matrix of dimension |
y |
response vector of size |
tau |
a positive threshold value. If missing, then |
alpha |
level of the quantile universal threshold (number between 0 and
1). If missing, then |
q |
size of noise dictionaries. A noise dictionary consists in a
Gaussian matrix G of size |
M |
number of noise dictionaries used. |
sigma |
standard deviation of the noise. If |
intercept |
whether an intercept should be fitted. If |
standardizeX |
whether the columns of |
standardizeG |
either a positive numerical value indicating the desired
Euclidean norm of all columns of the noise dictionaries, or a logical value
indicating whether the columns of the noise dictionaries should be
standardized to have unit standard deviation. If |
qut.MC.output |
an object of type |
GEVapprox |
whether to approximate the distribution of the null
thresholding statistic by a GEV distribution (ignored if |
parallel |
if |
soft.thresholding |
if |
ols |
whether to refit the nonzero coefficients with an ordinary least
squares procedure. Default is |
... |
further arguments that can be passed to |
An object of class "lass0"
. It is a list containing the
following components:
coefficients |
estimated regression coefficients. |
intercept |
intercept value. |
fitted.values |
fitted values. |
residuals |
residuals. |
selected |
set of selected features. |
tau |
threshold value. |
Betas |
matrix of size |
Gammas |
matrix of size |
madGammas |
statistics based on the noise coefficients, corresponding
to the MAD of all nonzero entries in |
sdsX |
standard
deviations of all columns of |
qut.MC.output |
either the list returned by |
quant.type |
if tau is NULL, indicates the type of quantile used: "GEV" or "empirical" (even when GEVapprox = TRUE, the empirical quantile is used when gev.fit returns an error) |
call |
matched call. |
Descloux, P., & Sardy, S. (2018). Model selection with lasso-zero: adding straw to the haystack to better find needles. arXiv preprint arXiv:1805.05133. https://arxiv.org/abs/1805.05133
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #### EXAMPLE 1: fast example with 5x10 input matrix and a small number
#### (MCrep = 50) of Monte Carlo replications for computing QUT.
set.seed(201)
## design matrix
n <- 5
p <- 10
X <- matrix(rnorm(n*p), n, p)
## sparse vector
S0 <- 1:2 # support
beta0 <- rep(0, p)
beta0[S0] <- 2
## response:
y <- X[, S0] %*% beta0[S0] + rnorm(n)
## lasso-zero:
lass0.obj <- lass0(X, y, alpha = 0.05, MCrep = 50)
betahat <- lass0.obj$coefficients
plot(lass0.obj)
#### EXAMPLE 2: with 50x100 input matrix
set.seed(202)
## design matrix
n <- 50
p <- 100
X <- matrix(rnorm(n*p), n, p)
## sparse vector
S0 <- 1:3 # support
beta0 <- rep(0, p)
beta0[S0] <- 2
## response:
y <- X[, S0] %*% beta0[S0] + rnorm(n)
## 1) lasso-zero tuned by QUT with unknown noise level
lass0.obj1 <- lass0(X, y, alpha = 0.05)
betahat1 <- lass0.obj1$coefficients
plot(lass0.obj1)
## 2) lasso-zero tuned by QUT with known noise level
lass0.obj2 <- lass0(X, y, alpha = 0.05, sigma = 1)
betahat2 <- lass0.obj2$coefficients
## 3) lasso-zero with fixed threshold tau = 1
lass0.obj3 <- lass0(X, y, tau = 1)
betahat3 <- lass0.obj3$coefficients
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.