Проблема: я работаю над проектом, в котором используются файлы журналов, аналогичные тем, которые находятся в пространстве мониторинга ИТ (насколько я понимаю, пространство ИТ). Эти файлы журнала представляют собой данные временных рядов, организованные в сотни / тысячи строк с различными параметрами. Каждый параметр является числовым (с плавающей запятой), и для каждого момента времени существует нетривиальное значение / значение без ошибок. Моя задача состоит в том, чтобы отслеживать указанные файлы журналов на предмет обнаружения аномалий (скачков, падений, необычных шаблонов с некоторыми несогласованными параметрами, странного 1/2 / и т. Д. Производного поведения и т. Д.).
В аналогичном задании я пробовал Splunk с Prelert, но сейчас я изучаю варианты с открытым исходным кодом.
Ограничения: я ограничиваю себя Python, потому что я хорошо его знаю и хотел бы отложить переход на R и связанную с этим кривую обучения. Если, кажется, не существует подавляющей поддержки R (или других языков / программного обеспечения), я бы хотел использовать Python для этой задачи.
Кроме того, я работаю в среде Windows на данный момент. Я хотел бы продолжить изолированную программную среду в Windows для небольших файлов журнала, но при необходимости могу перейти в среду Linux.
Ресурсы: я проверил следующее с тупиками в качестве результатов:
Python или R для реализации алгоритмов машинного обучения для обнаружения мошенничества . Некоторая информация здесь полезна, но, к сожалению, я изо всех сил пытаюсь найти правильный пакет, потому что:
Твиттер "AnomalyDetection" находится в R, и я хочу придерживаться Python. Кроме того, особенность порта Python, кажется, вызывает проблемы при реализации в среде Windows для меня.
Skyline, моя следующая попытка, похоже, в значительной степени прекращена (из-за проблем с github ). Я не углубился в это, учитывая, как мало поддержки, кажется, онлайн.
scikit-learn, я все еще изучаю, но это, кажется, намного больше руководства. Подход "подавление сорняков" - это нормально для меня, но мой опыт работы с инструментами обучения слаб, поэтому я хотел бы что-то вроде черного ящика для технических аспектов, таких как алгоритмы, подобные Splunk + Prelert.
Определение проблемы и вопросы: я ищу программное обеспечение с открытым исходным кодом, которое может помочь мне в автоматизации процесса обнаружения аномалий из файлов журналов временных рядов в Python с помощью пакетов или библиотек.
- Существуют ли такие вещи, чтобы помочь с моей непосредственной задачей, или они воображаемы в моем уме?
- Может ли кто-нибудь помочь с конкретными шагами, чтобы помочь мне в достижении моей цели, в том числе базовых основ или концепций?
- Является ли это лучшим сообществом StackExchange, или Stats, Math или даже Security или Stackoverflow - лучшие варианты?
РЕДАКТИРОВАТЬ [2015-07-23] Обратите внимание, что последнее обновление для Py ОС, похоже, исправлено для среды Windows! Я еще не подтвердил, но должен стать еще одним полезным инструментом для сообщества.
РЕДАКТИРОВАТЬ [2016-01-19] Небольшое обновление. У меня не было времени поработать над этим и исследовать, но я делаю шаг назад, чтобы понять основы этой проблемы, прежде чем продолжать исследовать конкретные детали. Например, я предпринимаю два конкретных шага:
Начиная со статей в Википедии для обнаружения аномалий [ https://en.wikipedia.org/wiki/Anomaly_detection ], полностью понимая, а затем перемещаясь вверх или вниз в иерархии концепций других связанных статей Википедии, таких как [ https: // en.wikipedia.org/wiki/K-nearest_neighbors_algorithm ], а затем на [ https://en.wikipedia.org/wiki/Machine_learning ].
Изучение методов в великих обзорах, проведенных Чандолой и др. 2009 «Обнаружение аномалий: опрос» [ http://www-users.cs.umn.edu/~banerjee/papers/09/anomaly.pdf ] и Ходж и др. 2004 «Обзор методологий обнаружения выбросов» [ http://eprints.whiterose.ac.uk/767/1/hodgevj4.pdf ].
Как только концепции будут лучше поняты (я надеюсь поэкспериментировать с игрушечными примерами по мере развития практической стороны), я надеюсь понять, какие инструменты Python с открытым исходным кодом лучше подходят для моих задач.