Deteksi outlier menggunakan regresi

11

Dapatkah regresi digunakan untuk deteksi lier. Saya mengerti bahwa ada cara untuk meningkatkan model regresi dengan menghapus outlier. Tetapi tujuan utama di sini bukan untuk mencocokkan model regresi tetapi mencari tahu liers menggunakan regresi

pengguna48567
sumber
Ketika fit membaik setelah memasang model tanpa outlayer, ada bukti bahwa ini adalah nilai ekstrem. Ini mungkin bisa diperdebatkan jika Anda memiliki banyak data, karena kecocokan akan relatif kurang ditingkatkan.
Roman Luštrik
@ RomanLuštrik: ini adalah definisi outlier yang sangat ragu-ragu. Sebagai contoh, itu tidak konsisten dengan pandangan outlier yang digunakan dalam jawaban Glen_b (atau dalam hal ini definisi outlier yang digunakan dalam buku teks pada subjek seperti "Statistik Kuat: Teori dan Metode"). Ingin mengutip sumber untuk mendukung definisi Anda?
user603
Saya tidak dapat mengutip referensi apa pun. Anda tentu saja benar, apa yang dimaksud dengan peningkatan kecocokan? Perbaikan bisa menjadi masalah yang sangat subyektif dan harus digunakan sebagai panduan, bukan nilai cut-off robot dan dinilai berdasarkan kasus per kasus.
Roman Luštrik
Iteratively Reweighted Least Squares adalah metode regresi yang kuat yang biasa digunakan untuk mencari data dalam data.
whuber

Jawaban:

13

Pilihan terbaik Anda untuk menggunakan regresi untuk menemukan outlier adalah menggunakan regresi yang kuat.

Regresi biasa dapat dipengaruhi oleh pencilan dalam dua cara:

Pertama, outlier ekstrim dalam arah-y pada nilai-x dekat dapat memengaruhi kecocokan di area itu dengan cara yang sama dengan outlier dapat memengaruhi mean.x¯

Kedua, pengamatan 'terluar' dalam ruang-x adalah pengamatan yang berpengaruh - ia dapat menarik kecocokan garis ke arahnya. Jika cukup jauh, garis akan melewati titik berpengaruh:

masukkan deskripsi gambar di sini

Di plot kiri, ada titik yang cukup berpengaruh, dan menarik garis cukup jauh dari sebagian besar data. Di plot yang benar, sudah dipindahkan lebih jauh lagi - dan sekarang garis melewati titik. Ketika nilai-x ekstrem itu, ketika Anda memindahkan titik itu ke atas dan ke bawah, garis bergerak dengan itu, pergi melalui rata-rata dari titik-titik lain dan melalui satu titik berpengaruh.

Poin yang berpengaruh yang sangat konsisten dengan data lainnya mungkin bukan masalah besar, tetapi yang jauh dari garis melalui sisa data akan membuat garis cocok, bukan data.

Jika Anda melihat plot sebelah kanan, garis merah - garis regresi kuadrat terkecil - sama sekali tidak menunjukkan titik ekstrim sebagai outlier - residunya adalah 0. Sebaliknya, residu besar dari garis kuadrat terkecil berada di bagian utama dari data!

Ini berarti Anda benar-benar dapat melewatkan pencilan .

Lebih buruk lagi, dengan regresi berganda, pencilan dalam ruang x mungkin tidak terlihat sangat tidak biasa untuk variabel x tunggal. Jika ada kemungkinan titik seperti itu, berpotensi hal yang sangat berisiko untuk menggunakan regresi kuadrat terkecil.

Regresi yang kuat

Jika Anda cocok dengan garis yang kuat - khususnya yang kuat untuk outlier yang berpengaruh - seperti garis hijau di plot kedua - maka outlier memiliki residu yang sangat besar.

Dalam hal ini, Anda memiliki harapan untuk mengidentifikasi outlier - mereka akan menjadi poin yang tidak - dalam arti tertentu - dekat dengan garis.


Menghapus outlier

Anda tentu saja dapat menggunakan regresi yang kuat untuk mengidentifikasi dan dengan demikian menghapus pencilan.

Tapi begitu Anda memiliki kecocokan regresi yang kuat, yang sudah tidak terpengaruh oleh pencilan, Anda tidak perlu menghapus pencilan - Anda sudah memiliki model yang cocok.

Glen_b -Reinstate Monica
sumber
1
"Anda tidak perlu menghapus outlier" kadang-kadang, menemukan outlier adalah tujuan dari penelitian ini (mis. identifikasi penipuan)
user603
1
@ user603 Saya setuju, cukup sering itu - tetapi menemukan menghapus
Glen_b -Reinstate Monica
3
(+1) Jawaban yang bagus, tapi sayang Anda tidak menyebutkan metode regresi yang kuat. Misalnya bagaimana garis hijau diplot pada subplot kanan (dan mengapa Anda lebih suka algoritma itu daripada yang lain)? Mungkin tautan ini bisa bermanfaat di sini: Regresi linier cepat yang kuat untuk pencilan - bisa dibilang utas terbaik tentang CV yang membahas regresi kuat.
amoeba
-2

Dapatkah regresi digunakan untuk deteksi outlier.

Iya. Jawaban ini dan jawaban Glen_b membahas hal ini.

Tujuan utama di sini bukan untuk mencocokkan model regresi tetapi mencari tahu liers menggunakan regresi

Berdasarkan komentar Roman Lustrik, berikut adalah heuristik untuk menemukan pencilan yang menggunakan regresi (linier berganda).

n

  1. n rtHaitSebuahl

  2. rsaya

  3. rsayartHaitsayarsaya<<rtHaitSebuahlsaya

Mengesampingkan poin kandidat sebelumnya, kita dapat mengulangi seluruh latihan lagi dengan sampel yang dikurangi. Dalam algoritme, kami memilih contoh dalam data yang memengaruhi kecocokan regresi dengan cara yang buruk (yang merupakan salah satu cara untuk memberi label contoh sebagai pencilan).

Theja
sumber
1
Sudahkah Anda mencoba strategi ini pada dataset yang ditampilkan di sini ? Lebih mendasar lagi, strategi Anda sama dengan mengklaim bahwa pencilan dapat ditemukan secara andal dari hasil rantai kecocokan meminimalkan fungsi kehilangan cembung, yang merupakan kekeliruan yang diketahui ketika ada lebih dari satu pencilan tunggal (tautan ini menunjukkan ini untuk masalah terkait menemukan outlier multivariat tetapi hasilnya berlaku untuk regresi juga).
user603
Saya senang menghapus jawaban saya. Tetapi pertama-tama, saya tidak mengerti kedua referensi yang Anda berikan dan terlebih lagi, saya tidak yakin mengapa mereka membuat jawaban saya salah. Di mana 'strategi' adalah referensi pertama? Bisakah Anda menunjuk ke jawaban spesifik di sana? Halaman dan baris mana dari referensi kedua yang relevan di sini dan membahas tentang 'kekeliruan'?
Theja
1
Maaf, saya hanya bisa kembali ke sini sekarang. Bagian komentar agak pendek untuk memberikan contoh dan saya tidak akan menggunakan bagian 'Jawab' karena ini bukan pertanyaan OP. Namun, apakah Anda punya waktu untuk mencoba metodologi Anda pada data yang saya tautkan?
user603