Learn R Programming

MFKnockoffs (version 0.9.1)

MFKnockoffs.stat.sqrt_lasso: SQRT-lasso statistics for Knockoff

Description

Computes the signed maximum statistic $$W_j = \max(Z_j, \tilde{Z}_j) \cdot \mathrm{sgn}(Z_j - \tilde{Z}_j),$$ where \(Z_j\) and \(\tilde{Z}_j\) are the maximum values of \(\lambda\) at which the jth variable and its knockoff, respectively, enter the SQRT lasso model.

Usage

MFKnockoffs.stat.sqrt_lasso(X, X_k, y, ...)

Arguments

X

original design matrix (size n-by-p)

X_k

knockoff matrix (size n-by-p)

y

response vector (length n) of numeric type

...

additional arguments specific to 'slim'

Value

A vector of statistics \(W\) (length p)

Details

With default parameters, this function uses the package flare to run the SQRT lasso. By specifying the appropriate optional parameters, one can use different Lasso variants including Dantzig Selector, LAD Lasso, SQRT Lasso and Lq Lasso for estimating high dimensional sparse linear models.

For a complete list of the available additional arguments, see slim.

See Also

Other statistics for knockoffs: MFKnockoffs.stat.forward_selection, MFKnockoffs.stat.glmnet_coef_difference, MFKnockoffs.stat.glmnet_lambda_difference, MFKnockoffs.stat.lasso_coef_difference_bin, MFKnockoffs.stat.lasso_coef_difference, MFKnockoffs.stat.lasso_lambda_difference_bin, MFKnockoffs.stat.lasso_lambda_difference, MFKnockoffs.stat.random_forest, MFKnockoffs.stat.stability_selection

Examples

Run this code
# NOT RUN {
p=50; n=50; k=10
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) MFKnockoffs.create.gaussian(X, mu, Sigma)
result = MFKnockoffs.filter(X, y, knockoffs=knockoffs, statistic=MFKnockoffs.stat.sqrt_lasso)
print(result$selected)

# Advanced usage with custom arguments
foo = MFKnockoffs.stat.sqrt_lasso
k_stat = function(X, X_k, y) foo(X, X_k, y, q=0.5)
result = MFKnockoffs.filter(X, y, knockoffs=knockoffs, statistic=k_stat)
print(result$selected)

# }

Run the code above in your browser using DataLab