Làm thế nào để giải thích các biến được loại trừ hoặc bao gồm trong mô hình Lasso?


9

Tôi đã nhận được từ các bài đăng khác rằng người ta không thể gán thuộc tính 'tầm quan trọng' hoặc 'tầm quan trọng' cho các biến dự đoán nhập vào mô hình Lasso vì việc tính giá trị p của các biến đó hoặc độ lệch chuẩn vẫn đang được tiến hành.

Theo lý luận đó, có đúng không khi khẳng định rằng một người KHÔNG THỂ nói rằng các biến được LOẠI từ mô hình Lasso là 'không liên quan' hay 'không đáng kể'?

Nếu vậy, tôi thực sự có thể yêu cầu gì về các biến bị loại trừ hoặc được bao gồm trong mô hình Lasso? Trong trường hợp cụ thể của tôi, tôi đã chọn tham số điều chỉnh lambda bằng cách lặp lại xác thực chéo 10 lần 100 lần để giảm randonmess và để tính trung bình các đường cong lỗi.

CẬP NHẬT1: Tôi đã làm theo một gợi ý bên dưới và chạy lại Lasso bằng các mẫu bootstrap. Tôi đã thực hiện với 100 mẫu (số tiền đó là năng lượng máy tính của tôi có thể quản lý qua đêm) và một số mẫu đã xuất hiện. 2 trong số 41 biến của tôi đã nhập mô hình hơn 95% lần, 3 biến hơn 90% và 5 biến hơn 85%. 5 biến đó nằm trong số 9 biến được nhập vào mô hình khi tôi chạy nó với mẫu ban đầu và là biến có giá trị hệ số cao nhất sau đó. Nếu tôi chạy lasso với 1000 mẫu bootstrap và các mẫu đó được duy trì, cách tốt nhất để trình bày kết quả của tôi là gì?

  • 1000 mẫu bootstrap có đủ âm thanh không? (Cỡ mẫu của tôi là 116)

  • Tôi có nên liệt kê tất cả các biến và tần suất chúng nhập vào mô hình, và sau đó lập luận rằng những biến nhập thường xuyên hơn có nhiều khả năng là đáng kể?

  • Đó có phải là xa như tôi có thể đi với yêu cầu của tôi? Bởi vì đó là một công việc đang tiến hành (xem ở trên) tôi không thể sử dụng giá trị giới hạn, phải không?

CẬP NHẬT2: Theo một gợi ý dưới đây, tôi đã tính như sau: trung bình, 78% các biến trong mô hình ban đầu đã nhập các mô hình được tạo cho 100 mẫu bootstrap. Mặt khác, chỉ có 41% cho cách khác. Điều này phải làm rất nhiều với thực tế là các mô hình được tạo cho các mẫu bootstrap có xu hướng bao gồm nhiều biến số hơn (trung bình 17) so với mô hình ban đầu (9).

CẬP NHẬT3: Nếu bạn có thể giúp tôi diễn giải các kết quả tôi nhận được từ bootstrapping và mô phỏng Monte Carlo, vui lòng xem qua bài đăng khác này .

Câu trả lời:


10

Kết luận của bạn là chính xác. Hãy nghĩ về hai khía cạnh:

  1. Sức mạnh thống kê để phát hiện một hiệu ứng. Trừ khi sức mạnh rất cao, người ta có thể bỏ lỡ các hiệu ứng thực sự lớn.
  2. Độ tin cậy: có xác suất cao để tìm đúng tính năng (đúng).

Có ít nhất 4 cân nhắc chính:

  1. Là phương pháp có thể sao chép bởi bạn bằng cách sử dụng cùng một bộ dữ liệu?
  2. Là phương pháp có thể sao chép bởi những người khác bằng cách sử dụng cùng một bộ dữ liệu?
  3. Là kết quả có thể lặp lại bằng cách sử dụng bộ dữ liệu khác?
  4. Là kết quả đáng tin cậy?

Khi một người mong muốn làm nhiều hơn dự đoán nhưng thực sự đưa ra kết luận về tính năng nào là quan trọng trong việc dự đoán kết quả, 3. và 4. là rất quan trọng.

Bạn đã giải quyết 3. (và với mục đích này, 100 bootstraps là đủ), nhưng ngoài các phân số bao gồm tính năng riêng lẻ, chúng ta cần biết "khoảng cách" tuyệt đối trung bình giữa bộ tính năng bootstrap và bộ tính năng được chọn ban đầu. Ví dụ, số lượng tính năng trung bình được phát hiện từ toàn bộ mẫu được tìm thấy trong mẫu bootstrap là bao nhiêu? Số tính năng trung bình được chọn từ mẫu bootstrap được tìm thấy trong phân tích ban đầu là bao nhiêu? Tỷ lệ số lần bootstrap tìm thấy khớp chính xác với bộ tính năng ban đầu là bao nhiêu? Tỷ lệ mà một bootstrap nằm trong một tính năng đồng ý chính xác với bản gốc là bao nhiêu? Hai tính năng?

Sẽ không thích hợp để nói rằng bất kỳ sự cắt đứt nào nên được sử dụng để đưa ra kết luận tổng thể.

Về phần 4., không có điều nào trong số này đề cập đến độ tin cậy của quy trình, tức là, bộ tính năng này gần với bộ tính năng 'true' như thế nào. Để giải quyết vấn đề đó, bạn có thể thực hiện nghiên cứu mô phỏng lại Monte-Carlo trong đó bạn lấy kết quả Lasso mẫu ban đầu làm 'sự thật' và mô phỏng các vectơ phản hồi mới hàng trăm lần bằng cách sử dụng một số cấu trúc lỗi giả định. Đối với mỗi mô phỏng lại, bạn chạy Lasso trên toàn bộ ma trận dự đoán ban đầu và vectơ phản hồi mới và xác định mức độ gần của bộ tính năng Lasso đã chọn với sự thật mà bạn mô phỏng. Điều kiện mô phỏng lại trên toàn bộ bộ dự đoán ứng viên và sử dụng ước tính hệ số từ mô hình được trang bị ban đầu (và trong trường hợp Lasso, tập hợp các yếu tố dự đoán được chọn) như một 'sự thật' thuận tiện để mô phỏng.

YXXβ

β

YXβY

lp <- predict(...) # assuming suitable predict method available, or fitted()
probs <- plogis(lp)
y <- ifelse(runif(n) <= probs, 1, 0)

3
N

1
Tôi đã không đề cập đến bootstrapping. Tôi đã đề cập đến việc bạn có thể học được gì từ hàng tá biến số ứng viên hay không khi bạn chỉ có 32 sự kiện.
Frank Harrell

3
Y

1
Thực hiện thử nghiệm mô phỏng lại tôi đề nghị kiểm tra độ tin cậy thực tế của phương pháp trong cài đặt chính xác của bạn.
Frank Harrell

2
Tôi cần phải đăng xuất cuộc thảo luận này - câu trả lời cơ bản cho câu hỏi của bạn là lập trình R cơ bản cộng với hãy xem các mô phỏng đơn giản trong biostat.mc.vanderbilt.edu/rms .
Frank Harrell
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.