Sorun Arka Planı: BT izleme alanında bulunanlara benzer günlük dosyaları içeren bir proje üzerinde çalışıyorum (BT alanını en iyi anladığım kadarıyla). Bu günlük dosyaları, yüzlerce / binlerce sıradaki çeşitli parametreler halinde düzenlenmiş zaman serisi verileridir. Her parametre sayısaldır (kayan nokta) ve her zaman noktası için önemsiz / hata olmayan bir değer vardır. Görevim, söz konusu log dosyalarını anomali tespiti için izlemektir (ani, düşme, bazı parametrelerin senkronize olmadığı, garip 1/2 / vb. Türev davranışları, vb.).
Benzer bir görevde, Prelert ile Splunk'u denedim, ama şu anda açık kaynak seçenekleri araştırıyorum.
Kısıtlamalar: Kendimi Python ile sınırlandırıyorum, çünkü bunu iyi biliyorum ve R'ye ve ilişkili öğrenme eğrisine geçişi geciktirmek istiyorum. R (ya da diğer diller / yazılımlar) için çok büyük bir destek olmadığı sürece, bu görev için Python'a bağlı kalmak istiyorum.
Ayrıca, şu an bir Windows ortamında çalışıyorum. Windows'ta küçük boyutlu günlük dosyalarında gezinmeye devam etmek istiyorum ancak gerektiğinde Linux ortamına geçebilirim.
Kaynaklar: Aşağıdakileri çıkmazlarla sonuç olarak kontrol ettim:
Python veya sahtekarlık tespiti için makine öğrenme algoritmaları uygulamak için Ar . Buradaki bazı bilgiler yardımcı olabilir, ancak ne yazık ki doğru paketi bulmakta zorlanıyorum çünkü:
Twitter'ın "AnomalyDetection" si R'de ve Python'a bağlı kalmak istiyorum. Ayrıca, Python portu gizliliği benim için Windows ortamında uygulamada sorunlara neden gibi görünüyor.
Bir sonraki girişimim olan Skyline ( github konularından ) oldukça fazla durmuş görünüyor . Ne kadar az destek online göründüğü göz önüne alındığında, bu konuda derin dalmadım.
scikit-learn Hala araştırıyorum, ancak bu çok daha manuel görünüyor. Yabancı otları aşma yaklaşımı benim için sorun değil, ancak öğrenme araçlarındaki geçmişim zayıf, bu yüzden algoritmalar gibi teknik yönler için Splunk + Prelert'e benzer bir kara kutu gibi bir şey istiyorum.
Problem Tanımı ve Sorular: Python'daki zaman serisi kayıt dosyalarından anormallik tespiti sürecini paketler veya kütüphaneler aracılığıyla otomatik hale getirme konusunda bana yardımcı olabilecek açık kaynaklı bir yazılım arıyorum.
- Acil görevime yardımcı olmak için böyle şeyler var mı, yoksa aklımda hayali mi var?
- Herhangi biri, geçmişe dayanan temeller veya kavramlar dahil olmak üzere hedefime yardım etmek için somut adımlarda yardımcı olabilir mi?
- Bu sorulacak en iyi StackExchange topluluğu mu, yoksa İstatistikler, Matematik, hatta Güvenlik veya Stackoverflow daha iyi seçenekler mi?
EDIT [2015-07-23] Pyculiarity'deki son güncellemenin Windows ortamı için sabit göründüğünü unutmayın ! Onaylamamıştım ama topluluk için başka bir faydalı araç olmalı.
EDIT [2016-01-19] Küçük bir güncelleme. Bu konuda çalışmak ve araştırma yapmak için zamanım olmadı, ancak belirli ayrıntılarda araştırmaya devam etmeden önce bu sorunun temellerini anlamak için bir adım geri atıyorum. Örneğin, attığım iki somut adım:
Anomali tespiti için Wikipedia makaleleriyle başlayarak [ https://en.wikipedia.org/wiki/Anomaly_detection ], tamamen anlayın ve sonra [ https: // gibi diğer bağlantılı Wikipedia makalelerinin konsept hiyerarşisinde yukarı veya aşağı hareket edin. en.wikipedia.org/wiki/K-nearest_neighbors_algorithm ] ve sonra [ https://en.wikipedia.org/wiki/Machine_learning ].
Chandola ve arkadaşları tarafından 2009 yılında yapılan "Anomaly Detection: A Survey" [ http://www-users.cs.umn.edu/~banerjee/papers/09/anomaly.pdf ] ve Hodge ve diğerleri 2004 tarafından yapılan harika araştırmalardaki teknikleri keşfetme "Outlier Tespit Metodolojileri Anketi" [ http://eprints.whiterose.ac.uk/767/1/hodgevj4.pdf ].
Kavramlar daha iyi anlaşıldıktan sonra (pratik tarafı da geliştirmeye devam ederken oyuncak örnekleri ile oynamayı umuyorum), hangi açık kaynaklı Python araçlarının problemlerime daha uygun olduğunu anlamayı umuyorum.