Kapan harus menggunakan banyak model untuk prediksi?

13

Ini adalah pertanyaan yang cukup umum:

Saya biasanya menemukan bahwa menggunakan beberapa model berbeda mengungguli satu model ketika mencoba untuk memprediksi deret waktu dari sampel. Apakah ada tulisan bagus yang menunjukkan bahwa kombinasi model akan mengungguli model tunggal? Apakah ada praktik terbaik dalam menggabungkan beberapa model?

Beberapa referensi:

Shane
sumber
saya menambahkan apa yang saya pikir merupakan sumber yang cukup bagus (sayangnya sebuah Buku Teks) tanpa penjelasan, mengingat komentar / pertanyaan Anda di bawah jawaban saya. Saya mengedit jawaban asli saya, sehingga muncul di bagian akhir.
doug

Jawaban:

7

Terkadang model semacam ini disebut ansambel. Sebagai contoh , halaman ini memberikan gambaran yang bagus tentang cara kerjanya. Juga referensi yang disebutkan di sana sangat bermanfaat.

Peter Smit
sumber
3
Memang, pencampuran adalah salah satu teknik ansambel yang mungkin. Secara khusus, ada dua ketika Anda menggabungkan jenis classifier yang sama, meningkatkan (seperti Adaboost) dan mengantongi (seperti Random Forest), dan blending, di mana Anda menggabungkan classifier yang berbeda (apa pertanyaan Shane tentang).
3
Untuk pencampuran, makalah ini dari kompetisi Netflix patut dibaca: the-ensemble.com/content/feature-weighted-linear-stacking .
Shane
1
Sangat menyenangkan bahwa ahli meteorologi juga menggunakan kata "ensemble" tetapi tidak untuk kombinasi: mereka menggunakannya untuk sebuah ensemble prediksi (seperti skenario) yang diperoleh dari gangguan kondisi awal model numerik.
robin girard
1
@ MBb sebenarnya mereka menyebut diri mereka sendiri peramal dan mereka menggunakan statistik cukup banyak ...
robin girard
1
@robin Saya tahu, ini hanya mengapa ini disebut "ensemble" bukan satu set atau sesuatu seperti ini.
10

Tahun terakhir kompetisi NetFlix Prize (2009) bagi saya tampaknya telah mengubah secara tajam anggapan umum masyarakat terhadap penggabungan berbagai algoritma pembelajaran.

Sebagai contoh, pelatihan formal saya (kursus universitas) dan kemudian pengawasan / mentoring di tempat kerja mengajarkan kami untuk menghindari kombinasi algoritma kecuali kami memiliki alasan eksplisit untuk melakukannya - dan "untuk meningkatkan resolusi algoritma saya saat ini", bukan Benar-benar dianggap alasan yang bagus. (Orang lain mungkin memiliki pengalaman yang berbeda - tentu saja saya menyimpulkan pandangan komunitas berdasarkan hanya pada pengalaman saya sendiri, meskipun pengalaman saya dalam pengkodean algoritma ML berkinerja buruk sangat besar.)

Namun, ada beberapa "pola" di mana menggabungkan algoritma dengan satu atau lain cara diterima, dan benar-benar meningkatkan kinerja. Bagi saya, contoh paling sering melibatkan beberapa algoritma ML yang dikonfigurasi dalam mode mesin (menetapkan label kelas untuk setiap titik data) dan di mana terdapat lebih dari dua kelas (biasanya lebih banyak). Ketika misalnya, menggunakan algoritma pembelajaran terawasi untuk menyelesaikan empat kelas, dan kita akan melihat pemisahan yang sangat baik kecuali untuk katakanlah Kelas III versus Kelas IV. Jadi dari enam batas keputusan itu, hanya satu yang diselesaikan di bawah ambang batas yang disyaratkan. Terutama ketika kelas III dan IV bersama-sama menyumbang sebagian kecil dari data, menambahkan algoritma tambahan yang dioptimalkan hanya pada resolusi kedua kelas, adalah solusi yang cukup umum untuk jenis masalah analitis ini. (Biasanya 'blind spot' itu adalah batasan inheren dari algoritma primer - misalnya, itu adalah classifier linier dan batas keputusan III / IV adalah non-linear.

Dengan kata lain, ketika kami memiliki algoritma yang andal cocok dengan lingkungan pemrosesan (yang biasanya streaming data) dan yang dilakukan dalam spesifikasi kecuali untuk satu blind spot yang menyebabkannya gagal menyelesaikan dua (atau lebih) kelas yang diperhitungkan sebagian kecil dari data, maka itu selalu lebih baik untuk 'bolt-on' algoritma khusus lain untuk menangkap apa yang algoritma utama hilang secara sistematis.

Terakhir, pada topik ini, saya sangat merekomendasikan Bab 17, Menggabungkan Banyak Pembelajar , dalam Pengantar Pembelajaran Mesin , 2d, oleh Ethem Alpaydin, MIT Press, 2010. Perhatikan bahwa ini adalah edisi kedua yang diterbitkan beberapa bulan yang lalu; edisi pertama diterbitkan pada tahun 2004 dan saya ragu ia memiliki cakupan yang sama untuk topik ini. (Sebenarnya saya merekomendasikan seluruh teks, tetapi bab itu khususnya karena berkaitan dengan Pertanyaan Shane.)

Dalam 25 halaman, penulis merangkum kemungkinan setiap skema kombinasi algoritma ML yang utilitasnya telah ditunjukkan dalam literatur atau praktik akademik - misalnya, mengantongi, meningkatkan, campuran pakar, generalisasi bertumpuk, kaskade, pemungutan suara, koreksi kesalahan, .. ..

doug
sumber
ini informasi yang bagus. Apakah Anda tahu ada surat kabar yang membahas hal ini?
Shane
(tidak mendapat notifier dari SA atas komentar Anda) Ya, saya tidak merujuk ke makalah apa pun ketika saya menulis itu, melainkan hanya merangkum secara informal beberapa pengalaman saya yang relevan dengan Pertanyaan Anda. Saya akan melihat file saya dan melihat apa yang saya miliki yang relevan.
doug
4

Menindaklanjuti tanggapan Peter tentang metode ensemble:

Shane
sumber
2

Contoh paling spektakuler adalah tantangan Netflix , yang menjadikannya sangat populer dalam memadukan popularitas.


sumber
1

Ini jawaban yang sedikit keluar dari kolom kiri, yang hanya menyentuh bagian "praktik terbaik dalam menggabungkan beberapa model" dari pertanyaan Anda. Ini pada dasarnya adalah tesis kehormatan saya, kecuali bahwa saya sedang berhadapan dengan model yang kompleks, sangat non-linier yang menunjukkan kekacauan dan kebisingan - model iklim. Ini tidak mungkin berlaku luas untuk banyak bidang, tetapi mungkin berguna dalam ekologi atau ekonometrik.

Sampai cukup baru di komunitas pemodelan iklim, sebagian besar model hanya dihancurkan bersama dalam rata-rata tertimbang (biasanya setelah koreksi bias melibatkan penghapusan rata-rata model untuk sebagian atau seluruh periode sampel). Ini pada dasarnya adalah apa yang dilakukan IPCC untuk laporan penilaian ke-4 (4AR), dan laporan sebelumnya.

Ini kurang lebih merupakan contoh dari sekolah " kebenaran plus kesalahan " kombinasi ansambel, di mana secara diam-diam atau eksplisit diasumsikan bahwa seri pengamatan (mis. Suhu global, curah hujan lokal, dll) adalah benar, dan jika Anda mengambil sampel yang cukup (mis. model berjalan), noise dalam model berjalan akan dibatalkan (lihat (1)).

Baru-baru ini, metode untuk menggabungkan model berdasarkan bobot kinerja telah digunakan. Karena model iklim sangat berisik, dan memiliki begitu banyak variabel dan parameter, satu-satunya cara menilai kinerja (yang saya tahu) adalah dengan mengambil kovarians, atau dengan mengambil MSE antara output model dan seri waktu yang diamati. Model kemudian dapat dikombinasikan dengan menimbang rata-rata berdasarkan ukuran itu. Ada gambaran bagus tentang hal ini di (2).

Satu asumsi di balik metode menggabungkan simulasi ini adalah asumsi bahwa semua model cukup independen - jika beberapa sangat tergantung, mereka akan bias rata-rata. Asumsi ini cukup adil untuk dataset yang digunakan untuk 4AR ( CMIP3 , karena kumpulan data ini terdiri dari beberapa model yang dijalankan dari banyak kelompok pemodelan (di sisi lain, kode dibagi dalam komunitas pemodelan, sehingga mungkin masih ada beberapa saling ketergantungan). Untuk tampilan yang menarik, lihat (3)) Dataset untuk laporan penilaian berikutnya, CMIP5, tidak memiliki atribut yang agak kebetulan ini - beberapa tim pemodelan akan mengirimkan beberapa proses, sementara beberapa akan mengirimkan ratusan. Ensembel yang berasal dari tim yang berbeda dapat diproduksi oleh kondisi awal peturbasi, atau dengan perubahan pada model fisika dan parametrisasi. Juga, ansambel super ini tidak disampel secara sistematis - hanya siapa yang membawa data diterima (sesuai alasan). Ini dikenal di lapangan sebagai " ansambel peluang ". Ada kemungkinan yang adil bahwa menggunakan rerata tidak tertimbang pada ansambel seperti itu akan memberi Anda beberapa bias besar terhadap model dengan lebih banyak berjalan (karena meskipun ada ratusan berjalan, ada kemungkinan jauh lebih kecil jumlah berjalan benar-benar independen).

Atasan saya memiliki makalah yang sedang ditinjau saat ini yang menggambarkan proses kombinasi model yang melibatkan pembobotan kinerja dan independensi . Ada abstrak makalah konferensi yang tersedia (4), saya akan memposting tautan ke makalah saat dipublikasikan (proses lambat, jangan menahan nafas). Pada dasarnya, makalah ini menjelaskan proses yang melibatkan pengambilan kovarians kesalahan model (model-obs), dan pembobotan model yang memiliki kovarians tinggi dengan semua model lain, (mis. Model dengan kesalahan sangat tergantung). Varians kesalahan model juga dihitung, dan digunakan sebagai komponen pembobot kinerja.

Perlu juga dicatat bahwa pemodelan iklim jelas sangat dipengaruhi oleh keanehan pemodelan numerik secara umum. Ada hal yang disebut "tes tertawa" - jika Anda berakhir dengan model yang menyiratkan bahwa suhu rata-rata global akan + 20 ° C pada tahun 2050, Anda cukup membuangnya, karena itu jelas tidak relevan secara fisik. Jelas tes semacam ini cukup subjektif. Saya belum membutuhkannya, tapi saya harapkan dalam waktu dekat.

Itulah pemahaman saya tentang kombinasi model keadaan di bidang saya saat ini. Jelas saya masih belajar, jadi jika saya menemukan sesuatu yang istimewa, saya akan kembali dan memperbarui jawaban ini.

(1) Tebaldi, C. & Knutti, R., 2007. Penggunaan ansambel multi-model dalam proyeksi iklim probabilistik. Transaksi filosofis dari Royal Society A: Matematika, Fisik dan Ilmu Teknik, 365 (1857), hal.2053-2075.

(2) Knutti, R. et al., 2010. Pertemuan Pakar IPCC tentang Menilai dan Menggabungkan Proyeksi Iklim Multi Model.

(3) Masson, D. & Knutti, R., 2011. Silsilah model iklim. Geophys. Res. Lett, 38 (8), p.L08703.

(4) Abramowitz, G. & Bishop, C., 2010. Mendefinisikan dan memberi bobot pada ketergantungan model dalam prediksi ensemble. Dalam Abstrak Pertemuan Musim Gugur AGU. hal. 07

tidak ada apa-apa101
sumber
paragraf pertama yang Anda maksud " model yang rumit, sangat non-linear " kan? Untuk area kerja saya (area non-iklim), saya sering menemukan bahwa menggunakan model yang berbeda umumnya tidak mengarah pada prediksi yang sangat berbeda. Namun, hanya meningkatkan komputasi dan menjalankan untuk menggabungkan model dengan cara non ad-hoc merupakan penghalang besar bagi kami. Saya mengharapkan prediksi yang lebih akurat, tetapi saya tidak punya waktu untuk menggabungkan model dan memperkirakan kesalahan dalam prediksi tersebut secara akurat.
probabilityislogic
Terima kasih sudah diperbaiki. Saya memiliki akses ke acomputing cluster, jadi daya komputasi bukan masalah besar, tapi ya, bahkan mendapatkan satu model yang saya gunakan dengan benar adalah menyusahkan, dan itu sudah ditulis. Itulah sebabnya CMIP ada, jadi orang tidak harus melalui semua masalah itu setiap kali. Akan tertarik untuk mengetahui bidang apa yang Anda ikuti, jika Anda melakukan hal serupa.
nucky101