Python中的开源异常检测
问题背景: 我正在从事一个项目,该项目涉及类似于IT监视空间中的日志文件(以我对IT空间的最佳理解)。这些日志文件是时间序列数据,组织成成百上千的各种参数的行。每个参数都是数字(浮点),并且每个时间点都有一个非平凡/非错误的值。我的任务是监视所述日志文件以进行异常检测(峰值,跌落,某些参数不同步的异常模式,奇怪的1st / 2nd / etc。派生行为等)。 在类似的任务中,我曾在Prelert尝试过Splunk,但此刻我正在探索开源选项。 限制: 我限制自己使用Python,因为我很了解Python,并希望延迟切换到R和相关的学习过程。除非似乎对R(或其他语言/软件)提供了压倒性的支持,否则我将坚持使用Python来完成此任务。 另外,我目前正在Windows环境中工作。我想继续在Windows上的小型日志文件上进行沙箱测试,但是如果需要的话可以移至Linux环境。 资源: 我已经检查了以下带有死角的结果: 的Python或R用于实现机器学习算法用于欺诈检测。这里的一些信息是有帮助的,但是不幸的是,我正在努力寻找合适的包装,因为: Twitter的“ AnomalyDetection”在R中,我想坚持使用Python。此外,Python端口特性对我来说似乎在Windows环境中实现时会引起问题。 我下一次尝试的天际线似乎已经停产了(来自github issue)。鉴于似乎很少有在线支持,所以我没有深入研究这一点。 scikit-learn我仍在探索中,但这似乎更加手动。杂草丛生的方法对我来说是可以的,但是我在学习工具方面的背景很薄弱,因此对于像Splunk + Prelert这样的技术方面来说,就像黑盒子一样。 问题定义和问题: 我正在寻找开源软件,该软件可以帮助我自动通过包或库从Python中的时间序列日志文件进行异常检测过程。 是否存在这样的事情来辅助我的紧迫任务,或者它们在我心中是虚构的? 任何人都可以协助具体步骤来帮助我实现我的目标,包括背景基础知识或概念吗? 这是最好的StackExchange社区,还是Stats,Math甚至Security或Stackoverflow是更好的选择? 编辑[2015-07-23] 请注意,对于pyculiarity的最新更新似乎已在Windows环境中修复!我尚未确认,但是应该成为社区的另一个有用工具。 编辑[2016-01-19] 较小更新。我没有时间进行此工作和研究,但是在继续进行具体细节研究之前,我已退后一步来了解此问题的基本原理。例如,我正在采取的两个具体步骤是: 从用于异常检测的Wikipedia文章开始[ https://en.wikipedia.org/wiki/Anomaly_detection ],全面理解,然后在其他链接的Wikipedia文章的概念层次结构中上移或下移,例如[ https:// en.wikipedia.org/wiki/K-nearest_neighbors_algorithm ],然后转到[ https://en.wikipedia.org/wiki/Machine_learning ]。 在Chandola等人2009年“异常检测:调查” [ http://www-users.cs.umn.edu/~banerjee/papers/09/anomaly.pdf ]和Hodge等人2004年所做的大型调查中探索技术。“异常值检测方法概述” [ http://eprints.whiterose.ac.uk/767/1/hodgevj4.pdf ]。 一旦更好地理解了这些概念(我希望在开发实际方面时也能玩一些玩具示例),我希望了解哪种开源Python工具更适合我的问题。