Apakah wajib untuk mengelompokkan data Anda untuk memvalidasi model?

8

Saya mengalami kesulitan untuk masuk ke halaman yang sama dengan penyelia saya ketika datang untuk memvalidasi model saya. Saya telah menganalisis residu (diamati terhadap nilai yang dipasang) dan saya menggunakan ini sebagai argumen untuk membahas hasil yang diperoleh oleh model saya, namun penyelia saya bersikeras bahwa satu-satunya cara untuk memvalidasi model adalah dengan membuat subset acak dari data saya, menghasilkan model dengan 70% dari itu dan kemudian menerapkan model pada 30% sisanya.

Masalahnya adalah, variabel respons saya adalah nol meningkat (85% dari itu, menjadi lebih tepat) dan saya lebih suka tidak membuat subset karena sudah sangat sulit untuk menyatu dengan hasil.

Jadi, pertanyaan saya adalah: apa cara yang mungkin (dan dapat diterima secara ilmiah) untuk memvalidasi model? Apakah mengesampingkan data satu-satunya cara? Jika memungkinkan, rujuk pertanyaan Anda dengan artikel / buku sehingga saya dapat menggunakannya sebagai argumen saat menyajikan alternatif saya.

Eric Lino
sumber
Jika Anda memilih model berdasarkan pada semua data, itu masih belum masuk hitungan ...
Aaron meninggalkan Stack Overflow
Maksud Anda, saya harus memilih model berdasarkan subset data saya? Bagaimana cara menganalisis distribusi data saya dengan benar jika saya tidak menggunakan semuanya?
Eric Lino
Ya, itulah yang saya maksudkan - jika Anda ingin memiliki data untuk benar-benar memvalidasi model Anda, data tersebut harus disimpan ketika membuat pilihan analisis. Inilah yang Wikipedia sebut sebagai set pelatihan dan validasi. Jika Anda menggunakan set validasi Anda agar sesuai dengan hiper-parameter, Anda bahkan akan membutuhkan set ketiga (set tes) untuk menguji model akhir Anda.
Aaron meninggalkan Stack Overflow
Bukannya saya menganjurkan untuk itu; dalam kasus Anda, Anda mungkin lebih baik menggunakan metode pemilihan model dan diagnostik yang lebih tradisional, yang tentu saja apa yang Anda minta (dan sayangnya, saya tidak punya waktu untuk menjawab dengan benar).
Aaron meninggalkan Stack Overflow
2
Jawaban yang Anda cari adalah mungkin di bagian 5.3 dari Frank Harrell 's Regresi Modeling Strategi .
Aaron meninggalkan Stack Overflow

Jawaban:

6

Sebagai permulaan, saya menyarankan agar berhati-hati terhadap pernyataan bahwa hanya ada satucara untuk melakukan sesuatu. Memisahkan sampel yang diperoleh menjadi set "pelatihan" dan "pengujian" adalah pendekatan umum dalam banyak pembelajaran mesin / aplikasi ilmu data. Seringkali, pendekatan pemodelan ini kurang tertarik pada pengujian hipotesis tentang proses pembuatan data yang mendasarinya, yang berarti mereka cenderung agak tidak teoritis. Bahkan, sebagian besar jenis pelatihan / pengujian hanya ingin melihat apakah model ini terlalu pas dalam hal kinerja prediksi. Tentu saja, juga dimungkinkan untuk menggunakan pendekatan pelatihan / pengujian untuk melihat apakah model yang diberikan mereplikasi dalam hal parameter mana yang "signifikan", atau untuk melihat apakah estimasi parameter berada dalam kisaran yang diharapkan dalam kedua contoh.

Dalam teori, model validasi atau invalidasi adalah apa yang seharusnya dilakukan sains, baik yang besar, maupun yang harus dilakukan. Peneliti independen, yang secara terpisah memeriksa, menghasilkan, dan menguji hipotesis yang mendukung atau membantah argumen tentang teori mengapa atau dalam keadaan apa fenomena yang dapat diamati terjadi - yaitu perusahaan ilmiah dalam kulit kacang (atau setidaknya dalam satu kalimat yang terlalu panjang). Jadi untuk menjawab pertanyaan Anda, bagi saya, bahkan pemisahan pelatihan / pengujian tidak "memvalidasi" model. Itu adalah sesuatu yang membutuhkan bukti selama bertahun-tahun yang dikumpulkan dari beberapa peneliti independen yang mempelajari serangkaian fenomena yang sama. Meskipun, saya akan memberikan bahwa pandangan ini mungkin ada perbedaan dalam semantik tentang apa yang saya lihat validasi model berarti versus apa istilah validasi telah menjadi berarti dalam pengaturan yang diterapkan ...

Bergantung pada data dan pendekatan pemodelan Anda, mungkin tidak selalu tepat dari sudut pandang statistik untuk membagi sampel Anda menjadi set pelatihan dan pengujian. Sebagai contoh, sampel kecil mungkin sangat sulit untuk menerapkan pendekatan ini. Selain itu, beberapa distribusi mungkin memiliki sifat tertentu yang membuatnya sulit untuk dimodelkan bahkan dengan sampel yang relatif besar. Case nol-inflasi Anda kemungkinan cocok dengan deskripsi terakhir ini. Jika tujuannya adalah untuk mencapai perkiraan "kebenaran" tentang seperangkat hubungan atau proses yang mendasari dianggap untuk beberapa fenomena, Anda tidak akan dilayani dengan baik dengan secara sadar mengambil pendekatan yang kurang bertenaga untuk menguji hipotesis yang diberikan. Jadi mungkin langkah pertama adalah melakukan analisis kekuatan untuk melihat apakah Anda bahkan mungkin akan meniru temuan yang menarik dalam data yang Anda daftarkan.

Pilihan lain adalah menentukan beberapa model untuk melihat apakah mereka "lebih baik" menjelaskan data yang diamati. Tujuannya di sini adalah untuk mengidentifikasi model terbaik di antara serangkaian alternatif yang masuk akal. Ini adalah argumen relatif, bukan absolut, yang akan Anda buat tentang model Anda. Pada dasarnya, Anda mengakui bahwa mungkin ada model lain yang dapat diajukan untuk menjelaskan data Anda, tetapi model Anda adalah yang terbaik dari serangkaian alternatif yang diuji (setidaknya Anda berharap demikian). Semua model di set, termasuk model Anda yang dihipotesiskan, harus didasarkan pada teori; jika tidak, Anda berisiko membuat sekelompok pria jerami statistik.

Ada juga Bayes Factors di mana Anda dapat menghitung bobot bukti yang diberikan model Anda, berdasarkan data Anda, untuk hipotesis spesifik relatif terhadap skenario alternatif.

Ini jauh dari daftar opsi yang lengkap, tapi saya harap ini membantu. Saya akan turun dari kotak sabun sekarang. Ingatlah bahwa setiap model dalam setiap penelitian yang diterbitkan tentang perilaku manusia tidak benar. Hampir selalu ada variabel yang dihilangkan yang relevan, interaksi yang tidak dimodelkan, populasi sampel yang tidak sempurna, dan kesalahan pengambilan sampel lama yang sederhana yang mengaburkan mengaburkan kebenaran yang mendasarinya.

Matt Barstead
sumber
Saya menghargai semua waktu yang Anda habiskan untuk menulis jawaban yang begitu mendalam, Matt. Namun, saya merasa bahwa meskipun hal ini membantu saya dalam tingkat konseptual, itu tidak memiliki beberapa referensi bahwa saya akan sangat perlu membahas pendekatan ini dengan penyelia saya. Apakah Anda memiliki makalah / buku tentang kemungkinan subset data? Jika tidak memungkinkan, apakah Anda akan merekomendasikan paket R di mana saya dapat melakukan analisis kekuatan yang Anda bicarakan?
Eric Lino
Untuk paket R dan power tergantung pada model Anda (pwr, simsem, dll). Tidak ada jawaban tunggal. Juga dalam hal kemungkinan berlangganan data Anda, saya pikir itu hanya cara lain untuk bertanya tentang kekuatan jika saya memahami Anda dengan benar. Jika Anda tertarik pada bit daya, saya akan merekomendasikan berkonsentrasi pada efek terlemah Anda dan melihat bagaimana ukuran sampel minimal harus mereplikasi itu - semacam skenario kasus terburuk.
Matt Barstead
Saya melihat. Yah, saya menggunakan paket glmmadmb, yang dikembangkan oleh Ben Bolker & lainnya. Variabel respons saya adalah inflasi nol (jumlah orang dengan penyakit langka tertentu) dan variabel independen saya mencakup distribusi normal, non-normal, dan inflasi nol. Karena saya berurusan dengan serangkaian waktu, saya menggunakan "tahun" sebagai faktor pengelompokan dan sepertinya ide yang bagus untuk menjelajahi keluarga model ZIGLMM. Apakah informasi ini membantu Anda dalam membantu saya?
Eric Lino
2
Anda mungkin ingin memeriksa paket simR . Sepengetahuan saya ini adalah paket yang ada paling fleksibel untuk analisis daya dengan model linier linier dan umum. Green, P., & MacLeod, CJ (2016). SIMR: Paket R untuk analisis daya model linear umum dengan simulasi. Metode dalam Ekologi dan Evolusi.
Matt Barstead
10

Pemecahan data secara umum merupakan cara yang sangat tidak kompetitif untuk melakukan validasi internal. Itu karena volatilitas serius - model 'final' yang berbeda dan 'validasi' yang berbeda pada saat pemisahan ulang, dan karena rata-rata kuadrat kesalahan estimasi (dari hal-hal seperti rata-rata kesalahan prediksi absolut danR2) lebih tinggi dari prosedur resampling yang bagus seperti bootstrap. Saya membahas hal ini secara terperinci dalam buku strategi dan catatan kursus Regresi Modeling . Resampling memiliki keunggulan utama tambahan: mengekspos volatilitas dalam pemilihan fitur.

Frank Harrell
sumber
masih percaya motivasi utama OP adalah untuk mengetahui apakah model ZIP-nya memadai = residual check, bukan pemilihan model / fitur atau kinerja prediktif, tetapi mungkin dia dapat mengklarifikasi dirinya sendiri
Florian Hartig
Ya, @FlorianHartig benar! Namun bootstrap menarik minat saya (jika bukan untuk studi ini, untuk pengumpulan pengetahuan) dan saya akan mencari situs web Anda untuk referensi di masa depan. Terima kasih banyak atas masukannya.
Eric Lino
6

Saya pikir jawabannya di sini berbeda karena pertanyaannya agak tidak jelas, terutama: apa yang Anda maksud dengan "validasi"?

Perpecahan 70/30 (atau validasi silang dalam hal ini) biasanya dilakukan untuk menilai kinerja prediktif model atau seluruh rantai analisis (mungkin termasuk pemilihan model). Validasi seperti itu sangat penting jika Anda membandingkan opsi pemodelan yang berbeda dalam hal kinerja prediktifnya.

Ini kasus lain sepenuhnya jika Anda tidak ingin memilih model, dan juga tidak tertarik dengan kinerja prediktif seperti itu, tetapi Anda tertarik pada kesimpulan (estimasi regresi / nilai-p), dan ingin memvalidasi jika asumsi model / kesalahan Anda GLMM memadai. Dalam hal ini, adalah mungkin untuk memprediksi ke bertahan dan membandingkan prediksi dengan data yang diamati, tetapi prosedur yang jauh lebih umum adalah melakukan analisis residual. Jika Anda perlu membuktikan ini kepada penyelia Anda: pada dasarnya inilah yang diajarkan oleh setiap buku teks statistik setelah regresi linier.

Lihat di sini untuk cara menjalankan analisis residu untuk GLMM (termasuk nol-inflasi dengan glmmTMB, yang saya lebih suka daripada glmmadmb) dengan paket DHARMa (penafian: Saya adalah pengelola).

Florian Hartig
sumber
Terima kasih atas jawaban yang jelas namun berwawasan luas ini. Kasus awal saya adalah contoh kedua yang Anda berikan; Saya tidak tertarik menilai kinerja prediktif model saya, tetapi hanya mengukur hubungan mendasar antara variabel respons saya dan variabel independen saya. Saya tidak yakin saya mengerti persis apa yang Anda maksud dengan "prediksi to the hold out". Apakah Anda mengacu pada nilai prediksi yang dihasilkan pada output objek model setelah Anda menjalankannya?
Eric Lino
Maksud saya, Anda menghitung residu / bias dengan membandingkan prediksi vs pengamatan pada data hold-out (= validasi)
Florian Hartig
2

Jawaban singkatnya adalah ya, Anda perlu menilai kinerja model Anda pada data yang tidak digunakan dalam pelatihan.

Teknik-teknik pembangunan model modern sangat baik dalam pemasangan data secara sewenang-wenang dan dapat dengan mudah menemukan sinyal dalam noise. Dengan demikian kinerja model pada data pelatihan hampir selalu bias.

Sebaiknya Anda mengeksplorasi topik validasi silang (bahkan jika Anda tidak menyetel hiperparameter) untuk mendapatkan pemahaman yang lebih baik tentang mengapa kami menyimpan data, ketika berfungsi, asumsi apa yang terlibat, dll. Salah satu makalah favorit saya adalah :

Tidak ada penaksir yang tidak bias dari varian k-fold cross-validation

Chris
sumber
7
Ini tidak benar secara umum. Bootstrap dengan buruk mengungguli data meludah dalam hal kesalahan kuadrat rata-rata pada kuantitas sepertiR2. Anda memang membutuhkan data yang tidak digunakan dalam pelatihan tetapi ini bisa menjadi data yang berbeda untuk setiap sampel.
Frank Harrell
Apakah Anda menyarankan untuk bootstrap pada data yang ditahan?
Chris
Bacalah tentang bootstrap optimisme Efron-Gong yang merupakan metode validasi model bootstrap standar dan yang diterapkan dalam rmspaket R validatedan calibratefungsi. Dengan bootstrap ini, tidak ada keputusan satu kali tentang menyimpan data. Seperti yang dijelaskan oleh buku dan catatan kursus RMS saya secara rinci, jumlah overfitting diestimasi dengan melihat berapa banyak model yang dikembangkan dalam sampel bootstrap berantakan ketika diterapkan pada sampel penuh asli (tumpang tindih). Bootstrap harus mengulangi semua langkah pemodelan lagi untuk setiap iterasi.
Frank Harrell
Menarik. Saya telah melihat-lihat catatan dan kertas Efron Anda. Rasanya seperti untuk model yang cepat masuk, kita mungkin menyadari beberapa keunggulan menggunakan versi khusus dari bootstrap.
Chris
Dan satu-satunya hal yang akan membuat bootstrap tampaknya lambat (meskipun itu masih akan lebih cepat daripada cross-validation, yang membutuhkan 100 pengulangan 10 kali lipat cross-validation untuk memberikan stabilitas) adalah membandingkannya dengan pemisahan data tunggal yang menyediakan hanya ilusi stabilitas.
Frank Harrell