Ketika membangun model regresi menggunakan pemodelan / set validasi yang terpisah, apakah pantas untuk "menyirkulasi ulang" data validasi?

13

Misalkan saya punya pemisahan 80/20 antara pemodelan / pengamatan validasi. Saya telah memasukkan model ke set data pemodelan, dan saya merasa nyaman dengan kesalahan yang saya lihat pada set data validasi. Sebelum saya meluncurkan model saya untuk menilai pengamatan di masa depan, apakah pantas untuk menggabungkan validasi kembali dengan data pemodelan untuk mendapatkan estimasi parameter yang diperbarui pada data 100%? Saya pernah mendengar dua perspektif tentang ini:

  1. Validasi yang saya lakukan adalah validasi struktur model, yaitu seperangkat prediktor dan transformasi yang telah saya terapkan. Tidak masuk akal untuk meninggalkan 20% data saya di atas meja ketika saya bisa menggunakannya untuk memperbarui perkiraan saya.

  2. Validasi yang saya lakukan sebagian merupakan validasi estimasi parameter yang saya hitung pada set data pemodelan saya. Jika saya memperbarui model yang sesuai, saya telah mengubah taksiran dan saya tidak lagi memiliki cara obyektif untuk menguji kinerja model yang diperbarui.

Saya selalu mengikuti argumen # 1, tetapi baru-baru ini saya mendengar beberapa orang berdebat # 2. Saya ingin melihat pendapat orang lain tentang ini. Pernahkah Anda melihat diskusi yang baik dalam literatur atau di tempat lain tentang topik ini?

DavidLiebeHart
sumber

Jawaban:

6

Opsi 1 adalah yang benar. Anda dapat menambahkan set data validasi untuk memperbarui parameter model Anda.

Itulah jawabannya. Sekarang mari kita diskusikan. Fakta bahwa apa yang Anda lakukan adalah 1. pilihan Anda di atas lebih jelas jika Anda melakukan k-fold cross-validation dari bootstrap (dan Anda harus melakukan itu - tidak jelas dari pertanyaan Anda).

Dalam validasi silang 5 kali lipat, Anda membagi data yang Anda miliki menjadi 5 set acak dengan ukuran yang sama. Mari kita sebut mereka A, B, C, D dan E. Kemudian Anda mempelajari parameter model Anda (dari model itu sendiri) dalam 4 set, katakan A, B, C dan D, dan mengujinya atau memvalidasinya dalam model kelima E. (Ini yang Anda lakukan). Tapi kemudian Anda memilih set lain sebagai tes / validasi (katakanlah D) dan belajar menggunakan 4 lainnya (A, B, C, dan E). Uji pada D, ulangi.

Kesalahan Anda model prediksi Anda adalah kesalahan rata-rata dari 5 tes - dan Anda memiliki beberapa pemahaman tentang bagaimana kesalahan prediksi tergantung pada set pembelajaran dan pengujian. Dalam skenario kasus terbaik, semua 5 ukuran kesalahan adalah sama dan Anda bisa yakin bahwa model Anda akan tampil di tingkat itu di masa depan.

Tapi model apa ?? Untuk setiap set set pembelajaran Anda akan memiliki parameter yang berbeda untuk model. Belajar dengan A, B, C, D menghasilkan set parameter P1, belajar dengan A, B, C, E, set parameter P2, hingga P5. Tak satu pun dari mereka adalah model Anda.

Apa yang Anda uji adalah kesalahan yang diharapkan dari prosedur untuk membangun model , prosedur yang Anda ikuti ketika set pembelajaran adalah A, B, C, D dan ketika itu adalah A, B, C, E, dan sebagainya. Apakah prosedur ini yang menghasilkan model dengan kesalahan yang diharapkan.

Jadi apa model terakhirnya? Ini adalah penerapan prosedur di semua data yang Anda miliki (A, B, C, D dan E). Model baru dengan set parameter P0, yang tidak pernah Anda hasilkan sebelumnya, Anda tidak memiliki data untuk mengujinya (karena Anda "menggunakan" semua data dalam menentukan parameter P0) namun Anda memiliki harapan yang masuk akal bahwa ia akan melakukan di masa depan data seperti model lain (P1, P2 ...) dibangun menggunakan prosedur yang sama lakukan.

Bagaimana jika Anda tidak melakukan validasi silang atau bootstrap (bootstrap agak lebih rumit untuk dijelaskan - saya tinggalkan saja dari diskusi ini)? Bagaimana jika Anda hanya melakukan satu pemisahan pembelajaran / validasi dan satu ukuran kesalahan. Kemudian, argumen 2. mungkin agak benar tetapi Anda memiliki masalah yang lebih besar - Anda hanya memiliki satu ukuran kesalahan model dan Anda tidak tahu seberapa tergantung kesalahan itu pada data yang digunakan untuk memvalidasinya. Mungkin, untungnya, set validasi 20% Anda mudah diprediksi. Karena tidak melakukan beberapa ukuran kesalahan, akan sangat berisiko untuk mengasumsikan bahwa tingkat kesalahan yang diharapkan dari model prediksi Anda akan tetap sama untuk data masa depan.

Manakah "risiko lebih besar"? Untuk berasumsi bahwa kesalahan itu pada dasarnya akan tetap sama untuk data masa depan, atau menganggap bahwa menambahkan lebih banyak data untuk mempelajari model Anda akan dengan cara "mengacaukan" model dan meningkatkan tingkat kesalahannya di masa depan? Saya tidak benar-benar tahu bagaimana menjawab ini, tetapi saya akan curiga terhadap model yang menjadi lebih buruk dengan lebih banyak data ....

Jacques Wainer
sumber