Saya mencoba melakukan pemilihan model pada beberapa kandidat yang menggunakan LASSO dengan hasil yang berkelanjutan. Tujuannya adalah untuk memilih model optimal dengan kinerja prediksi terbaik, yang biasanya dapat dilakukan dengan validasi silang K-fold setelah mendapatkan jalur solusi dari parameter tuning dari LASSO. Masalahnya di sini adalah bahwa data berasal dari desain survei multi-tahap yang kompleks (NHANES), dengan pengambilan sampel cluster dan stratifikasi. Bagian estimasi tidak sulit karena glmnet
di R dapat mengambil bobot sampel. Tetapi bagian validasi silang kurang jelas bagi saya karena pengamatan sekarang tidak iid lagi, dan bagaimana prosedur menjelaskan bobot sampel mewakili populasi yang terbatas?
Jadi pertanyaan saya adalah:
1) Bagaimana cara melakukan validasi silang K-fold dengan data survei yang kompleks untuk memilih parameter tuning yang optimal? Lebih khusus lagi, bagaimana cara mempartisi data sampel dengan tepat ke dalam set pelatihan dan validasi? Dan bagaimana cara menentukan estimasi kesalahan prediksi?
2) Apakah ada cara alternatif untuk memilih parameter tuning optimal?
sumber
Jawaban:
Saya tidak punya jawaban terperinci, hanya beberapa petunjuk untuk bekerja. Saya ingin membaca:
Anda bisa melihat McConville (2011) pada LASSO survei-kompleks, untuk memastikan penggunaan LASSO sesuai untuk data Anda. Tapi mungkin itu bukan masalah besar jika Anda melakukan LASSO hanya untuk pemilihan variabel, kemudian mencocokkan sesuatu yang lain dengan variabel yang tersisa.
Untuk validasi silang dengan data survei kompleks (meskipun bukan LASSO), McConville juga mengutip Opsomer & Miller (2005) dan You (2009). Tetapi metode mereka tampaknya menggunakan CV biarkan keluar, bukan K-fold.
Leave-one-out harus lebih sederhana untuk diterapkan dengan survei yang kompleks --- ada sedikit kekhawatiran tentang bagaimana mempartisi data dengan tepat. (Di sisi lain, ini bisa memakan waktu lebih lama daripada K-fold. Dan jika tujuan Anda adalah pemilihan model, diketahui bahwa meninggalkan-keluar-satu bisa lebih buruk daripada K-lipat untuk sampel besar.)
sumber
EDIT oleh OP: Tidak berlaku untuk data survei yang kompleks.
Fungsi cv.glmet dapat membantu Anda untuk melakukan validasi silang yang diperlukan. Nilai lambda.min adalah nilai λ di mana kesalahan CV minimal. The lambda.1se mewakili nilai λ dalam pencarian yang lebih sederhana daripada model terbaik (lambda.min), tetapi yang memiliki kesalahan dalam 1 kesalahan standar dari model terbaik.
Nilai lambda.min dapat diakses dari model itu sendiri seperti yang ditunjukkan di bawah ini.
sumber