Pendekatan terbaik untuk pemilihan model Bayesian atau validasi silang?

22

Ketika mencoba untuk memilih di antara berbagai model atau sejumlah fitur untuk disertakan, katakan prediksi saya dapat memikirkan dua pendekatan.

  1. Membagi data menjadi pelatihan dan set tes. Lebih baik lagi, gunakan bootstrap atau k-fold cross-validation. Latihlah set latihan setiap kali dan hitung kesalahan dari set tes. Plot test error vs. jumlah parameter. Biasanya, Anda mendapatkan sesuatu seperti ini:masukkan deskripsi gambar di sini
  2. Hitung kemungkinan model dengan mengintegrasikan nilai-nilai parameter. yaitu, menghitung , dan memplotnya dengan jumlah parameter. Kami kemudian mendapatkan sesuatu seperti ini:θP(D|θ)P(θ)dθmasukkan deskripsi gambar di sini

Jadi pertanyaan saya adalah:

  1. Apakah pendekatan ini cocok untuk menyelesaikan masalah ini (memutuskan berapa banyak parameter untuk dimasukkan dalam model Anda, atau memilih di antara sejumlah model)?
  2. Apakah mereka setara? Mungkin tidak. Apakah mereka akan memberikan model optimal yang sama di bawah asumsi atau dalam praktik tertentu?
  3. Selain perbedaan filosofis yang biasa dalam menentukan pengetahuan sebelumnya dalam model Bayesian dll., Apa pro dan kontra dari setiap pendekatan? Yang mana yang akan Anda pilih?

Pembaruan: Saya juga menemukan pertanyaan terkait tentang membandingkan AIC dan BIC. Tampaknya metode 1 saya secara asimptotik setara dengan AIC dan metode 2 secara asimptotik terkait dengan BIC. Tetapi saya juga membaca di sana bahwa BIC setara dengan Leave-One-Out CV. Itu berarti bahwa kesalahan pelatihan minimum dan Bayesian Likelihood maksimum adalah setara di mana LOO CV setara dengan K-fold CV. Sebuah makalah yang mungkin sangat menarik " Sebuah teori asimptotik untuk pemilihan model linear " oleh Jun Shao berkaitan dengan masalah ini.

highBandWidth
sumber
Saya tidak benar-benar memiliki jawaban lengkap, tetapi saya akan menyebutkan bahwa saya biasanya tidak akan berpikir untuk menggunakan salah satu metode untuk "memilih jumlah fitur". Secara umum, saya menafsirkan Machine Learning dan Statistik Bayesian untuk hanya menyertakan semua fitur karena mereka semua kemungkinan memiliki tingkat dampak minimal. Namun, saya pikir pertanyaan tentang kompleksitas model relatif masih tepat. Saya juga akan menyatakan bahwa saya tidak pernah benar-benar melakukan inferensi Bayesian yang Anda singgung; sepertinya terlalu berantakan dalam praktek dibandingkan dengan kesederhanaan k-fold atau bootstrap.
Shea Parkes
Perhatikan bahwa kertas Shao hanya berfungsi untuk model linier; pada kenyataannya hanya strukturnya yang sederhana yang membuat jumlah fitur dapat digunakan sebagai ukuran kompleksitas dan dengan demikian memperkuat semua kriteria informasi tersebut.
1
AIC ( bukan BIC! ) Secara asimptotik setara dengan validasi silang tinggalkan satu dengan asumsi lemah (karena Batu "Kesetaraan pilihan model asimtotik dengan validasi silang dan kriteria Akaike" (1977) ). Sumber dalam pertanyaan yang Anda rujuk salah dan dikoreksi oleh Rob Hyndman dalam komentar. Saya pikir mungkin ide yang baik untuk memperbaikinya di sini juga, untuk berhenti menyebarkan ide yang salah.
Richard Hardy

Jawaban:

13
  1. Apakah pendekatan ini cocok untuk menyelesaikan masalah ini (memutuskan berapa banyak parameter untuk dimasukkan dalam model Anda, atau memilih di antara sejumlah model)?

Bisa jadi salah satu, ya. Jika Anda tertarik untuk mendapatkan model yang memprediksi terbaik, dari daftar model yang Anda pertimbangkan, pendekatan pemisahan / validasi silang dapat melakukannya dengan baik. Jika Anda tertarik untuk mengetahui model mana (dalam daftar model putatif Anda) yang benar-benar menghasilkan data Anda, maka pendekatan kedua (mengevaluasi probabilitas posterior model) adalah yang Anda inginkan.

  1. Apakah mereka setara? Mungkin tidak. Apakah mereka akan memberikan model optimal yang sama di bawah asumsi atau dalam praktik tertentu?

Tidak, mereka tidak secara umum setara. Misalnya, menggunakan AIC (An Information Criterion, oleh Akaike) untuk memilih model 'terbaik' yang sesuai dengan validasi silang, kira-kira. Penggunaan BIC (Kriteria Informasi Bayesian) sesuai dengan menggunakan probabilitas posterior, kira-kira lagi. Ini bukan kriteria yang sama, jadi orang harus mengharapkan mereka mengarah pada pilihan yang berbeda, secara umum. Mereka dapat memberikan jawaban yang sama - kapan pun model yang memprediksi yang terbaik juga terjadi pada kebenaran - tetapi dalam banyak situasi model yang paling cocok sebenarnya adalah yang overfits, yang mengarah pada ketidaksepakatan antara pendekatan.

Apakah mereka setuju dalam praktik? Itu tergantung pada apa yang melibatkan 'latihan' Anda. Cobalah keduanya dan temukan jawabannya.

  1. Selain perbedaan filosofis yang biasa dalam menentukan pengetahuan sebelumnya dalam model Bayesian dll., Apa pro dan kontra dari setiap pendekatan? Yang mana yang akan Anda pilih?
  • Biasanya jauh lebih mudah untuk melakukan perhitungan untuk validasi silang, daripada menghitung probabilitas posterior
  • Seringkali sulit untuk meyakinkan bahwa model 'benar' ada di antara daftar yang Anda pilih. Ini adalah masalah untuk penggunaan probabilitas posterior, tetapi tidak validasi silang
  • Kedua metode cenderung melibatkan penggunaan konstanta yang sewenang-wenang; berapa nilai tambahan dari unit prediksi, dalam hal jumlah variabel? Seberapa percaya kita masing-masing model, apriori ?
    • Saya mungkin akan memilih validasi silang. Tetapi sebelum melakukan, saya ingin tahu banyak tentang mengapa pemilihan model ini dilakukan, yaitu untuk apa model yang dipilih. Tidak ada bentuk pemilihan model yang sesuai, jika diperlukan inferensi kausal.
tamu
sumber
16

Optimalisasi adalah akar dari semua kejahatan dalam statistik! ;Hai)

Setiap kali Anda mencoba untuk memilih model berdasarkan kriteria yang dievaluasi pada sampel data yang terbatas, Anda memperkenalkan risiko kecocokan yang berlebihan pada kriteria pemilihan model dan berakhir dengan model yang lebih buruk daripada yang Anda mulai. Baik validasi silang dan kemungkinan marginal adalah kriteria pemilihan model yang masuk akal, tetapi keduanya bergantung pada sampel data yang terbatas (seperti AIC dan BIC - penalti kompleksitas dapat membantu, tetapi tidak menyelesaikan masalah ini). Saya telah menemukan ini menjadi masalah besar dalam pembelajaran mesin, lihat

GC Cawley dan NLC Talbot, Over-fitting dalam pemilihan model dan bias seleksi selanjutnya dalam evaluasi kinerja, Journal of Machine Learning Research, 2010. Penelitian, vol. 11, hlm. 2079-2107, Juli 2010. ( www )

Dari sudut pandang Bayesian, lebih baik mengintegrasikan semua pilihan model dan parameter. Jika Anda tidak mengoptimalkan atau memilih apa pun, maka itu menjadi lebih sulit untuk over-fit. Kelemahannya adalah Anda memiliki integral yang sulit, yang seringkali harus diselesaikan dengan MCMC. Jika Anda menginginkan kinerja prediksi terbaik, maka saya akan menyarankan pendekatan Bayesian sepenuhnya; jika Anda ingin memahami data maka memilih model terbaik sering kali sangat membantu. Namun, jika Anda membuat ulang data dan berakhir dengan model yang berbeda setiap kali, itu berarti prosedur pemasangan tidak stabil dan tidak ada model yang dapat diandalkan untuk memahami data.

Perhatikan bahwa satu perbedaan penting antara validasi silang dan bukti adalah bahwa nilai kemungkinan marjinal mengasumsikan bahwa model tidak salah ditentukan (pada dasarnya bentuk dasar dari model sesuai) dan dapat memberikan hasil yang menyesatkan jika memang demikian. Validasi silang tidak membuat asumsi seperti itu, yang berarti sedikit lebih kuat.

Dikran Marsupial
sumber
Integrasi Bayesian adalah pendekatan yang kuat. Tetapi selalu mempertanyakan apakah pemilihan model bahkan merupakan cara yang tepat untuk melakukan hal ini. Apa motivasinya? Mengapa tidak menempatkan model yang lengkap yang fleksibel dan hanya cocok saja?
Frank Harrell
@FrankHarrell banyak model fleksibel termasuk persyaratan regularisasi dan hiper-parameter lainnya, dan tuning mereka juga pemilihan model dan tunduk pada masalah yang sama dari pemasangan kriteria seleksi yang berlebihan. Pemasangan menyebabkan risiko pemasangan berlebihan, dan itu berlaku di semua tingkatan. Namun jika Anda tahu a-priori tentang struktur model, maka pengetahuan ahli itu harus digunakan.
Dikran Marsupial
1
Terbaik untuk mencari metode yang tidak memerlukan penyetelan, tetapi ini tidak selalu mungkin. Poin utama saya adalah bahwa spesifikasi model berfungsi lebih baik daripada pemilihan model dan jangan menganggap bahwa pemilihan fitur adalah tujuan yang mulia.
Frank Harrell
Pemilihan fitur @FrankHarrell sangat jarang membantu. Optimalisasi harus dihindari sedapat mungkin, yang melibatkan pengambilan pilihan model / penyetelan berdasarkan sampel data yang terbatas (tentu saja semakin besar sampel, semakin rendah risikonya).
Dikran Marsupial