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

Lasso — Hồi quy chính quy hóa L1

Lasso (Least Absolute Shrinkage and Selection Operator) thêm phạt L1 vào OLS. Khác Ridge, Lasso có thể đưa một số hệ số về đúng bằng 0 — tức tự động chọn biến (variable selection), cho mô hình thưa (sparse) dễ diễn giải.

Khi nào dùng

Dùng Lasso khi có nhiều biến giải thích và muốn chọn ra tập biến quan trọng. Khi nhóm biến tương quan cao, cân nhắc Elastic Net.


Đặc tả mô hình

minβ  i=1n(YiXiβ)2+λj=1pβj\min_{\beta} \; \sum_{i=1}^{n} (Y_i - X_i \beta)^2 + \lambda \sum_{j=1}^{p} |\beta_j|

Phạt L1 (βj\sum |\beta_j|) tạo nghiệm góc cạnh ⇒ nhiều βj=0\beta_j = 0. λ\lambda điều khiển mức độ thưa.


Lưu ý

  • Chọn λ\lambda bằng cross-validation; chuẩn hóa biến trước.
  • Khi nhiều biến tương quan cao, Lasso có xu hướng chọn 1 và loại phần còn lại (không ổn định) ⇒ Elastic Net khắc phục.
  • Suy diễn sau chọn biến (post-selection inference) cần thận trọng.

Thực hiện trong EcoLab

  1. Module Mô hình hóa → họ Hồi quy chính quy hóaLasso.
  2. Chọn YY, các XX; bật chuẩn hóa; chọn λ\lambda (CV).
  3. Đọc tập biến được giữ (hệ số khác 0) và đường co; xuất mã tái lập.

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

* === Lasso Regression (Stata 16+) ===
* Chọn lambda bằng cross-validation
lasso linear y x1-x20, selection(cv)

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

* Xem biến được giữ lại
lassoinfo

Hạn chế

  • Không ổn định khi biến tương quan cao.
  • Bị giới hạn số biến chọn được khi p>np > n (chọn tối đa nn biến).

Video minh họa

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

Xem thêm