Saya terkesan dengan masalah yang tampaknya mudah, tetapi saya belum menemukan solusi yang cocok untuk beberapa minggu sekarang.
Saya memiliki cukup banyak data jajak pendapat / survei (puluhan ribu responden, katakanlah 50k per dataset), yang berasal dari sesuatu yang saya harap disebut survei yang dirancang rumit dengan bobot, stratifikasi, perutean khusus, dan sebagainya. Untuk setiap responden, ada ratusan variabel seperti demografi (usia, wilayah ...) dan sebagian besar variabel biner (paling banyak, kategori).
Saya datang lebih banyak dari latar belakang ilmu komputer / mesin dan saya harus belajar banyak tentang statistik survei klasik dan metodologi. Sekarang saya ingin menerapkan pembelajaran mesin klasik pada data tersebut (misalnya memprediksi beberapa nilai yang hilang untuk subset responden - pada dasarnya tugas klasifikasi). Tetapi, pegang dan lihatlah, saya tidak dapat menemukan cara yang cocok untuk melakukan itu. Bagaimana saya harus memasukkan stratas, bobot, atau perutean itu (seperti: jika pertanyaan 1 dijawab dengan opsi 2, ajukan pertanyaan 3, jika tidak lewati)?
Cukup menerapkan model saya (pohon, regresi logistik, SVM, XGBoost ...) tampaknya berbahaya (dan, mereka gagal dalam kebanyakan kasus), karena mereka biasanya menganggap data berasal dari sampel acak sederhana atau iid.
Banyak metode setidaknya memiliki bobot, tetapi tidak banyak membantu. Selain itu, tidak jelas bagaimana saya harus menggabungkan kelas dan bobot yang tidak seimbang yang diberikan oleh definisi survei bersama, tidak berbicara tentang hal-hal stratifikasi. Selain itu, model hasil harus dikalibrasi dengan baik - distribusi yang diprediksi harus sangat dekat dengan yang asli. Performa prediksi yang baik bukan satu-satunya kriteria di sini. Saya mengubah metrik optimisasi untuk memperhitungkan hal ini juga (seperti jarak distribusi yang diprediksi dari akurasi distribusi + / MCC) dan dalam beberapa kasus membantu, mengapa melumpuhkan kinerja pada yang lain.
Apakah ada cara kanonik bagaimana menangani masalah ini? Bagi saya, ini adalah bidang penelitian yang sangat kurang dihargai. IMO banyak survei yang dapat mengambil manfaat dari kekuatan ML, tetapi tidak ada sumber. Seperti ini adalah dua dunia yang tidak berinteraksi satu sama lain.
Apa yang saya temukan sejauh ini:
- http://civilstat.com/2014/08/statistics-modeling-the-two-cultures-breiman/
Sebagai contoh, saya masih tahu hanya satu kertas (Toth & Eltinge, 2011) tentang bagaimana melakukan pohon regresi ketika data Anda berasal dari survei sampel yang kompleks.
- http://ccsg.isr.umich.edu/index.php/chapters/statistics-analysis-chapter#nine
Dalam meta-analisis baru-baru ini dari 150 makalah penelitian sampel menganalisis beberapa survei dengan desain sampel kompleks, ditemukan bahwa kesalahan analitik yang disebabkan oleh ketidaktahuan atau penggunaan yang salah dari fitur desain sampel kompleks sering terjadi.
- https://www.fhwa.dot.gov/2015datapalooza/presentations/PolicyDev.4_Pierce.pdf
Terkait pertanyaan CV, tetapi tidak ada yang berisi jawaban yang dapat digunakan bagaimana mendekati ini (baik tidak ada jawaban, bukan apa yang saya minta, atau menyajikan rekomendasi yang menyesatkan):
Jawaban:
( Pembaruan: Belum ada banyak pekerjaan pada metode ML "modern" dengan data survei yang kompleks, tetapi edisi terbaru Ilmu Statistik memiliki beberapa artikel ulasan. Lihat khususnya Breidt dan Opsomer (2017), "Model-Assisted Estimasi Survei dengan Teknik Prediksi Modern " .
Juga, berdasarkan pada kertas Toth dan Eltinge yang Anda sebutkan, sekarang ada paket R. Rpms yang mengimplementasikan CART untuk data survei kompleks.)
Saya tidak sepenuhnya jelas tentang tujuan Anda. Apakah Anda terutama mencoba menyalahkan pengamatan yang hilang, hanya untuk memiliki dataset "lengkap" untuk diberikan kepada orang lain? Atau apakah Anda sudah memiliki data lengkap, dan Anda ingin membangun model untuk memprediksi / mengklasifikasikan respons pengamatan baru? Apakah Anda memiliki pertanyaan khusus untuk dijawab dengan model Anda, atau apakah Anda melakukan penambangan data secara lebih luas?
Dalam kedua kasus, regresi logistik sampel-survei / survei-tertimbang kompleks adalah metode yang masuk akal, cukup dipahami. Ada juga regresi ordinal untuk lebih dari 2 kategori. Ini akan menjelaskan stratas dan bobot survei. Apakah Anda memerlukan metode ML yang lebih bagus dari ini?
Misalnya, Anda bisa menggunakannya
svyglm
di R'ssurvey
paketBahkan jika Anda tidak menggunakan R, penulis paket, Thomas Lumley, juga menulis buku yang bermanfaat "Survei Kompleks: Panduan untuk Analisis Menggunakan R" yang mencakup regresi logistik dan data yang hilang untuk survei.(Untuk imputasi, saya harap Anda sudah terbiasa dengan masalah umum seputar data yang hilang. Jika tidak, lihat pendekatan seperti beberapa imputasi untuk membantu Anda memperhitungkan bagaimana langkah imputasi mempengaruhi perkiraan / prediksi Anda.)
Perutean pertanyaan memang merupakan masalah tambahan. Saya tidak yakin bagaimana cara terbaik untuk menghadapinya. Untuk imputasi, mungkin Anda bisa menyalahkan satu "langkah" dalam perutean pada suatu waktu. Misalnya menggunakan model global, pertama-tama sertakan jawaban setiap orang untuk "Berapa banyak anak yang Anda miliki?"; kemudian jalankan model baru pada sub-populasi yang relevan (orang dengan lebih dari 0 anak) untuk menyalahkan langkah selanjutnya "Berapa usia anak-anak Anda?"
sumber