Learn R Programming

natural (version 0.9.0)

olasso: Error standard deviation estimation using organic lasso

Description

Solve the organic lasso problem \(\tilde{\sigma}^2_{\lambda} = \min_{\beta} ||y - X \beta||_2^2 / n + 2 \lambda ||\beta||_1^2\) with two pre-specified values of tuning parameter: \(\lambda_1 = log p / n\), and \(\lambda_2\), which is a Monte-Carlo estimate of \(||X^T e||_\infty^2 / n^2\), where \(e\) is n-dimensional standard normal.

Usage

olasso(x, y, intercept = TRUE, thresh = 1e-08)

Arguments

x

An n by p design matrix. Each row is an observation of p features.

y

A response vector of size n.

intercept

Indicator of whether intercept should be fitted. Default to be TRUE.

thresh

Threshold value for underlying optimization algorithm to claim convergence. Default to be 1e-8.

Value

A list object containing:

n and p:

The dimension of the problem.

lam_1, lam_2:

\(log(p) / n\), and an Monte-Carlo estimate of \(||X^T e||_\infty^2 / n^2\), where \(e\) is n-dimensional standard normal.

a0_1, a0_2:

Estimate of intercept, corresponding to lam_1 and lam_2.

beta_1, beta_2:

Organic lasso estimate of regression coefficients, corresponding to lam_1 and lam_2.

sig_obj_1, sig_obj_2:

Organic lasso estimate of the error standard deviation, corresponding to lam_1 and lam_2.

See Also

olasso_path, olasso_cv

Examples

Run this code
# NOT RUN {
set.seed(123)
sim <- make_sparse_model(n = 50, p = 200, alpha = 0.6, rho = 0.6, snr = 2, nsim = 1)
ol <- olasso(x = sim$x, y = sim$y[, 1])
# }

Run the code above in your browser using DataLab