Memilih nilai k untuk analisis deteksi Local Outlier Factor (LOF)

9

Saya memiliki satu set data tiga dimensi, dan saya mencoba menggunakan analisis Local Outlier Factor untuk mengidentifikasi nilai yang paling unik atau aneh. Bagaimana seseorang memutuskan nilai k untuk digunakan dalam analisis LOF? Saya mengerti apa yang menentukan nilai-k, dan jadi saya tidak terkejut bahwa saya melihat hasil yang sedikit berbeda menggunakan k yang berbeda, tetapi saya tidak yakin apakah ada karakteristik dataset saya yang harus mendorong saya ke satu nilai di atas yang lain . Terima kasih!

Henry D
sumber

Jawaban:

10

Posting ini di sini untuk siapa saja yang menemukan pertanyaan saya di masa depan - makalah asli yang menggambarkan algoritma faktor pencilan lokal, "LOF: Mengidentifikasi Pencilan Lokal Berbasis Kepadatan" (Breunig et al), merekomendasikan metode pemilihan nilai-k . Sebagai pengingat, algoritma LOF membandingkan kepadatan setiap titik dengan kepadatan yang tetangga -Terdekat. Penulis makalah ini merekomendasikan untuk memilih minimum dan maksimum , dan untuk setiap titik, mengambil nilai LOF maksimum di atas setiap dalam rentang itu. Mereka menawarkan beberapa panduan untuk memilih batas.kkkk

Untuk nilai minimum, nilai LOF berfluktuasi dengan liar titik-titik dalam distribusi seragam untuk , dengan titik-titik dalam distribusi seragam kadang-kadang muncul sebagai outlier, sehingga mereka merekomendasikan setidaknya . Kedua, nilai minimum berfungsi sebagai ukuran minimum untuk sesuatu yang dianggap sebagai "cluster", sehingga poin dapat outlier relatif terhadap cluster itu. Jika , dan Anda memiliki grup poin dan poin , setiap poin dalam grup akan menyertakan di tetangga terdekatnya, dan akan memasukkan poin-poin itu, membuat mereka memiliki LOF yang sangat mirip. Jadi, jika Anda ingin mempertimbangkan titik dekat sekelompokk<10msayan(k)=10kk=1512halhalhalNpoin sebagai outlier, bukan bagian dari kelompok itu, nilai k Anda harus setidaknya .N

Untuk nilai maksimum, kriteria yang sama berlaku, dalam hal itu harus menjadi jumlah maksimum objek yang Anda ingin dianggap outlier jika dikelompokkan bersama. Sekelompok objek diisolasi dari set utama dapat berupa cluster, atau outlier ; untuk , mereka akan menjadi yang pertama; untuk , mereka akan menjadi yang kedua.NNk<Nk>N

Semoga ini membantu siapa pun dengan masalah yang sama. Makalah lengkapnya ada di sini , dan pembahasan nilai-nilai maks / min k dimulai pada halaman 7 dan berlanjut ke halaman 9. (Mereka merujuk pada nilai- sebagai MinPts .)k

Henry D
sumber
Hanya ingin mengerti satu hal. Katakanlah untuk set data apa pun saya pilih k = 20 dan menghasilkan LOF untuk setiap titik dan kemudian saya menunjukkan semua poin dalam urutan LOF yang menurun. Sekarang ketika saya menganalisis data saya dapat memilih rentang sampai yang saya pikir data adalah pencilan (sesuai pengetahuan domain) Apakah Anda pikir ini membantu ?? Saya hanya saya karena sekarang saya tidak perlu khawatir tentang nilai k dan saya menggunakan pengetahuan domain saya untuk menganalisis outlier sesuai dengan peringkat LOF. Terima kasih,
Swapnil Bhure