Misalkan saya memiliki kumpulan data: Amount of money (100, 50, 150, 200, 35, 60 ,50, 20, 500)
. Saya telah Googled web mencari teknik yang dapat digunakan untuk menemukan outlier mungkin dalam set data ini tapi akhirnya aku bingung.
Pertanyaan saya adalah : Algoritme, teknik atau metode apa yang dapat digunakan untuk mendeteksi kemungkinan pencilan dalam kumpulan data ini?
PS : Pertimbangkan bahwa data tidak mengikuti distribusi normal. Terima kasih.
algorithms
outlier
Nation Chirara
sumber
sumber
Jawaban:
Anda dapat menggunakan BoxPlot untuk analisis outlier. Saya akan menunjukkan kepada Anda bagaimana melakukannya dengan Python:
Pertimbangkan data Anda sebagai sebuah array:
Sekarang, gunakan seaborn untuk memplot boxplot:
Jadi, Anda akan mendapatkan plot yang terlihat seperti ini:
Sepertinya 500 adalah satu-satunya outlier bagi saya. Tapi, itu semua tergantung pada analisis dan tingkat toleransi analis atau ahli statistik dan juga pernyataan masalah.
Anda dapat melihat salah satu jawaban saya di CrossValidated SE untuk tes lebih lanjut.
Dan ada beberapa pertanyaan bagus tentang outlier dan algoritma dan teknik untuk mendeteksi mereka.
Favorit pribadi saya adalah teknik jarak Mahalanobis .
sumber
Salah satu cara berpikir deteksi outlier adalah bahwa Anda membuat model prediktif, kemudian Anda memeriksa untuk melihat apakah suatu titik berada dalam kisaran prediksi. Dari sudut pandang teori-informasi, Anda dapat melihat seberapa banyak setiap pengamatan meningkatkan entropi model Anda.
Jika Anda memperlakukan data ini hanya sebagai kumpulan angka, dan Anda tidak memiliki beberapa model yang diusulkan untuk bagaimana mereka dihasilkan, Anda mungkin juga hanya melihat rata-rata. Jika Anda yakin angka-angka tersebut tidak terdistribusi secara normal, Anda tidak dapat membuat pernyataan tentang seberapa jauh 'off' angka yang diberikan dari rata-rata, tetapi Anda bisa melihatnya secara absolut.
Dengan menerapkan ini, Anda dapat mengambil rata-rata semua angka, lalu mengecualikan setiap angka dan mengambil rata-rata lainnya. Rata-rata mana pun yang paling berbeda dari rata-rata global adalah pencilan terbesar. Inilah beberapa python:
sumber
Pendekatan sederhana akan menggunakan hal yang sama dengan plot kotak: jauh dari 1,5 (median-q1) atau 1,5 (q3-median) = outlier.
Saya menemukan itu berguna dalam banyak kasus walaupun tidak sempurna dan mungkin terlalu sederhana.
Ini memiliki keuntungan untuk tidak menganggap normal.
sumber