Передумови проблеми: я працюю над проектом, який включає файли журналів, аналогічні тим, які знаходяться в просторі моніторингу ІТ (наскільки я найкраще розумію ІТ-простір). Ці файли журналів - це дані часового ряду, впорядковані в сотні / тисячі рядків різних параметрів. Кожен параметр є числовим (поплавком) і існує значення нетривіального / не помилки для кожної точки часу. Моє завдання - відстежувати вказані файли журналів для виявлення аномалії (шипи, падіння, незвичайні зразки, де деякі параметри не синхронізовані, дивна поведінка похідних 1-го / 2-го і т.д. тощо).
У подібному завданні я спробував Splunk з Prelert, але зараз я вивчаю варіанти з відкритим кодом.
Обмеження: я обмежую себе Python, тому що добре знаю це і хочу затримати перехід на R та пов'язану з ним криву навчання. Якщо не здається, що підтримка R (або інших мов / програмного забезпечення) є надзвичайною, я хотів би дотримуватися Python для цього завдання.
Також наразі я працюю в середовищі Windows. Я хотів би продовжувати пісочницю в Windows для невеликих файлів журналів, але при необхідності можна перейти до середовища Linux.
Ресурси: Я перевірив наступне з тупиковими результатами:
Python або R для впровадження алгоритмів машинного навчання для виявлення шахрайства . Деякі відомості тут корисні, але, на жаль, я намагаюся знайти правильний пакет, оскільки:
"AnomalyDetection" у Twitter є R, і я хочу дотримуватися Python. Крім того, пікуліарність порту Python для мене, здається, викликає проблеми при впровадженні в середовищі Windows.
Моя наступна спроба Skyline, здається, була майже припинена (з питань github ). Я не заглиблювався в це, враховуючи те, наскільки мало підтримки в Інтернеті.
scikit-learn Я все ще досліджую, але це, здається, набагато більше посібника. Підхід у боротьбі з бур’янами мені добре, але мій досвід у навчальних інструментах слабкий, тому хотілося б щось подібне до чорного поля для технічних аспектів, таких як алгоритми, схожі на Splunk + Prelert.
Визначення проблеми та питання: Я шукаю програмне забезпечення з відкритим кодом, яке може допомогти мені автоматизувати процес виявлення аномалії з файлів журналів часових рядів в Python через пакети або бібліотеки.
- Чи існують такі речі, щоб допомогти в моєму безпосередньому завданні, чи вони уявні в моїй свідомості?
- Чи може хтось допомогти конкретними кроками, щоб допомогти мені досягти своєї мети, включаючи основні основи чи концепції?
- Це найкраща спільнота StackExchange для запиту, чи кращі варіанти - статистика, математика чи навіть безпека чи Stackoverflow?
EDIT [2015-07-23] Зауважте, що останнє оновлення пікуліарності, здається, виправлене для середовища Windows! Я ще маю підтвердити, але це повинен бути ще одним корисним інструментом для громади.
EDIT [2016-01-19] Незначне оновлення. Я не встиг попрацювати над цим і дослідженням, але я роблю крок назад, щоб зрозуміти основи цієї проблеми, перш ніж продовжувати дослідження конкретних деталей. Наприклад, два конкретні кроки, які я роблю, це:
Починаючи з статей у Вікіпедії для виявлення аномалії [ https://en.wikipedia.org/wiki/Anomaly_detection ], розуміння цілком, а потім або переміщення вгору або вниз в ієрархії концепцій інших пов'язаних статей Вікіпедії, таких як [ https: // en.wikipedia.org/wiki/K-nevable_neighbors_algorithm ], а потім до [ https://en.wikipedia.org/wiki/Machine_learning ].
Вивчення методів у великих опитуваннях, проведених Чандолою та ін 2009 р. "Виявлення аномалії: опитування" [ http://www-users.cs.umn.edu/~banerjee/papers/09/anomaly.pdf ] та Hodge et al 2004 "Огляд методів виявлення випереджаючих" [ http://eprints.whiterose.ac.uk/767/1/hodgevj4.pdf ].
Після того, як поняття будуть краще зрозумілі (я сподіваюся пограти з прикладами іграшок, коли я також збираюся розробити практичну сторону), я сподіваюся зрозуміти, які інструменти Python з відкритим кодом краще підходять для моїх проблем.