怎样评价时间序列异常检测的效果

IT方面的公开可信数据集好像主要集中在安全领域吧,比如Intrusion Detection System 上列了一大把。
但是运维领域的就是不多吧。除了你已经提到的NAB,好像还有 https://yahooresearch.tumblr.com/post/114590420346/a-benchmark-dataset-for-time-series-anomaly
然后日志方面有 logpai/loghub
裴丹前段时间搞的比赛应该是自己提供了公开数据集,但是是不是可信,我觉得现在还不好说。
业余选手,帮你邀请 @张戎

■网友
谢谢邀请。
按照机器学习的观点来看,时间序列异常检测的效果还是可以评估出来的。一般来说,一个机器学习模型的效果可以通过准确率与召回率两个指标来进行衡量。在时间序列异常检测的场景下,
某个模型的准确率可以定义为:
怎样评价时间序列异常检测的效果

其中,模型检测出来的异常量有一些是正确的,有一些是误判,正确的量除以总量就是模型的准确率;
某个模型的召回率可以定义为:
怎样评价时间序列异常检测的效果

其中,所有的异常量是需要事先收集的,然后用某个模型来检测这些数据,如果某个异常能够被检测出来,则表示某个异常能够被召回。异常能够被检测出来的比例,就表示模型的召回率。

■网友
泻药,我们最近有一个很棒的机会与一位伟大的客户合作,要求Business Science构建一个适合他们需求的开源异常检测算法。
原文
http://tecdat.cn/?p=3232业务目标是准确地检测各种营销数据的异常情况,这些数据包括跨多个客户和Web源跨越数千个时间序列的网站操作和营销反馈。输入anomalize:一个整洁的异常检测算法,该算法基于时间(建立在之上tibbletime)并可从一个到多个时间序列进行扩展!我们非常高兴能够为其他人提供这个开源R软件包以使其受益。在这篇文章中,我们将概述anomalize它的作用和方式。
案例研究:当开源利益调整时我们与许多教授数据科学的客户合作,并利用我们的专业知识加速业务发展。然而,很少有客户的需求和他们愿意让其他人受益于我们推动数据科学界限的利益。这是一个例外。
我们的客户遇到了一个具有挑战性的问题:按时间顺序检测每日或每周数据的时间序列异常。异常表示异常事件,可能是营销域中的Web流量增加或IT域中的故障服务器。无论如何,标记这些不寻常的事件以确保业务顺利运行非常重要。其中一个挑战是客户处理的不是一个时间序列,而是需要针对这些极端事件进行分析。
我们有机会开发一个开源软件包,该软件包符合我们的兴趣,即构建Twitter AnomalyDetection软件包的可扩展版本,以及我们的客户希望获得一个可以从开源数据科学社区随着时间的推移而改进的软件包的愿望。结果是anomalize!!!
anomalize对于我们这些喜欢阅读的人来说,这里有anomalize四个简单步骤的工作要点。
第1步:安装Anomalize install.packages("anomalize") 第2步:加载Tidyverse和Anomalize library(tidyverse) library(anomalize) 第3步:收集时间序列数据 我们提供了一个数据集,tidyverse_cran_downloads以帮助您启动和运行。该数据集包括15“tidyverse”包的每日下载次数。 tidyverse_cran_downloads ## # A tibble: 6,375 x 3 ## # Groups: package ## date count package ## ## 1 2017-01-01 873. tidyr ## 2 2017-01-02 1840. tidyr ## 3 2017-01-03 2495. tidyr ## 4 2017-01-04 2906. tidyr ## 5 2017-01-05 2847. tidyr ## 6 2017-01-06 2756. tidyr ## 7 2017-01-07 1439. tidyr ## 8 2017-01-08 1556. tidyr ## 9 2017-01-09 3678. tidyr ## 10 2017-01-10 7086. tidyr ## # ... with 6,365 more rows 第4步:异常化 使用三个整齐的功能:time_decompose(),anomalize(),并time_recompose()及时发现异常情况。


推荐阅读