Logo

TagAnomaly: 微软开源的多时间序列异常检测标记工具

TagAnomaly简介

TagAnomaly是微软开发的一款开源工具,专门用于多个时间序列(每个类别一个时间序列)的异常检测分析和标记。它为创建异常检测模型的标记数据提供了一个直观的可视化界面,允许标记人员在时间序列上选择点,并通过查看同一时间范围内其他时间序列的行为或原始数据来进一步检查这些点。

这个工具最初是作为微软的一个客户项目的一部分而开发的,目前已经开源并托管在GitHub上。尽管它不是一个定期维护的项目,但仍然为时间序列异常检测领域提供了宝贵的工具和思路。

TagAnomaly的主要功能

TagAnomaly提供了以下主要功能:

  1. 时间序列可视化和交互式标记
  2. 多时间序列比较分析
  3. 原始数据查看
  4. 基于Twitter AnomalyDetection包的自动异常检测
  5. 类别间分布变化观察

让我们详细了解一下这些功能:

时间序列可视化和交互式标记

TagAnomaly的核心功能是提供一个直观的时间序列可视化界面,允许用户交互式地选择和标记异常点。

时间序列标记界面

如上图所示,用户可以在时间序列图上直接选择可疑的异常点,并将它们添加到候选列表中。这种交互式的标记方式使得异常检测的过程更加直观和高效。

多时间序列比较分析

TagAnomaly允许用户比较不同类别的时间序列,这对于理解异常是否仅限于单个类别还是影响多个类别非常有帮助。

类别比较

通过这个功能,用户可以轻松地识别出跨类别的异常模式,从而更全面地理解数据的行为。

原始数据查看

对于聚合的时间序列数据,TagAnomaly提供了查看原始数据的功能。这使得用户可以深入了解构成异常值的具体事件。

详细数据视图

这个功能对于理解异常的根本原因和验证异常标记的正确性非常有价值。

基于Twitter AnomalyDetection包的自动异常检测

TagAnomaly集成了Twitter的AnomalyDetection包,可以自动提出潜在的异常点。这为人工标记提供了一个很好的起点,可以显著提高标记效率。

类别间分布变化观察

TagAnomaly还提供了观察类别间分布变化的功能,这有助于理解异常是单变量的还是多变量的。

分布比较

通过这个功能,用户可以更好地理解异常对整体数据分布的影响。

如何使用TagAnomaly

本地运行

TagAnomaly可以通过R或Docker在本地运行。

使用R

TagAnomaly使用Shiny框架来可视化事件。要运行它,您需要安装:

  • R (3.4.0或以上版本)
  • RStudio (推荐)

安装完成后,打开RStudio中的项目文件(taganomaly.Rproj),点击"Run App"或在控制台中调用runApp()即可启动应用。

TagAnomaly使用的R包包括:

  • shiny
  • dplyr
  • gridExtra
  • shinydashboard
  • DT
  • ggplot2
  • shinythemes
  • AnomalyDetection

使用Docker

也可以通过Docker运行TagAnomaly:

docker pull omri374/taganomaly
docker run --rm -p 3838:3838 omri374/taganomaly

部署到云平台

TagAnomaly可以部署到Azure等云平台上:

  1. 可以部署到Azure Web App for Containers或Azure Container Instances
  2. 也可以手动拉取Docker镜像并部署到自己的环境中

使用说明

  1. 导入时间序列CSV文件(格式:日期、类别、值)
  2. (可选)导入原始数据时间序列CSV文件
  3. 选择类别(如果存在)
  4. 在滑块上选择时间范围
  5. 检查时间序列:
    • 点击表格中的时间范围查看该范围的原始数据
    • 打开"All Categories"标签页查看同一时间范围内其他时间序列的行为
  6. 在图上选择看起来异常的点
  7. 点击"Add selected points"将标记的点添加到候选列表
  8. 确定这些是实际的异常后,点击"Download labels set"将结果表保存为CSV

TagAnomaly的优势与局限性

优势

  1. 直观的可视化界面,便于交互式标记
  2. 支持多时间序列比较,有助于发现跨类别的异常模式
  3. 提供原始数据查看功能,便于深入分析
  4. 集成自动异常检测算法,提高标记效率
  5. 开源项目,可根据需求进行定制和扩展

局限性

  1. 未保存的添加点在更改日期滑块或类别时会丢失,这使得在复杂的时间序列中保存多个点变得困难
  2. 不是定期维护的项目,可能存在一些bug或兼容性问题
  3. 主要针对时间序列数据,对于其他类型的异常检测任务可能不太适用

总结

TagAnomaly作为一个专门用于多时间序列异常检测分析和标记的工具,为数据科学家和分析师提供了一个强大的平台。它的直观界面和丰富功能使得异常检测的过程更加高效和准确。虽然它有一些局限性,但作为一个开源项目,它为时间序列异常检测领域提供了宝贵的参考和起点。

对于那些需要处理大量时间序列数据并进行异常检测的团队来说,TagAnomaly无疑是一个值得尝试的工具。它不仅可以提高标记效率,还能帮助用户更深入地理解数据中的异常模式。

如果您对时间序列异常检测感兴趣,不妨尝试使用TagAnomaly,或者参与到这个开源项目中来,为其发展做出贡献。您可以在GitHub仓库中找到更多信息和使用说明。

无论您是数据科学家、分析师还是对时间序列分析感兴趣的开发者,TagAnomaly都为您提供了一个探索和学习的绝佳平台。让我们一起拥抱开源,推动时间序列异常检测技术的进步!

相关项目

Project Cover
darts
Darts是一个用户友好且灵活的Python库,专注于时间序列的预测与异常检测。它提供了一系列从ARIMA到深度神经网络的多样化模型,通过统一的fit()和predict()接口简化操作,类似于scikit-learn。此外,Darts支持包括多变量和外部数据在内的复杂时间序列处理,并为大规模数据集提供高效解决方案。它还拥有全面的异常检测功能,允许进行深入的异常分析和评分。
Project Cover
Time-Series-Library
TSLib为深度学习研究者提供了一个专业开源时间序列分析库,涵盖广泛的应用领域,如长短期预测、数据填充、异常检测和分类。本库提供清晰的代码基础,支持时间序列模型的评估与开发,包括最新的模型评估和深度时间序列研究成果。该工具适合科研和开发人员使用,以推动时间序列分析的未来研究与实践。
Project Cover
neuralforecast
NeuralForecast 提供 30 多种先进的神经网络模型,提升时间序列预测的准确性和效率。支持外生变量和静态协变量,并具备自动超参数优化和可解释性方法。通过 sklearn 语法 `.fit` 和 `.predict` 实现快速训练和预测,包含 NBEATSx 和 NHITS 等最新实现,并与 Ray 和 Optuna 集成,适用于多种应用场景。
Project Cover
time-series-transformers-review
本项目专业整理了Transformers在时序数据建模中的资源,涵盖论文、代码和数据,全面总结其最新进展。内容持续更新,开放问题提交和拉取请求,覆盖时序预测、不规则时序建模、异常检测和分类等领域,适合学术研究及实际应用。
Project Cover
UniRepLKNet
UniRepLKNet项目提出了一个适用于图像、音频、视频、点云和时间序列的大核卷积网络统一架构。通过提供四个设计大核卷积网络的架构指南,显著提升了多模态数据的识别性能。特别是在全球温度和风速预测等挑战性的时间序列预测任务中,UniRepLKNet表现优异,超过了现有系统。这一项目不仅重振了卷积神经网络在传统领域的表现,还展示了其在新兴领域的广泛应用潜力。
Project Cover
Time-series-prediction
TFTS(TensorFlow Time Series)是一个易用的时间序列预测工具包,支持TensorFlow和Keras中的经典及前沿深度学习方法。适用于预测、分类及异常检测任务。提供适应工业、研究和竞赛所需的深度学习模型,配有详尽文档和教程,帮助用户快速入门。
Project Cover
machine-learning
本项目持续更新,介绍了数据科学和机器学习各个主题。内容涵盖深度学习、模型部署、运筹学和强化学习等,提供Jupyter Notebook格式教程,结合Python科学栈(如numpy、pandas)和开源库(如scikit-learn、TensorFlow、PyTorch)进行教学示范,平衡数学符号与实际应用。
Project Cover
Anomaly-Transformer
Anomaly-Transformer是一种时间序列异常检测模型,利用关联差异作为可区分标准,并结合Anomaly-Attention机制和极小极大策略提高检测效果。该模型在多个基准数据集上展现出优秀性能,为无监督时间序列异常检测领域提供了新的解决方案。
Project Cover
chronos-forecasting
Chronos是一款基于语言模型架构的预训练时间序列预测工具。它通过量化处理将时间序列转换为标记序列,并使用大规模的公开和合成数据进行训练。Chronos模型在零样本场景中表现优异,提供从预测到嵌入提取的完整解决方案。通过AutoGluon,用户可轻松进行模型集成和云端部署,提升预测性能和应用的灵活性。

最新项目

Project Cover
豆包MarsCode
豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。
Project Cover
AI写歌
Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。
Project Cover
商汤小浣熊
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
Project Cover
有言AI
有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。
Project Cover
Kimi
Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。
Project Cover
吐司
探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。
Project Cover
SubCat字幕猫
SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。
Project Cover
AIWritePaper论文写作
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。
Project Cover
稿定AI
稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。
投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号