Tôi đang chạy một LASSO có một số dự đoán biến phân loại và một số dự đoán liên tục. Tôi có một câu hỏi về các biến phân loại. Bước đầu tiên tôi hiểu là chia từng người trong số họ thành các hình nộm, tiêu chuẩn hóa họ để xử phạt công bằng, và sau đó thoái lui. Một số tùy chọn phát sinh để điều trị các biến giả:
Bao gồm tất cả, ngoại trừ một trong những hình nộm cho từng yếu tố, để lại yếu tố đó làm mức tham chiếu. Việc giải thích một hệ số giả liên quan đến loại "tham chiếu" bị loại trừ. Việc chặn bây giờ là phản ứng trung bình cho danh mục tham chiếu.
Nhóm các biến trong mỗi yếu tố để chúng được loại trừ hoặc bao gồm tất cả nhưng một. Tôi tin rằng đó là những gì @Glen_b đang gợi ý ở đây :
Thông thường, có, bạn giữ tất cả các yếu tố của bạn với nhau. Có một số gói R có thể làm điều này, bao gồm cả glmnet
Bao gồm tất cả các cấp độ, như được đề xuất bởi @Andrew M tại đây :
Bạn cũng có thể muốn thay đổi chức năng tương phản mặc định, theo mặc định sẽ bỏ qua một cấp độ của từng yếu tố (mã hóa điều trị). Nhưng do hình phạt Lasso, điều này không còn cần thiết cho việc nhận dạng và trên thực tế làm cho việc giải thích các biến được chọn trở nên phức tạp hơn. Để làm điều này, thiết lập
contr.Dummy <- function(contrasts, ...){ conT <- contr.treatment(contrasts=FALSE, ...) conT } options(contrasts=c(ordered='contr.Dummy', unordered='contr.Dummy'))
Bây giờ, bất kể cấp độ nào của một yếu tố được chọn, bạn có thể nghĩ về nó như gợi ý rằng các cấp độ cụ thể này quan trọng, so với tất cả các cấp độ bị bỏ qua. Trong học máy, tôi đã thấy mã hóa này được gọi là mã hóa một nóng.
Câu hỏi:
- Giải thích về đánh chặn và hệ số theo từng phương pháp này là gì?
- Những cân nhắc liên quan đến việc lựa chọn một trong số họ là gì?
- Chúng ta có bỏ quy mô các hệ số giả và sau đó diễn giải chúng như là một sự thay đổi từ đi sang bật?