stat.lasso_lambdasmax {knockoff} | R Documentation |
Penalized linear regression statistics for knockoff
Description
Computes the signed maximum statistic
where and
are the maximum values of
at which the jth variable and its knockoff, respectively,
enter the penalized linear regression model.
Usage
stat.lasso_lambdasmax(X, X_k, y, ...)
Arguments
X |
n-by-p matrix of original variables. |
X_k |
n-by-p matrix of knockoff variables. |
y |
vector of length n, containing the response variables. It should be numeric. |
... |
additional arguments specific to |
Details
This function uses glmnet
to compute the regularization path
on a fine grid of 's.
The additional nlambda
parameter can be used to control the granularity of the grid of values.
The default value 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).
This function is a wrapper around the more general
stat.glmnet_lambdadiff
.
For a complete list of the available additional arguments, see glmnet
.
Value
A vector of statistics of length p.
Examples
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, knockoff=knockoffs,
statistic=stat.lasso_lambdasmax)
print(result$selected)
# Advanced usage with custom arguments
foo = stat.lasso_lambdasmax
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)