Interval prediksi untuk algoritma pembelajaran mesin


14

Saya ingin tahu apakah proses yang dijelaskan di bawah ini valid / dapat diterima dan ada pembenaran yang tersedia.

Idenya: Algoritma pembelajaran terawasi tidak mengasumsikan struktur / distribusi yang mendasari tentang data. Pada akhirnya mereka membuat estimasi titik keluaran. Saya berharap bisa mengukur ketidakpastian estimasi tersebut. Sekarang, proses pembuatan model ML secara inheren acak (misalnya dalam pengambilan sampel untuk validasi silang untuk penyetelan hyperparameter dan dalam subsampling dalam GBM stokastik), jadi pipa pemodelan akan memberi saya output yang berbeda untuk prediktor yang sama dengan setiap benih yang berbeda. Gagasan saya (naif) adalah menjalankan proses ini berulang-ulang untuk menghasilkan distribusi prediksi, dan mudah-mudahan saya dapat membuat pernyataan tentang ketidakpastian prediksi.

Jika itu penting, set data yang saya kerjakan biasanya sangat kecil (~ 200 baris.)

Apakah ini masuk akal?

Untuk memperjelas, saya sebenarnya tidak bootstrap data dalam arti tradisional (yaitu saya tidak mengambil sampel kembali data). Dataset yang sama digunakan dalam setiap iterasi, saya hanya mengeksploitasi keacakan dalam xval dan stochastic GBM.


2
Jika Anda benar-benar menginginkan interval prediksi (daripada interval kepercayaan), Anda perlu memperhitungkan variasi dalam pengamatan tentang model, bukan hanya variasi dalam prediksi model
Glen_b -Reinstate Monica

@ Glen_b akankah pendekatan yang diuraikan dalam OP atau versi boostrapped membuat saya interval kepercayaan? Saya mulai berpikir interval prediksi tidak mungkin dilakukan tanpa menentukan distribusi yang mendasari untuk data sehingga saya mungkin perlu mengulangi pertanyaan berikutnya.
kevinykuo

Anda dapat mem-bootstrap interval prediksi ... hanya saja tidak dengan melakukan apa yang Anda gambarkan di Q.
Glen_b -Reinstate Monica

@ Glen_b dapatkah Anda menjelaskan cara melakukannya dalam jawaban?
kevinykuo

1
Saya tidak bisa memberikan jawaban yang memadai di sini. Tetapi lihat Davison & Hinkley (1997) dalam bab-bab tentang regresi berganda dan GLM yang memberikan pengertian tentang jenis hal yang mungkin diperlukan. Dalam kasus regresi berganda misalnya, residu di-resampled untuk mendapatkan estimasi bootstrap dari ketidakpastian prediktif (variasi dalam prediksi karena ketidakpastian parameter) dan diamplas lagi untuk menangani variasi proses. Dengan skema yang sesuai, Anda mungkin juga dapat menangani ketidakpastian spesifikasi model pada langkah pertama tersebut, tetapi Anda tidak dapat menghilangkan langkah ke-2 untuk variabilitas proses
Glen_b -Reinstate Monica

Jawaban:


5

Bagi saya tampaknya pendekatan yang sama baiknya dengan mengukur ketidakpastian dalam prediksi. Pastikan untuk mengulangi semua langkah pemodelan (untuk GBM yang akan menjadi penyetelan parameter) dari awal di setiap bootstrap. Bisa juga bermanfaat untuk mem-bootstrap peringkat pentingnya untuk mengukur ketidakpastian dalam peringkat tersebut.

Saya telah menemukan bahwa kadang-kadang interval tidak mengandung prediksi aktual, terutama ketika memperkirakan suatu probabilitas. Meningkatkan jumlah minimal pengamatan di setiap simpul terminal biasanya memecahkan itu, setidaknya dalam data yang telah saya kerjakan.

Prediksi konformal sepertinya pendekatan yang berguna untuk mengukur kepercayaan pada prediksi data baru. Saya hanya menggores permukaan sejauh ini dan yang lain mungkin lebih cocok untuk memberikan pendapat tentang itu.

Ada beberapa kode-R kasar dalam balasan saya ke posting ini tentang menemukan Interval prediksi GBM.

Semoga ini membantu!


2

Anda dapat membagi ketidakpastian tentang prediksi ke istilah 'bias' dan 'varians'. Istilah Bias mengacu pada kesalahan spesifikasi model: jika Anda cocok dengan model linier untuk fungsi nonlinear, Anda akan selalu mendapatkan beberapa kesalahan. Istilah 'Varians' mengacu pada kesalahan dalam estimasi parameter model. Anda mendekati akun untuk varians bagian dari ketidakpastian, sementara tidak dapat memperkirakan bias.

Seperti yang disarankan oleh prediksi kesesuaian @ErikL adalah pendekatan yang secara teori dapat dibenarkan yang mengadopsi ide yang sangat mirip untuk bootstrap. Prediksi konformal menggunakan rekonstruksi model menggunakan titik baru memperhitungkan bias dan varians, sedangkan untuk regresi mereka memerlukan sumber daya komputasi yang signifikan. Anda dapat mencobanya dengan Python menggunakan pustaka yang tidak sesuai .


1

Tidak, sepertinya ide yang buruk. Pertama, seperti yang ditunjukkan Alexey, ada bias dan varians. Bahkan untuk pilihan parameter terbaik, Anda tidak dapat menghindari varians. Metode Anda bahkan tidak mencoba mengatasinya. Ada masalah lain yang sangat penting, bahwa sebagian, dan mungkin sebagian besar, kesalahan model Anda ada dalam data, bukan pada keacakan inheren model. (Belum lagi bahwa beberapa model, seperti regresi linier biasa, tidak acak sama sekali, dan untuk model acak, tingkat keacakan bervariasi dari model ke model)

Saya menyarankan Anda untuk menguji pendekatan Anda pada beberapa data simulasi sederhana, dan beberapa model yang Anda tahu. Saya yakin, karena alasan yang saya jelaskan, perkiraan kesalahan Anda akan jauh lebih kecil dari kesalahan sebenarnya (atau distribusi Anda akan jauh lebih sempit).

Untuk memperkirakan distribusi kesalahan, Anda dapat menggunakan validasi silang yang lama.


0

Saya sedang memikirkan masalah ini sekarang. Inilah temuan saya:

(1) Metode Delta
(2) Resampling Bootstrap
(3) Metode Bayesian
(4) Estimasi Varians Rata-Rata (MVE)

Idenya adalah mencoba memperkirakan dua sumber variabilitas prediksi, ketidakpastian dari estimasi parameter model dan kesalahan yang tidak dapat direduksi.

Berikut ini beberapa referensi:

Pendekatan Pembelajaran Mesin untuk estimasi interval prediksi untuk output model, Durga L. Shrestha, Dimitri P. Solomatine, 2006
Perbandingan beberapa estimasi kesalahan untuk model jaringan saraf, Robert Tibshirani, 1995
Tinjauan Komprehensif Interval Prediksi Berbasis Jaringan Neural dan Baru Kemajuan, Abbas khosravi, Doug Creighton, 2011

Semoga ini bisa membantu dan memperbaiki saya salah satu di atas tidak pantas. Saya ingin mendengar lebih banyak dari orang lain.


1
Bisakah Anda menjelaskan bagaimana posting ini menjawab pertanyaan awal?
whuber

Judulnya adalah 'PI untuk algoritma ML', @kevinykuo menanyakan apakah caranya 'bootstraping' berfungsi. Saya menunjuk beberapa referensi tentang beberapa metode yang digunakan dalam PI untuk Neural Network.
Demo
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.