Apa prosedur untuk "validasi bootstrap" (alias "resampling cross-validation")?


15

"Bootstrap validation" / "resampling cross-validation" adalah hal baru bagi saya, tetapi telah dibahas oleh jawaban untuk pertanyaan ini . Saya mengumpulkannya melibatkan 2 jenis data: data nyata dan data simulasi, di mana satu set data simulasi yang dihasilkan dihasilkan dari data nyata dengan resampling-dengan-penggantian sampai data simulasi memiliki ukuran yang sama dengan data nyata. Saya dapat memikirkan dua pendekatan untuk menggunakan tipe data seperti: (1) cocok dengan model sekali, evaluasi berkali-kali pada banyak set data simulasi; (2) paskan model berkali-kali menggunakan masing-masing dari banyak set data simulasi, setiap kali mengevaluasinya terhadap data nyata. Mana (jika salah) yang terbaik?

Jawaban:


20

Jawaban singkat: Kedua teknik validasi melibatkan pelatihan dan pengujian sejumlah model.

Jawaban panjang tentang bagaimana melakukan yang terbaik: Itu tentu saja tergantung. Tapi di sini ada beberapa pemikiran yang saya gunakan untuk memandu keputusan saya tentang resampling validasi. Saya ahli kimia, jadi strategi ini dan juga istilahnya kurang lebih terkait erat dengan masalah analitik-kimia.

Untuk sedikit menjelaskan pikiran saya, saya menganggap validasi sebagai pengukuran kualitas model, dan pelatihan sebagai parameter pengukuran model - ini mengarah pada analogi yang cukup kuat untuk setiap jenis pengukuran lainnya.

Ada dua sudut pandang berbeda untuk pendekatan ini sehubungan dengan validasi:

  1. sudut pandang tradisional untuk validasi resampling adalah: set data resampled (kadang-kadang disebut set atau subset data) secara praktis sama dengan set data asli (nyata).
    Oleh karena itu, "model pengganti" yang cocok dengan set data pengganti praktis sama dengan model yang sesuai dengan seluruh rangkaian data nyata. Tetapi beberapa sampel ditinggalkan dari set data pengganti, model ini tidak tergantung pada ini. Jadi, saya mengambil sampel yang ditinggalkan atau keluar dari bootstrap sebagai set validasi independen untuk model pengganti dan menggunakan hasilnya sebagai perkiraan model-data keseluruhan.
    Namun, model pengganti sering tidak benar-benar setara dengan seluruh-data-model: lebih sedikit sampel yang digunakan untuk pelatihan (bahkan untuk bootstrap, jumlah sampel yang berbeda kurang). Selama kurva pembelajaran meningkat, model pengganti rata-rata sedikit lebih buruk daripada keseluruhan-data-model. Ini adalah bias pesimis yang terkenal dari validasi resampling (jika Anda berakhir dengan bias optimistis, itu biasanya merupakan indikator bahwa rangkaian uji kiri-keluar / oob tidak terlepas dari model).

  2. Pandangan kedua adalah bahwa set data yang di-resampled adalah versi yang terganggu dari seluruh set data. Meneliti bagaimana model pengganti (atau prediksi mereka untuk sampel yang ditinggalkan / oob) berbeda dari seluruh-data-model kemudian memberi tahu sesuatu tentang stabilitas model sehubungan dengan data pelatihan.
    Dari perspektif ini, model pengganti adalah sesuatu seperti pengukuran berulang. Katakanlah tugas Anda adalah mengukur kandungan beberapa mineral dari seluruh rangkaian bijih. Bijihnya tidak homogen. Jadi, Anda mengambil sampel fisik dari lokasi yang berbeda dan kemudian melihat konten keseluruhan dan variasinya di kereta. Demikian pula, jika Anda berpikir model Anda mungkin tidak stabil, Anda dapat melihat keseluruhan kinerja dan variasi model pengganti.

n
Saya biasanya sampel ulang kasus, misalnya satu kasus = semua pengukuran satu pasien. Kemudian out-of-bag adalah semua pasien yang tidak ada pengukuran terjadi dalam data pelatihan. Ini berguna jika Anda tahu bahwa pengukuran satu case lebih mirip satu sama lain daripada pengukuran case lainnya (atau setidaknya Anda tidak bisa mengecualikan kemungkinan ini).

Bukan berarti resampling validasi memungkinkan Anda mengukur kinerja untuk sampel yang tidak dikenal . Jika selain itu Anda ingin mengukur kinerja untuk sampel masa depan yang tidak diketahui (drift instrumental!), Maka Anda memerlukan set tes yang diukur "di masa depan" yaitu waktu tertentu setelah semua sampel pelatihan diukur. Dalam kimia analitik, ini diperlukan misalnya jika Anda ingin mengetahui seberapa sering Anda perlu mengulang kalibrasi instrumen Anda (untuk setiap penentuan, harian, mingguan, bulanan, ...)

Bootstrap vs terminologi validasi silang :

  • resampling dengan penggantian sering disebut bootstrap,
  • resampling tanpa validasi silang pengganti.

Keduanya dapat memiliki semacam stratifikasi. Secara historis, pemisahan untuk validasi silang (setidaknya dalam chemometrics) telah sering dilakukan secara non-acak, misalnya validasi silang 3 kali lipat dari bentuk abcabc..abc (kumpulan data diurutkan berdasarkan hasil) untuk kalibrasi / regresi jika Anda memiliki sangat sedikit kasus (sampel fisik), dan Anda ingin memastikan bahwa seluruh rentang data Anda tercakup.

Kedua teknik ini biasanya diulang / diulang beberapa kali. Sekali lagi karena alasan historis dan setidaknya dalam kemometrik, validasi k-fold sering berarti pelatihan dan pengujian model k (masing-masing diuji dengan 1 / kth dari data yang tidak terlibat dalam pelatihan). Jika pemisahan acak seperti itu diulangi, orang menyebutnya iterasi atau validasi silang berulang.

kknnn

  • Perhatikan bahwa bootstrap tidak sesuai untuk beberapa teknik pemasangan model yang pertama-tama menghapus pengukuran duplikat.
  • Beberapa varian dari bootstrap ada, misalnya .632-bootstrap dan .632 + -bootstrap

kk


Jawaban panjangnya bagus.
Momo

(+1) perspektif yang bagus. Saya cukup yakin istilah pengganti akan tetap.
steffen

@steffen, terima kasih. Aku sama sekali bukan penemu istilah itu. Saya pikir saya pertama kali bertemu di beberapa makalah dari U. Braga-Neto (mungkin yang ini: ncbi.nlm.nih.gov/pubmed/14960464 ) tapi saya langsung yakin dengan istilah itu ...
cbeleites mendukung Monica

Mengenai komentar dalam pertanyaan tentang data simulasi. Bootstrap per se tidak melibatkan data yang disimulasikan. Data simulasi akan digunakan sebagai cara untuk menilai apakah metode bootstrap berfungsi pada masalah tertentu. Tetapi bootstrap itu sendiri hanya menggunakan kembali data berdasarkan sampel bootstrap. Sampel dipilih secara acak dengan penggantian dari kumpulan data asli. Ini biasanya melibatkan pengambilan n sampel di mana n adalah ukuran sampel asli. Monte Carlo masuk sebagai cara untuk memperkirakan distribusi bootstrap dengan benar-benar menghasilkan sampel bootstrap di komputer.
Michael R. Chernick

3

Saya tidak tahu tentang "terbaik" (yang mungkin tergantung pada apa Anda menggunakannya), tetapi saya menggunakan validasi bootstrap untuk memperkirakan kesalahan pada data baru dengan cara berikut (cara ketiga jika Anda suka):

  1. Gambar satu set pelatihan pengamatan N dari data asli (ukuran N) dengan penggantian.
  2. Sesuaikan model dengan data pelatihan.
  3. Evaluasi model pada sampel out-of-bag (oob)

Apa yang ada di luar tas tidak selalu didefinisikan dengan jelas. Seringkali semua pengamatan itu bukan bagian dari set pelatihan. Lebih ketat akan (saya menggunakannya dengan cara ini) hanya memiliki pengamatan dalam sampel oob yang memiliki realisasi seluruh vektor prediktor yang bukan bagian dari set pelatihan (yang sangat berguna jika Anda memiliki banyak faktor). Bahkan yang lebih ketat adalah menggunakan sampel oob yang hanya berisi pengamatan yang memiliki realisasi berbeda dari variabel prediktor pada prediktor yang dipilih dalam model (terutama berguna jika model ditemukan dengan beberapa prosedur pemilihan variabel, misalnya pohon).

Maka saya biasanya mengulangi ini beberapa kali dan hasil agregat atas lipatan-k (rata-rata atau median atau statistik apa pun yang berguna). Model yang dipilih dengan cara ini kemudian dapat dipasang ke set data keseluruhan (seperti dalam pilihan Anda 2) untuk mengukur tambahan jika masih ada kecenderungan untuk overfit (ukuran kinerja harus tidak terlalu jauh dari sampel bootstrap).

Jika saya memiliki lebih banyak model atau kisi-kisi parameter atau yang serupa, saya memasangnya semua untuk setiap set pelatihan dan mengevaluasi semuanya pada setiap sampel oob. Dimungkinkan juga untuk tidak menggunakan set pelatihan dua kali, tetapi untuk setiap model atau kombinasi parameter tuning untuk menggambar pasangan pelatihan / oob baru.

Lihat misalnya Desain dan Analisis Eksperimen Pembandingan .

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.