Imputasi dengan Hutan Acak


8

Saya punya dua pertanyaan tentang menggunakan hutan acak (khususnya randomForest di R) untuk hilangnya nilai imputasi (dalam ruang prediktor).

1) Bagaimana cara kerja algoritma imputasi - khususnya bagaimana dan mengapa label kelas diperlukan untuk imputasi? Apakah matriks kedekatan yang berfungsi untuk menimbang nilai rata-rata untuk menentukan nilai yang hilang yang ditentukan secara terpisah oleh kelas?

2) Jika label kelas diperlukan untuk menentukan nilai yang hilang - bagaimana ini dapat digunakan untuk menyalahkan nilai yang hilang untuk data baru yang Anda coba prediksi?

Jawaban:


8

Ide dasarnya adalah melakukan penggantian cepat data yang hilang dan kemudian secara iteratif meningkatkan imputasi yang hilang menggunakan kedekatan. Untuk bekerja dengan data yang tidak berlabel, cukup mereplikasi data dengan semua label, dan kemudian memperlakukannya sebagai data berlabel.

Bagian dari pohon yang mana sepasang pengamatan berbagi node terminal memberikan matriks kedekatan, dan dengan demikian secara eksplisit menggunakan label kelas.

Perlengkapan latihan:

  1. Ganti nilai yang hilang dengan nilai rata-rata.
  2. Ulangi sampai puas:

    Sebuah. Dengan menggunakan nilai yang dihitung yang dihitung sejauh ini, latih hutan acak.

    b. Hitung matriks kedekatan.

    c. Dengan menggunakan kedekatan sebagai bobot, hubungkan nilai yang hilang sebagai rata-rata tertimbang dari nilai yang tidak hilang.

Set tes:

  1. Jika label ada, gunakan imputasi yang berasal dari data uji.
  2. Jika data tidak berlabel, gandakan set tes dengan salinan untuk setiap label kelas dan lanjutkan seperti dengan data berlabel.

Di sini, rata-rata (terbobot) mengacu pada median (terbobot) untuk variabel numerik dan mode (terbobot) untuk variabel kategorikal. 4-6 iterasi direkomendasikan dalam referensi.

Dokumentasi R (pdf) , panduan Breiman v4.0 (pdf) , halaman RF Breiman


2
Saya tertarik untuk mengetahui lebih lanjut tentang apakah algoritma ini dapat diadaptasi untuk beberapa imputasi, dan apakah itu akan memiliki jumlah variabilitas yang tepat dan memperhitungkan ketidakpastian model imputasi.
Frank Harrell

1
Frank, dari deskripsi itu, saya ragu itu akan memiliki variabilitas yang cukup. Menggambar hot deck dari kelas terminal dapat melakukan trik. Jika algoritma tumbuh pohon cenderung overfit, variabilitas akan tetap ditekan, tetapi tidak sebanyak ketika Anda menggunakan mean kondisional atau kuantil kondisional. Sekali lagi, itulah firasat saya tentang bagaimana metode imputasi bekerja, secara umum.
Tugas

1
Cohoz, terima kasih ini menegaskan apa yang telah saya pelajari sejak itu. Masalahnya adalah hutan acak sedang dibangun menggunakan variabel target. Ada paket missForest dalam R dengan kertas yang dapat digunakan untuk imputasi tanpa pengawasan: ncbi.nlm.nih.gov/pubmed/22039212
B_Miner

Jika saya bertanya, apakah sklearn.ensemble.RandomForestClassifierini proses pada data pelatihan atau hanya akan mengabaikannya dan saya harus melakukannya sendiri?
Abhishta Gatya

3

Saya telah mencoba menggunakan Random Forest untuk beberapa imputasi dalam MICE untuk menangani data yang hilang dalam analisis survival. Saya menggunakan bootstrap untuk memperhitungkan variabilitas sampel dalam model imputasi. Saya menemukan bahwa Random Forest MICE berkinerja lebih baik daripada MICE parametrik ketika ada interaksi antara variabel prediktor yang tidak termasuk dalam model imputasi.

Paket CALIBERrfimpute menyediakan fungsi untuk imputasi Hutan Acak di MICE:
http://cran.r-project.org/web/packages/CALIBERrfimpute/index.html

Ini adalah artikel yang menggambarkan tes metode pada data yang disimulasikan dan dataset epidemiologi nyata:
http://dx.doi.org/10.1093/aje/kwt312


3
Selamat datang di situs ini, @ user37364. Terima kasih atas tautan ini. Maukah Anda menjelaskannya sedikit, jika ada tautan & sehingga pembaca di masa mendatang dapat menilai sebelum mengklik jika mereka ingin mengejar mereka?
gung - Pasang kembali Monica

Hai @ user37364! Saya telah melihat makalah yang Anda presentasikan, namun, saya tidak dapat menerapkan hutan acak dengan tikus di dataset saya. Saya memposting pertanyaan di sini: stackoverflow.com/questions/24239595/… . Jika Anda memiliki pengalaman dengan MICE, apakah Anda tahu cara mengatasi kesalahan ini? Terima kasih
psoares

Halo, saya baru saja menemukan kertas Anda, dan kemudian utas ini. Bagaimana metode ini bertahan selama satu setengah tahun terakhir? Adakah keriput yang ditemukan?
generic_user
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.