
Last chance! 50% off unlimited learning
Sale ends in
Fit the lasso path and computes the difference statistic
stat.lasso_lambdadiff(X, X_k, y, ...)
A vector of statistics
n-by-p matrix of original variables.
n-by-p matrix of knockoff variables.
vector of length n, containing the response variables. It should be numeric.
additional arguments specific to glmnet
(see Details).
This function uses glmnet
to compute the lasso path
on a fine grid of
The nlambda
parameter can be used to control the granularity of the
grid of nlambda
is 500
.
Unless a lambda sequence is provided by the user, this function generates it on a
log-linear scale before calling glmnet
(default 'nlambda': 500).
For a complete list of the available additional arguments, see glmnet
or lars
.
Other statistics:
stat.forward_selection()
,
stat.glmnet_coefdiff()
,
stat.glmnet_lambdadiff()
,
stat.lasso_coefdiff_bin()
,
stat.lasso_coefdiff()
,
stat.lasso_lambdadiff_bin()
,
stat.random_forest()
,
stat.sqrt_lasso()
,
stat.stability_selection()
set.seed(2022)
p=200; n=100; k=15
mu = rep(0,p); Sigma = diag(p)
X = matrix(rnorm(n*p),n)
nonzero = sample(p, k)
beta = 3.5 * (1:p %in% nonzero)
y = X %*% beta + rnorm(n)
knockoffs = function(X) create.gaussian(X, mu, Sigma)
# Basic usage with default arguments
result = knockoff.filter(X, y, knockoffs=knockoffs,
statistic=stat.lasso_lambdadiff)
print(result$selected)
# Advanced usage with custom arguments
foo = stat.lasso_lambdadiff
k_stat = function(X, X_k, y) foo(X, X_k, y, nlambda=200)
result = knockoff.filter(X, y, knockoffs=knockoffs, statistic=k_stat)
print(result$selected)
Run the code above in your browser using DataLab