olasso function

Error standard deviation estimation using organic lasso

Error standard deviation estimation using organic lasso

Solve the organic lasso problem σ~λ2=minβyXβ22/n+2λβ12\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: λ1=logp/n\lambda_1 = log p / n, and λ2\lambda_2, which is a Monte-Carlo estimate of XTe2/n2||X^T e||_\infty^2 / n^2, where ee is n-dimensional standard normal.

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.

Returns

A list object containing:

  • n and p:: The dimension of the problem.
  • lam_1, lam_2:: log(p)/nlog(p) / n, and an Monte-Carlo estimate of XTe2/n2||X^T e||_\infty^2 / n^2, where ee 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.

Examples

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])

See Also

olasso_path, olasso_cv

  • Maintainer: Guo Yu
  • License: GPL-3
  • Last published: 2018-01-16