Saya menjalankan model regresi OLS pada kumpulan data dengan 5 variabel independen. Variabel independen dan variabel dependen keduanya kontinu dan terkait linier. R Square adalah sekitar 99,3%. Tetapi ketika saya menjalankan hal yang sama menggunakan hutan acak di R hasil saya adalah '% Var menjelaskan: 88,42'. Mengapa hasil hutan acak sangat kalah dengan regresi? Asumsi saya adalah bahwa hutan acak setidaknya sama baiknya dengan regresi OLS.
r
regression
random-forest
pengguna28906
sumber
sumber
Jawaban:
Saya tidak tahu persis apa yang Anda lakukan, jadi kode sumber Anda akan membantu saya untuk menebak lebih sedikit.
Banyak hutan acak pada dasarnya adalah jendela tempat rata-rata diasumsikan mewakili sistem. Ini adalah pohon CAR yang terlalu dimuliakan.
Katakanlah Anda memiliki pohon CAR dua daun. Data Anda akan dibagi menjadi dua tumpukan. Output (konstan) dari setiap tumpukan akan menjadi rata-rata.
Sekarang mari kita lakukan 1000 kali dengan himpunan bagian data acak. Anda masih akan memiliki daerah terputus-putus dengan output yang rata-rata. Pemenang dalam RF adalah hasil yang paling sering. Itu hanya "membingungkan" perbatasan antara kategori.
Contoh output linear sedikit demi sedikit dari pohon CART:
Katakanlah, misalnya, bahwa fungsi kita adalah y = 0,5 * x + 2. Plot yang terlihat seperti berikut:
Jika kita memodelkan ini menggunakan pohon klasifikasi tunggal dengan hanya dua daun maka kita pertama-tama akan menemukan titik split terbaik, membagi pada titik itu, dan kemudian memperkirakan fungsi output di setiap daun sebagai output rata-rata di atas daun.
Jika kita melakukan ini lagi dengan lebih banyak daun di pohon CART maka kita mungkin mendapatkan yang berikut:
Mengapa CAR-hutan?
Anda dapat melihat bahwa, dalam batas daun tanpa batas, pohon CART akan menjadi pendekatan yang dapat diterima.
Masalahnya adalah dunia nyata itu berisik. Kami suka berpikir dalam cara, tetapi dunia menyukai kecenderungan sentral (mean) dan kecenderungan variasi (std dev). Ada suara berisik.
Hal yang sama yang memberi CAR-tree kekuatan besar, kemampuannya menangani diskontinuitas, membuatnya rentan terhadap pemodelan noise seolah-olah itu adalah sinyal.
Jadi Leo Breimann membuat proposisi sederhana namun kuat: gunakan metode Ensemble untuk membuat pohon Klasifikasi dan Regresi kuat. Dia mengambil himpunan bagian acak (sepupu resampling bootstrap) dan menggunakannya untuk melatih hutan pohon CAR. Ketika Anda mengajukan pertanyaan tentang hutan, seluruh hutan berbicara, dan jawaban paling umum diambil sebagai hasilnya. Jika Anda berurusan dengan data numerik, akan berguna untuk melihat ekspektasi sebagai output.
Jadi untuk plot kedua, pikirkan tentang pemodelan menggunakan hutan acak. Setiap pohon akan memiliki subset data acak. Itu berarti bahwa lokasi titik perpecahan "terbaik" akan bervariasi dari pohon ke pohon. Jika Anda membuat plot output dari hutan acak, saat Anda mendekati diskontinuitas, beberapa cabang pertama akan menunjukkan lompatan, lalu banyak. Nilai rata-rata di wilayah itu akan melintasi jalur sigmoid yang mulus. Bootstrapping berbelit-belit dengan Gaussian, dan Gaussian blur pada fungsi step itu menjadi sigmoid.
Garis bawah:
Anda membutuhkan banyak cabang per pohon untuk mendapatkan perkiraan yang baik untuk fungsi yang sangat linier.
Ada banyak "tombol" yang dapat Anda ubah untuk mempengaruhi jawaban, dan Anda tidak mungkin mengatur semuanya ke nilai yang benar.
Referensi:
sumber
Saya perhatikan bahwa ini adalah pertanyaan lama, tetapi saya pikir lebih banyak harus ditambahkan. Seperti @Manoel Galdino katakan dalam komentar, biasanya Anda tertarik pada prediksi data yang tidak terlihat. Tetapi pertanyaan ini adalah tentang kinerja pada data pelatihan dan pertanyaannya adalah mengapa hutan acak berkinerja buruk pada data pelatihan ? Jawabannya menyoroti masalah yang menarik dengan pengklasifikasi kantong yang sering menyebabkan masalah bagi saya: regresi ke nilai rata-rata.
Masalahnya adalah bahwa pengklasifikasi kantong seperti hutan acak, yang dibuat dengan mengambil sampel bootstrap dari kumpulan data Anda, cenderung berkinerja buruk di ekstrem. Karena tidak ada banyak data di ekstrem, mereka cenderung dihaluskan.
Lebih rinci, ingat bahwa hutan acak untuk regresi rata-rata prediksi sejumlah besar pengklasifikasi. Jika Anda memiliki satu titik yang jauh dari yang lain, banyak pengklasifikasi tidak akan melihatnya, dan ini pada dasarnya akan membuat prediksi out-of-sample, yang mungkin tidak terlalu baik. Faktanya, prediksi out-of-sample ini akan cenderung menarik prediksi untuk titik data menuju rata-rata keseluruhan.
Jika Anda menggunakan pohon keputusan tunggal, Anda tidak akan memiliki masalah yang sama dengan nilai-nilai ekstrem, tetapi regresi pas tidak akan sangat linier juga.
Berikut adalah ilustrasi dalam R. Beberapa data dihasilkan
y
dengan kombinasi liner sempurna dari limax
variabel. Kemudian prediksi dibuat dengan model linier dan hutan acak. Kemudian nilai-nilaiy
pada data pelatihan diplot terhadap prediksi. Anda dapat dengan jelas melihat bahwa hutan acak berkinerja buruk di ekstrem karena titik data dengan nilai yang sangat besar atau sangat kecil sangaty
jarang.Anda akan melihat pola yang sama untuk prediksi data yang tidak terlihat ketika hutan acak digunakan untuk regresi. Saya tidak yakin bagaimana cara menghindarinya. The
randomForest
fungsi dalam R memiliki bias opsi koreksi minyak mentahcorr.bias
yang menggunakan regresi linear pada bias, tetapi tidak benar-benar bekerja.Saran dipersilahkan!
sumber
Hutan acak mencoba menemukan lokasi di antara banyak fitur dan banyak titik data. Ini membagi fitur dan memberikannya ke pohon yang berbeda, karena Anda memiliki jumlah fitur yang rendah, hasil keseluruhan tidak sebagus regresi logistik. Hutan acak dapat menangani variabel numerik dan kategorikal tetapi tidak pandai menangani nilai yang hilang.
sumber
Saya berpikir bahwa Random Forest (RF) adalah alat yang baik ketika bentuk fungsional dari hubungan antara Xs dan y rumit (karena hubungan nonlinear dan efek interaksi). RF mengategorikan Xs berdasarkan cutpoint terbaik (dalam hal SSE minimum) dan tidak menerapkan informasi peneliti tentang bentuk fungsional hubungan. Di sisi lain, regresi OLS menggunakan informasi ini. Dalam contoh Anda, Anda tahu apa sebenarnya jenis hubungan antara Xs dan y dan menggunakan semua informasi ini dalam model regresi Anda tetapi RF tidak menggunakan informasi ini.
sumber
Untuk dasar-dasar, Regresi melakukan lebih dari variabel kontinu dan Hutan Acak atas variabel diskrit.
Anda perlu memberikan detail lebih lanjut tentang masalah dan tentang sifat variabel agar lebih spesifik ...
sumber