Secara tradisional kami menggunakan model campuran untuk memodelkan data longitudinal, yaitu data seperti:
id obs age treatment_lvl yield
1 0 11 M 0.2
1 1 11.5 M 0.5
1 2 12 L 0.6
2 0 17 H 1.2
2 1 18 M 0.9
kita dapat mengasumsikan intersep atau lereng acak untuk orang yang berbeda. Namun pertanyaan yang saya coba selesaikan akan melibatkan kumpulan data yang sangat besar (jutaan orang, pengamatan harian 1 bulan, yaitu setiap orang akan memiliki 30 pengamatan), saat ini saya tidak tahu apakah ada paket yang bisa melakukan tingkat data ini.
Saya memiliki akses ke percikan / mahout, tetapi mereka tidak menawarkan model campuran, pertanyaan saya adalah, adakah di sana saya dapat memodifikasi data saya sehingga saya dapat menggunakan RandomForest atau SVM untuk memodelkan dataset ini?
Adakah teknik rekayasa fitur yang dapat saya manfaatkan sehingga dapat membantu RF / SVM untuk memperhitungkan korelasi-otomatis?
Terimakasih banyak!
Beberapa metode potensial tetapi saya tidak mampu menyediakan waktu untuk menulisnya menjadi percikan
Bagaimana saya bisa memasukkan efek acak ke dalam randomForest
sumber
Jawaban:
Jika Anda hanya memiliki beberapa variabel, seperti dalam contoh, maka Anda seharusnya tidak memiliki masalah dengan beberapa varian
lme4
.Di mana teknik pembelajaran mesin benar-benar bersinar adalah ketika Anda memiliki banyak variabel dan Anda ingin memodelkan nonlinier dan interaksi antara variabel Anda. Beberapa pendekatan ML telah dikembangkan yang dapat melakukan ini dengan data longitudinal. RNN adalah satu opsi, meskipun ini umumnya dioptimalkan untuk masalah deret waktu, bukan data panel.
Pada prinsipnya, feed-forward neural network adalah model linier (umum), dengan regresi yang merupakan fungsi nonlinier dari data input. Jika regressor yang diturunkan - lapisan atas model sebelum output - dianggap sebagai bagian nonparametrik, maka tidak ada yang menghentikan Anda dari menambahkan struktur parametrik bersamanya - mungkin dalam bentuk efek acak.
Namun ini belum diterapkan untuk masalah klasifikasi, yang saya asumsikan Anda lakukan karena Anda tertarik pada SVM sebagai kandidat.
sumber
Mengulang dari teknik pembelajaran mesin untuk data longitudinal : dokumentasi sklearn validasi silang memiliki iterator cross-validasi untuk data yang dikelompokkan! Lihat GroupKFold , LeaveOneGroupOut , dan LeavePGroupsOut .
Jika Anda tertarik pada prediksi murni, opsi terbaik mungkin adalah menggunakan Jaringan Syaraf Berulang . Pilihan lain adalah Hidden Markov Models .
sumber
Apakah Anda benar-benar membutuhkan Hutan Acak, NN, dll. Untuk data longitudinal Anda?
lme4
mampu menangani jutaan orang:https://cran.r-project.org/web/packages/lme4/vignettes/Theory.pdf
Ini dapat dengan mudah menangani model campuran linier, dan seperti yang Anda lihat dari tautan, ia juga mendukung model campuran nonlinier (meskipun saya tidak akan mengharapkannya menjadi kilat juga untuk model nonlinier).
sumber