Chuyển tới nội dung chính

Adaptive Lasso

Adaptive Lasso là cải tiến của Lasso: áp trọng số riêng cho phạt L1 của từng hệ số, phạt nhẹ các biến quan trọng và phạt nặng các biến yếu. Nhờ đó Adaptive Lasso đạt tính chất oracle — chọn đúng tập biến và ước lượng hệ số nhất quán khi mẫu đủ lớn.

Khi nào dùng

Dùng Adaptive Lasso khi cần chọn biến nhất quán (consistent selection) với nền tảng lý thuyết vững hơn Lasso thường, đặc biệt khi quan tâm suy diễn chứ không chỉ dự báo.


Đặc tả mô hình

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}}

Trọng số w^j\hat{w}_j tính từ một ước lượng sơ bộ β^jinit\hat{\beta}_j^{init} (thường OLS hoặc Ridge); biến có hệ số sơ bộ lớn ⇒ trọng số nhỏ ⇒ ít bị phạt.


Thực hiện trong EcoLab

  1. Module Mô hình hóa → họ Hồi quy chính quy hóaAdaptive Lasso.
  2. Chọn YY, các XX; chọn ước lượng sơ bộ (OLS/Ridge), γ\gammaλ\lambda (CV).
  3. Đọc tập biến chọn + hệ số; xuất mã tái lập.

Minh họa mã tái lập

* === Adaptive Lasso (Stata 16+) ===
* selection(adaptive) tự tính trọng số từ ước lượng sơ bộ
lasso linear y x1-x20, selection(adaptive)

* Xem hệ số và biến được chọn
lassocoef, display(coef, penalized)

Hạn chế

  • Phụ thuộc ước lượng sơ bộ; nếu sơ bộ kém (vd p>np > n phải dùng Ridge), kết quả có thể lệch.
  • Thêm tham số γ\gamma cần tinh chỉnh.

Video minh họa

Video Tutorial: Hướng dẫn chạy Adaptive Lasso trong EcoLab

Xem thêm