Xác nhận chéo sau LASSO trong dữ liệu khảo sát phức tạp


11

Tôi đang cố gắng thực hiện lựa chọn mô hình trên một số dự đoán ứng viên bằng LASSO với kết quả liên tục. Mục tiêu là chọn mô hình tối ưu với hiệu suất dự đoán tốt nhất, thường có thể được thực hiện bằng xác thực chéo K-Fold sau khi có được đường dẫn giải pháp của các tham số điều chỉnh từ LASSO. Vấn đề ở đây là dữ liệu từ một thiết kế khảo sát nhiều giai đoạn phức tạp (NHANES), với việc lấy mẫu và phân tầng cụm. Phần ước lượng không khó vì glmnettrong R có thể lấy trọng lượng lấy mẫu. Nhưng phần xác nhận chéo không rõ ràng đối với tôi vì các quan sát bây giờ không còn là vấn đề nữa và làm thế nào để quy trình lấy mẫu có trọng số đại diện cho một dân số hữu hạn?

Vì vậy, câu hỏi của tôi là:

1) Làm thế nào để thực hiện xác nhận chéo K-gập với dữ liệu khảo sát phức tạp để chọn tham số điều chỉnh tối ưu? Cụ thể hơn, làm thế nào để phân vùng dữ liệu mẫu một cách thích hợp thành các tập huấn luyện và xác nhận? Và làm thế nào để xác định ước tính của lỗi dự đoán?

2) Có cách nào khác để chọn tham số điều chỉnh tối ưu không?


Có lẽ việc lấy lại mẫu (ví dụ bootstrap) sẽ là một thủ tục phù hợp hơn thay vì kv cv?
g3o2

Lumley cảnh báo rằng "Lý thuyết cho bootstrap chỉ được phát triển cho tình huống lấy mẫu có xác suất bằng nhau trong mỗi tầng, không rõ nó sẽ hoạt động tốt như thế nào với xác suất tùy ý." (28) Dữ liệu NHANES dường như không có mẫu xác suất bằng nhau trong các tầng.
Dan Hicks

Sẽ rất thú vị khi biết chi tiết nhỏ này từ OP. Đừng xem điều gì sẽ quá phức tạp về cụm nhiều tầng và lấy mẫu phân tầng ...
g3o2

@Dan Hicks: Tôi không nghĩ nó thực sự quan trọng, khi lấy mẫu lại, bạn sao chép nhiều trường hợp của cùng một kế hoạch mẫu.
g3o2

Sử dụng một cái gì đó giống như các phương pháp được mô tả ở đây? amstat.tandfonline.com/doi/pdf/10.1080/01621459.1988.10478591 (Hoặc một cái gì đó gần đây hơn?) Nếu bạn muốn viết lên ý tưởng đó với một chi tiết nhỏ hơn như một câu trả lời, tôi sẽ cung cấp cho bạn tiền thưởng.
Dan Hicks

Câu trả lời:


2

Tôi không có câu trả lời chi tiết, chỉ một số gợi ý để làm việc mà tôi muốn đọc:

Bạn có thể xem McConville (2011) về LASSO khảo sát phức tạp, để chắc chắn rằng việc sử dụng LASSO của bạn phù hợp với dữ liệu của bạn. Nhưng có lẽ đó không phải là vấn đề lớn nếu bạn chỉ thực hiện LASSO cho lựa chọn biến, sau đó khớp một số thứ khác với các biến còn lại.

Để xác thực chéo với dữ liệu khảo sát phức tạp (mặc dù không phải LASSO), McConville cũng trích dẫn Opsomer & Miller (2005) và You (2009). Nhưng phương pháp của họ dường như sử dụng CV rời, không phải K-Fold.

Bỏ qua một lần nên đơn giản hơn để thực hiện với các khảo sát phức tạp --- ít quan tâm hơn về cách phân vùng dữ liệu một cách thích hợp. (Mặt khác, có thể mất nhiều thời gian hơn so với K-Fold. Và nếu mục tiêu của bạn là lựa chọn mô hình, thì người ta biết rằng việc bỏ qua một lần có thể tệ hơn K-Fold đối với các mẫu lớn.)


0

EDIT by OP: Không áp dụng cho dữ liệu khảo sát phức tạp.

Hàm cv.glmet có thể giúp bạn thực hiện xác nhận chéo cần thiết. Giá trị lambda.min là giá trị của λ trong đó sai số CV là tối thiểu. Lambda.1se đại diện cho giá trị trong tìm kiếm đơn giản hơn mô hình tốt nhất (lambda.min), nhưng có lỗi trong 1 lỗi tiêu chuẩn của mô hình tốt nhất.

  1. Chọn một lưới các giá trị bạn có thể chọn cho cả alpha và lambda

lưới <- extend.grid (.alpha = (1:10) * 0.1, .lambda = (1:10) * 0.1)

  1. Thiết lập các tham số điều khiển của mô hình của bạn. Điều khiển tàu dưới đây không lặp lại trong 10 lần lặp. Đi qua các phương thức có sẵn và chọn một phương pháp phù hợp với kịch bản hiện tại của bạn.

.alpha,>=T,lambda=grid

Giá trị lambda.min có thể được truy cập từ chính mô hình như dưới đây.

cv.glmmod $ lambda.min


1
Tôi biết cách xác thực chéo cho dữ liệu iid bằng glmnet. Tôi đã hỏi về dữ liệu khảo sát phức tạp tương quan.
aenima
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.