Saya menggunakan paket randomForest dalam R untuk mengembangkan model hutan acak untuk mencoba menjelaskan hasil yang berkelanjutan dalam dataset "lebar" dengan lebih banyak prediktor daripada sampel.
Secara khusus, saya memasang satu model RF yang memungkinkan prosedur untuk memilih dari serangkaian ~ 75 variabel prediktor yang menurut saya penting.
Saya menguji seberapa baik model itu memprediksi hasil aktual untuk set pengujian yang dicadangkan, menggunakan pendekatan yang diposting di sini sebelumnya , yaitu,
... atau dalam R:
1 - sum((y-predicted)^2)/sum((y-mean(y))^2)
Tapi sekarang saya punya tambahan ~ 25 variabel prediktor yang bisa saya tambahkan. Saat menggunakan set ~ 100 prediktor, R² lebih tinggi. Saya ingin menguji ini secara statistik, dengan kata lain, ketika menggunakan set ~ 100 prediktor, apakah tes model secara signifikan lebih baik dalam menguji data daripada model yang cocok menggunakan ~ 75 prediktor. Yaitu, adalah R² dari pengujian model RF yang sesuai pada dataset lengkap secara signifikan lebih tinggi dari R² dari pengujian model RF pada dataset yang dikurangi.
Ini penting bagi saya untuk diuji, karena ini adalah data percontohan, dan mendapatkan 25 prediktor tambahan itu mahal, dan saya perlu tahu apakah saya harus membayar untuk mengukur prediktor tersebut dalam studi tindak lanjut yang lebih besar.
Saya mencoba memikirkan semacam pendekatan resampling / permutasi tetapi tidak ada yang terlintas dalam pikiran.
sumber
Saya setuju dengan Zach bahwa ide terbaik adalah memvalidasi silang kedua model dan kemudian membandingkan , misalnya dengan mengumpulkan nilai dari setiap lipatan dan membandingkan vektor yang dihasilkan dengan uji Wilcoxon (dipasangkan dengan k-lipat, tidak berpasangan untuk acak CV).R2
Opsi sampingan adalah menggunakan semua pilihan fitur yang relevan, apa yang akan memberi tahu Anda atribut mana yang memiliki peluang untuk secara signifikan berguna untuk klasifikasi - sehingga cuaca atribut mahal itu sepadan dengan harganya. Ini dapat dilakukan misalnya dengan pembungkus RF, Boruta .
sumber
Anda mungkin ingin berpikir dalam hal signifikansi praktis daripada signifikansi statistik (atau keduanya). Dengan data yang cukup Anda dapat menemukan hal-hal yang signifikan secara statistik yang tidak akan berdampak nyata pada penggunaan Anda. Saya ingat menganalisis suatu model satu kali di mana interaksi 5 arah secara statistik signifikan, tetapi ketika prediksi dari model termasuk semuanya hingga interaksi 5 arah dibandingkan dengan prediksi dari model termasuk hanya interaksi 2 arah dan efek utama , perbedaan terbesar adalah kurang dari 1 orang (tanggapannya adalah jumlah orang dan semua nilai menarik jauh dari 0). Jadi kompleksitas yang ditambahkan tidak sepadan. Jadi lihat perbedaan prediksi Anda untuk melihat apakah perbedaannya cukup untuk membenarkan biaya tambahan, jika tidak maka mengapa repot-repot mencari signifikansi statistik? Jika perbedaannya cukup besar untuk membenarkan biaya jika mereka nyata, maka saya kedua sugestions lain menggunakan validasi silang.
sumber
Metode ini juga dapat diperluas untuk bekerja dalam validasi silang (bukan hanya pembagian sampel seperti yang ditunjukkan di atas).
sumber
Karena Anda sudah menggunakan
randomForest
setelah melakukan validasi silang, Anda mungkin memancarkan perhitungan fit yang dipilih dari nilai-nilai kepentingan prediktor.sumber
Saya melihat pertanyaan ini sudah lama ditanyakan; namun, belum ada jawaban yang menunjukkan kekurangan dan kesalahpahaman yang signifikan dalam pertanyaan tersebut.
Tolong dicatat:
Anda menyatakan bahwa R ^ 2 = ESS / TSS = 1 - RSS / TSS. Ini hanya berlaku dalam konteks linear. Kesetaraan TSS = RSS + ESS hanya berlaku dalam regresi linier dengan intersep. Dengan demikian Anda tidak dapat menggunakan definisi tersebut untuk hutan acak secara bergantian. Inilah sebabnya mengapa RMSE dan sejenisnya adalah fungsi kerugian yang lebih umum.
Lebih penting untuk tujuan statistik: R ^ 2 mengikuti distribusi yang tidak diketahui (juga dalam pengaturan linier). Itu berarti, menguji hipotesis dengan signifikansi statistik menggunakan R ^ 2 tidak semudah itu. Validasi Lintas, sebagaimana disebutkan oleh Zach , adalah pilihan yang baik.
Adapun user88 respon: Palang validasi dengan uji Wilcoxon adalah pendekatan yang valid. Sebuah makalah baru-baru ini menggunakan uji peringkat Wilcoxon signed dan tes Friedman untuk perbandingan berbagai metode dan algoritma.
sumber