Skip to main content

Adaptive Lasso

Adaptive Lasso improves on Lasso by applying coefficient-specific weights to the L1 penalty — penalizing important variables lightly and weak variables heavily. As a result, Adaptive Lasso enjoys the oracle property: it selects the correct variable set and estimates coefficients consistently in large samples.

When to use

Use Adaptive Lasso when you need consistent variable selection with a stronger theoretical basis than plain Lasso, especially when inference (not just prediction) matters.


Model specification

minβ  i=1n(YiXiβ)2+λj=1pw^jβj,w^j=1β^jinitγ\min_{\beta} \; \sum_{i=1}^{n} (Y_i - X_i \beta)^2 + \lambda \sum_{j=1}^{p} \hat{w}_j \, |\beta_j|, \qquad \hat{w}_j = \frac{1}{|\hat{\beta}_j^{init}|^{\gamma}}

The weights w^j\hat{w}_j come from an initial estimate β^jinit\hat{\beta}_j^{init} (usually OLS or Ridge); a large initial coefficient ⇒ small weight ⇒ less penalized.


Running in EcoLab

  1. Modeling module → Regularized regression family → Adaptive Lasso.
  2. Select YY, the XX variables; choose the initial estimator (OLS/Ridge), γ\gamma and λ\lambda (CV).
  3. Read the selected variables + coefficients; export the replication code.

Replication code

* ---- Adaptive Lasso ----
use "macro_data.dta", clear

* Stata 16+ built-in adaptive selection
lasso linear y x1-x20, selection(adaptive)

* Display selected coefficients
lassocoef, display(coef, standardized)

Limitations

  • Depends on the initial estimate; a poor initial (e.g., must use Ridge when p>np > n) can bias results.
  • Adds a γ\gamma parameter to tune.

Video tutorial

Video Tutorial: Running Adaptive Lasso in EcoLab

See also