Contesto del problema: sto lavorando a un progetto che prevede file di registro simili a quelli presenti nello spazio di monitoraggio IT (per la mia migliore comprensione dello spazio IT). Questi file di registro sono dati di serie temporali, organizzati in centinaia / migliaia di righe di vari parametri. Ogni parametro è numerico (float) e esiste un valore non banale / non errore per ogni punto temporale. Il mio compito è monitorare i suddetti file di registro per il rilevamento di anomalie (picchi, cadute, schemi insoliti con alcuni parametri non sincronizzati, strano comportamento derivato 1 ° / 2 ° / ecc., Ecc.).
Su un incarico simile, ho provato Splunk con Prelert, ma al momento sto esplorando le opzioni open source.
Vincoli: mi sto limitando a Python perché lo conosco bene e vorrei ritardare il passaggio a R e la curva di apprendimento associata. A meno che non sembri esserci un supporto schiacciante per R (o altri linguaggi / software), vorrei attenermi a Python per questo compito.
Inoltre, sto lavorando in un ambiente Windows per il momento. Vorrei continuare a sandbox in Windows su file di registro di piccole dimensioni ma, se necessario, posso passare all'ambiente Linux.
Risorse: ho verificato quanto segue con i vicoli ciechi:
Python o R per l'implementazione di algoritmi di machine learning per il rilevamento di frodi . Alcune informazioni qui sono utili, ma sfortunatamente, faccio fatica a trovare il pacchetto giusto perché:
"AnomalyDetection" di Twitter è in R e voglio attenermi a Python. Inoltre, la ciclicità della porta Python sembra causare problemi nell'implementazione in ambiente Windows per me.
Skyline, il mio prossimo tentativo, sembra essere stato praticamente interrotto (da problemi di github ). Non mi sono tuffato in profondità in questo, dato quanto poco supporto sembra esserci online.
scikit-learn Sto ancora esplorando, ma questo sembra essere molto più manuale. L'approccio down-in-the-weeds è OK per me, ma il mio background negli strumenti di apprendimento è debole, quindi vorrei qualcosa come una scatola nera per gli aspetti tecnici come gli algoritmi, simile a Splunk + Prelert.
Definizione del problema e domande: sto cercando un software open source che possa aiutarmi ad automatizzare il processo di rilevamento delle anomalie dai file di registro delle serie temporali in Python tramite pacchetti o librerie.
- Esistono cose del genere che mi aiutano nel mio compito immediato o sono immaginarie nella mia mente?
- Qualcuno può aiutarmi con passi concreti per aiutarmi a raggiungere il mio obiettivo, inclusi concetti o concetti di base?
- È la migliore community di StackExchange a cui rivolgersi o Stat, Math o persino Security o Stackoverflow sono le opzioni migliori?
EDIT [23-07-2015] Si noti che l'ultimo aggiornamento alla ciculiarità sembra essere stato risolto per l'ambiente Windows! Devo ancora confermare, ma dovrebbe essere un altro strumento utile per la comunità.
EDIT [19-01-2016] Un aggiornamento minore. Non ho avuto il tempo di lavorare su questo e sulla ricerca, ma sto facendo un passo indietro per capire i fondamenti di questo problema prima di continuare a ricercare in dettagli specifici. Ad esempio, due passi concreti che sto prendendo sono:
A partire dagli articoli di Wikipedia per il rilevamento di anomalie [ https://en.wikipedia.org/wiki/Anomaly_detection ], comprendendo appieno e quindi spostandosi verso l'alto o verso il basso nella gerarchia dei concetti di altri articoli di Wikipedia collegati, come [ https: // en.wikipedia.org/wiki/K-nearest_neighbors_algorithm ], quindi su [ https://en.wikipedia.org/wiki/Machine_learning ].
Esplorazione delle tecniche nei grandi sondaggi condotti da Chandola et al 2009 "Anomaly Detection: A Survey" [ http://www-users.cs.umn.edu/~banerjee/papers/09/anomaly.pdf ] e Hodge et al 2004 "Un sondaggio sulle metodologie di rilevamento anomalo" [ http://eprints.whiterose.ac.uk/767/1/hodgevj4.pdf ].
Una volta che i concetti saranno meglio compresi (spero di giocare con esempi di giocattoli mentre vado a sviluppare anche il lato pratico), spero di capire quali strumenti Python open source sono più adatti ai miei problemi.