Latar Belakang Masalah: Saya sedang mengerjakan proyek yang melibatkan file log mirip dengan yang ditemukan di ruang pemantauan TI (untuk pemahaman terbaik saya tentang ruang TI). File log ini adalah data deret waktu, disusun dalam ratusan / ribuan baris berbagai parameter. Setiap parameter bersifat numerik (float) dan ada nilai non-sepele / non-kesalahan untuk setiap titik waktu. Tugas saya adalah memonitor file-file log tersebut untuk pendeteksian anomali (paku, jatuh, pola yang tidak biasa dengan beberapa parameter tidak sinkron, aneh 1/2 / dll. Perilaku turunan, dll.).
Pada tugas yang sama, saya telah mencoba Splunk dengan Prelert, tetapi saya sedang mengeksplorasi opsi open-source saat ini.
Kendala: Saya membatasi diri untuk Python karena saya tahu betul, dan ingin menunda beralih ke R dan kurva belajar yang terkait. Kecuali jika tampaknya ada dukungan luar biasa untuk R (atau bahasa / perangkat lunak lain), saya ingin tetap menggunakan Python untuk tugas ini.
Juga, saya bekerja di lingkungan Windows untuk saat ini. Saya ingin melanjutkan ke sandbox di Windows pada file log berukuran kecil tetapi dapat pindah ke lingkungan Linux jika diperlukan.
Sumber: Saya telah memeriksa yang berikut dengan jalan buntu sebagai hasilnya:
Python atau R untuk mengimplementasikan algoritma pembelajaran mesin untuk deteksi penipuan . Beberapa info di sini bermanfaat, tetapi sayangnya, saya kesulitan menemukan paket yang tepat karena:
"AnomalyDetection" Twitter ada di R, dan saya ingin tetap menggunakan Python. Selanjutnya, port Python pyculiarity tampaknya menyebabkan masalah dalam menerapkan di lingkungan Windows untuk saya.
Skyline, upaya saya berikutnya, tampaknya telah cukup banyak dihentikan (dari masalah github ). Saya belum merenungkan hal ini, mengingat betapa sedikitnya dukungan yang ada untuk online.
scikit-belajar saya masih menjelajahi, tetapi ini tampaknya jauh lebih manual. Pendekatan down-in-the-weeds OK bagi saya, tetapi latar belakang saya dalam alat pembelajaran lemah, jadi ingin sesuatu seperti kotak hitam untuk aspek teknis seperti algoritma, mirip dengan Splunk + Prelert.
Definisi Masalah dan Pertanyaan: Saya mencari perangkat lunak open-source yang dapat membantu saya dengan mengotomatisasi proses deteksi anomali dari file log time-series dalam Python melalui paket atau pustaka.
- Apakah hal-hal seperti itu ada untuk membantu tugas langsung saya, atau mereka imajiner dalam pikiran saya?
- Adakah yang bisa membantu dengan langkah konkret untuk membantu saya mencapai tujuan saya, termasuk dasar-dasar atau konsep latar belakang?
- Apakah ini komunitas StackExchange terbaik untuk ditanyakan, atau apakah Stats, Math, atau bahkan Security atau Stackoverflow adalah pilihan yang lebih baik?
EDIT [2015-07-23] Perhatikan bahwa pembaruan terbaru untuk kemewahan sepertinya diperbaiki untuk lingkungan Windows! Saya belum mengkonfirmasi, tetapi harus menjadi alat lain yang bermanfaat bagi masyarakat.
EDIT [2016-01-19] Pembaruan kecil. Saya tidak punya waktu untuk mengerjakan ini dan melakukan penelitian, tetapi saya mengambil langkah mundur untuk memahami dasar-dasar masalah ini sebelum melanjutkan penelitian dengan rincian spesifik. Sebagai contoh, dua langkah konkret yang saya ambil adalah:
Dimulai dengan artikel Wikipedia untuk deteksi anomali [ https://en.wikipedia.org/wiki/Anomaly_detection ], memahami sepenuhnya, dan kemudian bergerak naik atau turun dalam hierarki konsep artikel Wikipedia lainnya yang terhubung, seperti [ https: // en.wikipedia.org/wiki/K-nearest_neighbors_algorithm ], dan kemudian ke [ https://en.wikipedia.org/wiki/Machine_learning ].
Menjelajahi teknik dalam survei besar yang dilakukan oleh Chandola et al 2009 "Anomaly Detection: A Survey" [ http://www-users.cs.umn.edu/~banerjee/papers/09/anomaly.pdf ] dan Hodge et al 2004 "Sebuah Survei Metodologi Deteksi Outlier" [ http://eprints.whiterose.ac.uk/767/1/hodgevj4.pdf ].
Setelah konsep dipahami dengan lebih baik (saya berharap untuk bermain-main dengan contoh mainan saat saya pergi untuk mengembangkan sisi praktis juga), saya berharap untuk memahami alat Python open source yang lebih cocok untuk masalah saya.