Apakah curang untuk menjatuhkan outlier berdasarkan pada boxplot Mean Absolute Error untuk meningkatkan model regresi


15

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?

masukkan deskripsi gambar di sini


1
(1) Saya melihat hasil untuk empat metode, bukan tiga. (2) Bagaimana menghapus bukti kemampuan prediksi dapat meningkatkan metode?
whuber

@whuber (1) sudah diperbaiki. Untuk (2), jadi maksud Anda menghapus contoh yang diprediksi sangat tidak akurat, tidak akan menghasilkan kinerja prediksi yang lebih baik secara keseluruhan (ini yang saya maksudkan dengan "model perbaikan" ?
renakre

7
menghapus pengamatan untuk alasan apa pun (katakanlah 4 poin yang paling tidak pas) itu sendiri adalah pilihan model. Anda harus mengevaluasi kinerja peramalan ini pilihan model kedua juga . Poin penting adalah untuk menjaga integritas set tes akhir yang digunakan untuk mengevaluasi kinerja metode prediksi keseluruhan. Tidak jelas dari pertanyaan Anda apakah Anda berencana untuk mereparasi model (Lasso dll) setelah penghapusan data yang diprediksi buruk.
user603

2
Sebagai komentar sampingan, saya akan menambahkan bahwa kadang-kadang nilai besar disembunyikan di outlier dan layak untuk berhati-hati melihatnya.
Dror Atariah

@DrorAtariah Terima kasih Dror, saya setuju. Kasus ekstrem sangat berharga.
renakre

Jawaban:


22

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 .

F=-kΔx,
FkΔx

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


2
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] ~
user603

1
Saya tidak setuju, "Selalu curang untuk menghapus pencilan untuk meningkatkan model regresi." ada banyak alat untuk melakukan diagnosa regresi, dan tujuannya adalah mendeteksi dan "menghapus" outlier dan mereparasi model.
Haitao Du

6
@ hxd1011 alat-alat seperti Grubbs tidak untuk secara otomatis menghapus pencilan. Mereka hanya menunjukkan bahwa mungkin ada outlier, maka Anda memutuskan apakah itu outlier. Ini adalah pendekatan yang sangat berbahaya untuk meningkatkan diagnosa kecocokan dengan menghapus outlier secara otomatis. Anda harus menganalisis kasus per kasus.
Aksakal

2
OK saya mengerti. Bahasa asli saya terlalu kaku. Saya mengedit kalimat pembuka. Terima kasih atas umpan balik ke komentator
Aksakal

1
@renakre, jika Anda tidak berpikir ini outlier, maka jangan hapus pengamatan. Namun, yang mungkin perlu Anda pertimbangkan adalah ukuran kebaikan perkiraan selain kesalahan kuadrat. Misalnya, jika contoh ini tidak begitu penting bagi Anda, maka mungkin Anda tidak perlu menimbangnya di bujur sangkar, dan sebaliknya menggunakan deviasi absolut dll. Ukuran tersebut harus mencerminkan pentingnya kesalahan perkiraan, seperti kerugian dolar pada setiap kesalahan prediksi . Juga, fakta bahwa ini adalah penghitungan tidak secara otomatis berarti bahwa tidak ada kesalahan instrumen, plugin halaman web yang menghitung klik mungkin gagal
Aksakal

4

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:

  • Mengapa distribusi memiliki jumlah pengamatan ini turun pada bilangan bulat?
  • mengapa penurunan jumlah pengamatan ini tidak terjadi pada 0?
  • Apa yang istimewa dari outlier ini sehingga outlier?

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.


+1. Kesenjangan bilangan bulat tampaknya tidak selalu benar pada bilangan bulat, jadi mungkin lebih banyak dari kita melihat pola yang tidak ada, tetapi itu bisa menjadi artefak pengumpulan data, pengkodean, atau diskritisasi yang bisa menjelaskan pada data secara keseluruhan. Bahkan mungkin ada celah pada 0 yang dikaburkan oleh sejumlah besar titik yang tumpang tindih dan mungkin gelisah. Pasti layak mengejar kembali ke asal untuk melihat apakah data itu yang kita pikirkan.
Wayne

2

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.


3
Saya tidak keberatan dipecat, tetapi bisakah seseorang memberi tahu saya alasannya?
Haitao Du

Saya terbalik :) Apakah Anda juga berpikir itu adalah ide yang bagus untuk menghapus outlier dan kemudian menguji ulang data untuk pengujian lebih lanjut model prediksi?
renakre

1
@renakre saya akan menyarankan Anda untuk memikirkan apa yang harus dilakukan dalam produksi. Katakanlah, jika Anda menemukan outlier hanya 1%, dan tidak apa-apa untuk menghasilkan output dalam produksi. Kemudian hapus saja. Jika Anda menemukan outlier adalah 30%, dan tidak apa-apa untuk melewatkan prediksi dalam produksi. Kemudian cobalah untuk memiliki model terpisah untuk itu.
Haitao Du

Kami sebagian besar menguji hal-hal untuk melihat apakah kami dapat memprediksi beberapa variabel hasil. Apakah if it is fine to produce no output in productionartinya 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?
renakre

1
@renakre Anda mati! Itulah yang kami lakukan baru-baru ini dengan AITOBOX di mana batas perkiraan tidak hanya didasarkan pada bobot psi tetapi kesalahan sampel ulang yang dihuni dengan outlier. Ini dilakukan tidak hanya untuk model ARIMA tetapi juga model kausal di mana ketidakpastian dalam prediktor juga digabungkan dengan cara yang serupa.
IrishStat

2

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.


1
Selamat datang di stats.SE! Silakan luangkan waktu sejenak untuk melihat tur kami . Akan sangat membantu jika Anda memperluas jawaban Anda untuk lebih sepenuhnya menjawab pertanyaan (seperti penentuan outlier berdasarkan boxplot, dampak metode ini pada model prediksi, & c.).
Tavrock

2

Saya bahkan tidak yakin bahwa mereka "outliers". Anda mungkin ingin terlihat membuat plot probabilitas normal. Apakah mereka data atau residu dari pemasangan model?


mereka adalah perbedaan antara nilai-nilai yang diprediksi dan nyata.
renakre
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.