Konteks: Saya sedang mengembangkan sistem yang menganalisis data klinis untuk menyaring data tidak masuk akal yang mungkin salah ketik.
Apa yang saya lakukan sejauh ini:
Untuk mengukur masuk akal, upaya saya sejauh ini adalah untuk menormalkan data dan kemudian menghitung nilai masuk akal untuk titik p berdasarkan jaraknya ke titik data yang diketahui di set D (= set pelatihan):
Dengan kuantifikasi itu, saya kemudian dapat memilih ambang yang memisahkan data yang masuk akal dari data yang tidak masuk akal. Saya menggunakan python / numpy.
Masalah saya:
- Algoritma ini tidak dapat mendeteksi dimensi independen. Idealnya, saya bisa memasukkan apa pun yang saya ketahui tentang catatan ke dalam algoritma dan membiarkannya mengetahui sendiri bahwa dimensi X tidak memengaruhi masuk akalnya catatan tersebut.
- Algoritma tidak benar-benar berfungsi untuk nilai-nilai diskrit seperti boolean atau input terpilih. Mereka dapat dipetakan pada nilai kontinu, tetapi berlawanan intuitif bahwa Select 1 lebih dekat ke Select 2 daripada Select 3.
Pertanyaan:
Algoritme seperti apa yang harus saya perhatikan untuk tugas ini? Tampaknya ada banyak pilihan termasuk pendekatan tetangga terdekat, berbasis clustering dan statistik. Juga, saya mengalami kesulitan menemukan makalah yang berhubungan dengan deteksi anomali kompleksitas ini.
Setiap saran sangat dihargai.
[Sunting] Contoh:
Misalkan data terdiri dari Ketinggian Seseorang, Bobot Seseorang dan Stempel Waktu - jadi ini 3D-Data. Berat dan Tinggi berkorelasi, tetapi stempel waktu sepenuhnya independen. Jika saya hanya mempertimbangkan jarak euclidean, saya harus memilih ambang kecil agar sesuai dengan sebagian besar data validasi silang saya. Idealnya, algoritma hanya akan mengabaikan dimensi timestamp, karena tidak relevan untuk menentukan apakah suatu catatan masuk akal, karena timestamp tidak berkorelasi dengan dimensi lain dengan cara apa pun. Stempel waktu apa pun masuk akal.
Di sisi lain, orang bisa membuat contoh di mana cap waktu itu penting. Misalnya bisa jadi nilai Y untuk fitur X masuk akal ketika diukur sebelum tanggal tertentu, tetapi tidak setelah tanggal tertentu.
Jawaban:
Formulasi khas dari Anomaly Detection adalah untuk menemukan mean dan varians untuk setiap fitur dari data non anomali dan jika x adalah vektor dari fitur-fitur yang memiliki komponen x i maka tentukan probabilitas p ( x ) dari kombinasi fitur sebagaim x xsaya p ( x )
di mana setiap didistribusikan gaussian: x i ∼ N ( μ i , σ 2 i )xsaya xsaya∼ N( μsaya, σ2saya)
anomali terjadi setiap kalip ( x ) < ϵ
Tetapi untuk menghitung F1 Anda perlu tahu apa yang aneh dan apa yang tidak; yang benar positif adalah ketika sistem memprediksi anomali dan itu sebenarnya adalah anomali, positif palsu diprediksi anomali yang sebenarnya tidak dan sebagainya. Jadi, kecuali Anda memilikinya, maka Anda mungkin harus kembali menebak.
Masalah fitur terkait
sumber
Saya hampir menyelesaikan proyek di mana saya perlu menyelesaikan masalah ini dan saya ingin membagikan solusi saya, kalau-kalau ada yang punya masalah yang sama.
Pertama-tama, pendekatan yang saya jelaskan sangat mirip dengan Kernel Density Estimation . Jadi, itu baik untuk diketahui untuk penelitian ...
Fitur Independen
Berhati-hatilah: koefisien korelasi hanya dapat mengukur korelasi linear. Lihat halaman wiki yang tertaut untuk detailnya. Jika korelasi dalam data dapat diperkirakan secara linear, ini berfungsi dengan baik. Jika tidak, Anda harus melihat halaman terakhir makalah ini dan melihat apakah Anda dapat menggunakan pengukuran korelasinya untuk menghasilkan faktor penskalaan.
Nilai diskrit
Saya menggunakan algoritma yang dijelaskan hanya untuk nilai-nilai berkelanjutan. Nilai diskrit digunakan untuk menyaring set pelatihan. Jadi jika saya memiliki tinggi dan berat badan seseorang dan saya tahu bahwa dia perempuan, saya hanya akan melihat sampel dari perempuan lain untuk memeriksa anomali.
sumber