Saya memiliki model prediksi yang diuji dengan empat metode seperti yang Anda lihat pada gambar boxplot di bawah ini. Atribut yang diprediksi model berada dalam kisaran 0-8.
Anda mungkin memperhatikan bahwa ada satu outlier batas atas dan tiga outlier batas bawah yang ditunjukkan oleh semua metode. Saya ingin tahu apakah pantas untuk menghapus instance ini dari data? Atau apakah ini semacam kecurangan untuk meningkatkan model prediksi?
Jawaban:
Itu hampir selalu curang untuk menghapus pengamatan untuk meningkatkan model regresi. Anda harus menghentikan pengamatan hanya ketika Anda benar-benar berpikir bahwa ini sebenarnya outlier.
Misalnya, Anda memiliki deret waktu dari monitor detak jantung yang terhubung ke jam tangan pintar Anda. Jika Anda melihat pada seri, mudah untuk melihat bahwa akan ada pengamatan yang salah dengan bacaan seperti 300bps. Ini harus dihapus, tetapi bukan karena Anda ingin meningkatkan model (apa pun artinya). Itu kesalahan dalam membaca yang tidak ada hubungannya dengan detak jantung Anda.
Satu hal yang perlu diperhatikan adalah korelasi kesalahan dengan data. Dalam contoh saya bisa dikatakan bahwa Anda memiliki kesalahan ketika monitor denyut jantung dipindahkan selama latihan seperti berlari atau melompat. Yang akan membuat kesalahan ini berkorelasi dengan tingkat hart. Dalam hal ini, perawatan harus diambil dalam menghilangkan outlier dan kesalahan ini, karena mereka tidak secara acak
Saya akan memberi Anda contoh yang dibuat-buat tentang kapan tidak menghapus outlier . Katakanlah Anda sedang mengukur pergerakan berat pada pegas. Jika bobotnya relatif kecil dibandingkan dengan kekuatan bobotnya, maka Anda akan melihat bahwa hukum Hooke bekerja dengan sangat baik: mana F adalah gaya, k - koefisien tensi dan Δ x adalah posisi bobot .
Sekarang jika Anda meletakkan beban yang sangat berat atau terlalu berat, Anda akan mulai melihat penyimpangan: pada perpindahan yang cukup besar gerakannya akan tampak menyimpang dari model linier. Jadi, Anda mungkin tergoda untuk menghapus outlier untuk meningkatkan model linier. Ini bukan ide yang baik, karena modelnya tidak berfungsi dengan baik karena hukum Hooke kurang lebih tepat.Δ x
PEMBARUAN Dalam kasus Anda, saya akan menyarankan menarik titik data tersebut dan melihatnya lebih dekat. Mungkinkah itu kegagalan instrumen lab? Gangguan eksternal? Cacat sampel? dll.
Selanjutnya cobalah untuk mengidentifikasi apakah presnece outlier ini dapat dikorelasikan dengan apa yang Anda ukur seperti dalam contoh yang saya berikan. Jika ada korelasi maka tidak ada cara sederhana untuk melakukannya. Jika tidak ada korelasi maka Anda dapat menghapus outlier
sumber
It is always a cheating to remove outliers to improve a regression model.
Apakah Anda menganggap regresi spline sebagai kecurangan ? FWIW, ia melakukan pengamatan down-weight untuk meningkatkan model regresi [lokal] ~Saya awalnya ingin memposting ini sebagai komentar untuk jawaban lain, tetapi terlalu panjang untuk masuk.
Ketika saya melihat model Anda, itu tidak harus mengandung satu grup besar dan beberapa outlier. Menurut pendapat saya, ini berisi 1 kelompok berukuran sedang (1 hingga -1) dan kemudian 6 kelompok kecil, masing-masing ditemukan antara 2 bilangan bulat. Anda dapat dengan jelas melihat bahwa ketika mencapai angka bulat, ada lebih sedikit pengamatan pada frekuensi tersebut. Satu-satunya poin khusus adalah 0, di mana tidak ada penurunan pengamatan.
Menurut pendapat saya, ada baiknya membahas mengapa distribusi ini menyebar seperti ini:
Saat mengukur tindakan manusia yang terpisah, Anda akan selalu memiliki outlier. Sangat menarik untuk melihat mengapa outlier tersebut tidak sesuai dengan model Anda, dan bagaimana mereka dapat digunakan untuk meningkatkan iterasi model Anda di masa depan.
sumber
Ada pro dan kontra untuk menghapus outlier dan membangun model hanya untuk "pola normal".
Kelebihan: kinerja model lebih baik. Intuisi adalah bahwa, sangat sulit untuk menggunakan model SATU untuk menangkap "pola normal" dan "pola outlier". Jadi kami menghapus outlier dan berkata, kami hanya membangun model untuk "pola normal".
Cons: kami tidak akan dapat memprediksi outlier. Dengan kata lain, misalkan kita menempatkan model kita dalam produksi, akan ada beberapa prediksi yang hilang dari model
Saya akan menyarankan untuk menghapus outlier dan membangun model, dan jika memungkinkan cobalah untuk membangun model terpisah untuk pencilan saja.
Untuk kata "curang", jika Anda menulis makalah dan secara eksplisit daftar bagaimana Anda mendefinisikan dan menghapus outlier, dan menyebutkan peningkatan kinerja hanya pada data bersih. Itu tidak curang.
sumber
if it is fine to produce no output in production
artinya hal yang sama? Jadi, jika kita mulai menggunakan model kita dalam aplikasi nyata untuk menguji variabel hasil dan menggunakan skor prediksi dalam aplikasi, maka tidak akan apa-apa untuk menghapus pencilan (terutama jika jumlahnya banyak seperti yang Anda sebutkan)? Apakah ini yang Anda maksud?Saya percaya masuk akal untuk menghilangkan pencilan ketika seseorang memiliki alasan kualitatif yang kuat untuk melakukannya. Maksud saya, seseorang memiliki informasi bahwa variabel lain, yang tidak ada dalam model, berdampak pada pengamatan outlier. Maka seseorang memiliki pilihan untuk menghapus outlier atau menambahkan variabel tambahan.
Saya menemukan bahwa ketika saya memiliki pengamatan outlier dalam dataset saya, dengan mempelajari untuk menentukan mengapa outlier itu ada, saya belajar lebih banyak tentang data saya dan kemungkinan model lain untuk dipertimbangkan.
sumber
Saya bahkan tidak yakin bahwa mereka "outliers". Anda mungkin ingin terlihat membuat plot probabilitas normal. Apakah mereka data atau residu dari pemasangan model?
sumber