Memahami bootstrap untuk validasi dan pemilihan model

13

Saya rasa saya mengerti bagaimana dasar-dasar bootstrap bekerja, tapi saya tidak yakin saya mengerti bagaimana saya bisa menggunakan bootstrap untuk pemilihan model atau untuk menghindari overfitting.

Untuk pemilihan model, misalnya, apakah Anda hanya memilih model yang menghasilkan kesalahan terendah (mungkin varians?) Di seluruh sampel bootstrapnya?

Apakah ada teks yang membahas cara menggunakan bootstrap untuk pemilihan atau validasi model?

EDIT: Lihat utas ini , dan jawabannya oleh @ mark999 untuk lebih banyak konteks di balik pertanyaan ini.

Amelio Vazquez-Reina
sumber
@suncoolsu Jika saya memiliki model A, B dan C untuk dipilih, saya biasanya menggunakan validasi silang atau bootstrap untuk memilih model ketika 1) Saya tertarik pada akurasi prediksi / peringkat dan 2) Saya tidak punya cukup data untuk bertahan set validasi. Mengapa ini bukan ide yang baik (dan saya tahu bahwa validasi bersarang adalah penting untuk pemilihan fitur, dll).
B_Miner
Jawaban oleh @ mark999 di utas ini menyarankan validasi bootstrap sebagai solusi untuk mempelajari model pada dataset lengkap sementara masih mengatasi overfitting. Jawaban itu adalah apa yang mengilhami pertanyaan ini untuk sebagian besar, dan pertanyaan asli di utas itu juga harus menambah konteks untuk pertanyaan ini.
Amelio Vazquez-Reina
1
Saya minta maaf - mungkin ini adalah saya menjadi ahli statistik - tapi saya pikir cross-validation dan bootstrap sebagai dua hal yang berbeda. Validasi silang sangat bagus dan harus dilakukan (dan bootstrap juga). Tetapi jika Anda berada dalam skenario seperti memilih antara A, B, C (hanya tiga model), BIC mungkin merupakan pilihan yang lebih baik. Seperti yang saya katakan, solusinya tergantung pada masalah yang dihadapi dan beberapa pendekatan mungkin tepat.
suncoolsu
2
AIC umumnya menghasilkan lebih sedikit underfitting daripada BIC.
Frank Harrell

Jawaban:

14

Pertama, Anda harus memutuskan apakah Anda benar-benar membutuhkan pemilihan model, atau Anda hanya perlu membuat model. Dalam sebagian besar situasi, tergantung pada dimensi, pemasangan model komprehensif yang fleksibel lebih disukai.

Bootstrap adalah cara yang bagus untuk memperkirakan kinerja suatu model. Hal paling sederhana untuk diperkirakan adalah varians. Lebih ke titik awal Anda, bootstrap dapat memperkirakan kemungkinan kinerja prosedur pemodelan yang akan datang, pada data baru yang belum direalisasikan.

Jika menggunakan resampling (bootstrap atau cross-validation) untuk memilih parameter tuning model dan untuk memperkirakan model, Anda akan membutuhkan bootstrap ganda atau validasi silang bersarang.

Secara umum bootstrap membutuhkan lebih sedikit model yang cocok (seringkali sekitar 300) dari cross-validation (10-fold cross-validation harus diulang 50-100 kali untuk stabilitas).

Beberapa studi simulasi dapat ditemukan di http://biostat.mc.vanderbilt.edu/rms

Frank Harrell
sumber
2
Wow, saya tidak tahu bahwa CV 10 kali lipat harus diulang 50-100 kali! Saya harus mengunjungi kembali proyek terakhir saya dan mencoba pengujian bootstrap. Suka situs web ini: Saya belajar sesuatu setiap hari!
Wayne
Terima kasih @ jujur! Katakanlah saya memiliki satu set model kandidat dengan parameter # yang sama, apakah mereka dengan varian yang lebih rendah di seluruh estimasi bootstrap kandidat yang lebih baik (dengan asumsi bahwa total kehilangan atau risiko adalah sama untuk mereka semua) karena berjuang overfitting?
Amelio Vazquez-Reina
Saya tidak akan berasumsi tapi itu mungkin.
Frank Harrell
Jawaban yang bagus, terima kasih! Saya tidak tahu bahwa bootstrap juga dapat digunakan untuk validasi model DAN validasi silang perlu diulang berkali-kali. Saya melihat keuntungan lain dari metode ini: validasi silang memerlukan jumlah lipatan yang harus ditentukan (secara subyektif) sebelumnya, biasanya 10, yang lebih atau kurang heuristik daripada optimal. Tetapi sementara ini adalah metode yang hebat, mengapa tampaknya tidak sepopuler validasi silang?
SiXUlm
Validasi model Bootstrap cukup populer, tetapi validasi silang telah ada lebih lama. Tapi seperti yang Anda katakan ada beberapa kesewenang-wenangan dalam pemilihan # folds di cv.
Frank Harrell
3

Pertimbangkan untuk menggunakan bootstrap untuk rata-rata model .

Makalah di bawah ini dapat membantu, karena membandingkan model bootstrap rata-rata pendekatan (yang lebih umum digunakan?) Bayesian pemodelan rata-rata, dan menjabarkan resep untuk melakukan model rata-rata.

Model bootstrap rata-rata dalam studi seri waktu tentang polusi udara dan kematian partikel

Josh Hemann
sumber
Saya tidak akan merekomendasikan bootstrap untuk model rata-rata dalam banyak kasus. Bootstrap paling baik memberi tahu Anda bagaimana kinerja satu prosedur pemodelan, daripada memberi tahu Anda cara membuat prosedur baru. Ada beberapa pengecualian untuk ini.
Frank Harrell
@ Frank Harrell - Setuju. Makalah yang saya referensikan berlaku untuk area tempat saya bekerja kadang-kadang dan saya telah menggunakan bootstrap untuk skenario yang Anda nyatakan: menilai variabilitas model tertentu karena kesalahan pengambilan sampel. Tetapi ketidakpastian karena pemilihan model itu sendiri bahkan lebih sulit untuk dinilai dan pendekatan rata-rata model bootstrap dapat berguna sebagai bantuan, terutama bagi praktisi seperti saya yang tidak memiliki pengalaman / latar belakang untuk merumuskan kembali masalah untuk rata-rata model Bayesian.
Josh Hemann
2
Tidak, saya akan mengatakan bahwa bootstrap sangat baik untuk memberikan penilaian terhadap kerusakan yang disebabkan oleh tidak mengetahui model di muka. Itu tidak berarti Anda harus menggunakan bootstrap untuk meningkatkan hal-hal, seperti rata-rata lebih dari satu set model yang tidak pasti. Jika Anda harus menggunakan bootstrap dengan cara ini, Anda akan memerlukan double bootstrap untuk mendapatkan penilaian kinerja model yang rata-rata secara jujur. Saya harus mencatat bahwa hutan acak adalah bentuk model yang rata-rata menggunakan bootstrap.
Frank Harrell
Poin bagus tentang double bootstrap. Para penulis makalah yang saya referensikan memiliki tindak lanjut makalah tentang ini: Bootstrap-setelah-Bootstrap Model Rata-rata untuk Mengurangi Ketidakpastian Model dalam Pemilihan Model untuk Studi Mortalitas Polusi Udara
Josh Hemann
Baik. Ingatlah bahwa itu sering kali merupakan pembunuhan yang berlebihan. Seringkali yang terbaik adalah mengajukan model penuh yang digerakkan oleh subjek, dan menggunakan penyusutan (hukuman) jika sesuai; tapi itu masih satu model.
Frank Harrell