five

Time Series Anomaly Detection Dataset Generator

收藏
github2026-05-01 更新2026-05-07 收录
下载链接:
https://github.com/thu-sail-lab/TSAD_dataset_gen_public
下载链接
链接失效反馈
官方服务:
资源简介:
一个用于时间序列异常检测任务的合成数据集生成器,支持具有可配置异常模式的单变量和多变量时间序列。

A synthetic dataset generator for time series anomaly detection tasks, supporting univariate and multivariate time series with configurable anomaly patterns.
创建时间:
2026-05-01
原始信息汇总

数据集概述:Time Series Anomaly Detection Dataset Generator

1. 数据集简介

这是一个用于时间序列异常检测任务的合成数据集生成器,支持生成单变量和多变量时间序列数据,并允许用户灵活配置异常模式。

2. 主要特性

  • 单变量与多变量支持:可生成单维或多维时间序列数据
  • 灵活的异常注入:控制数据集中异常样本的比例(0.0-1.0)
  • 可定制的序列长度:支持固定长度或随机分布长度(100-10000)
  • 丰富的元数据:每个样本包含时间序列和异常的详细属性信息
  • 两种生成模式:基于属性的生成(推荐)和基于 synthetic.json 的生成

3. 参数配置

参数 类型 默认值 描述
num_samples int 1000 生成的样本数量
seq_len int, optional None 每个时间序列的长度,设为None时随机生成(100-10000)
anomaly_sample_ratio float 0.5 包含异常的样本比例(0.0-1.0)
is_multivariate bool False 是否生成多变量时间序列
num_features int, optional None 多变量数据的特征数量
activate_function bool False 多变量生成中是否应用激活函数
metrics list, optional None 用于异常生成的具体指标
use_attribute_set bool False 使用ALL_ATTRIBUTE_SET进行生成(推荐)

4. 输出格式

每个样本为字典结构,包含:

  • normal_time_series:无异常的时间序列 (numpy数组)
  • time_series:注入异常后的时间序列 (numpy数组)
  • labels:二进制标签,1表示异常,0表示正常 (numpy数组)
  • attribute:时间序列的元数据(字典)

单变量属性结构

包含指标类型(metric)、异常描述列表(anomalies)、基础模式类型(pattern)等信息。

多变量属性结构

包含每个特征的属性列表(attribute_list)、特征数量(num_features)、内生异常特征标记(is_endogenous)、有向无环图结构(dag)等信息。

5. 使用示例

生成仅包含异常的样本

python dataset = generate_dataset(num_samples=500, seq_len=1000, anomaly_sample_ratio=1.0)

生成混合数据集(50%异常,50%正常)

python dataset = generate_dataset(num_samples=1000, anomaly_sample_ratio=0.5)

生成可变长度序列

python dataset = generate_dataset(num_samples=200, seq_len=None, anomaly_sample_ratio=0.8)

6. 项目结构

TSAD_dataset_gen/ ├── src/ │ ├── generate_dataset.py # 主数据集生成脚本 │ ├── ts_generator.py # 单变量时间序列生成器 │ └── ts_multi_generator.py # 多变量时间序列生成器 ├── data_generate/ │ └── samples/ # 数据集输出目录 └── README.md

7. 重要提示

  • 推荐模式:建议使用 use_attribute_set=True 以获得更灵活的生成效果
  • 内存使用:长序列的大数据集可能消耗大量内存
  • 生成时间:多变量生成(尤其是特征较多时)可能需要更长时间
  • 异常保证:当 anomaly_sample_ratio=1.0 时,生成器确保所有样本至少包含一个异常

8. 许可证

该项目以“按原样”提供,仅供研究和教育用途。

搜集汇总
数据集介绍
main_image_url
构建方式
在现代时序数据分析领域,异常检测模型的性能高度依赖于高质量的标注数据。Time Series Anomaly Detection Dataset Generator通过程序化合成方式构建数据集,支持单变量与多变量两种模式。其核心机制在于基于预定义的异常模式库,以属性驱动(推荐)或度量驱动方式生成时序样本。生成过程中,用户可精细控制异常样本比例、序列长度(固定或随机分布),并通过注入多样化的异常模式来模拟真实世界的异常行为。每个样本均包含无异常的纯净时序、注入异常后的时序、二元标签以及描述时间属性和异常细节的元数据字典,为后续模型训练提供了结构化的数据基础。
特点
该工具的数据集具有显著优势:一是灵活性极高,支持单变量与多变量时序生成,异常注入比例可任意调节,满足不同监督强度需求;二是元数据丰富,每个样本附带详细的属性信息,包括异常类型、基础模式等,便于进行可解释性分析与模型调试;三是提供两种生成模式,属性驱动模式无需依赖外部JSON文件,简化了配置流程;四是支持变长序列生成,序列长度可在100至10000之间随机生成,模拟真实场景下不固定时间窗口的数据形态。这些设计使得生成的数据集既可用于基准测试,也可为特定异常检测任务定制训练数据。
使用方法
使用该生成器极为便捷,主要基于Python编程接口。核心函数为`generate_dataset`,需通过pip安装numpy、tqdm与networkx依赖库。实例化时,通过参数`num_samples`控制样本数量,`seq_len`设定序列长度(None时自动随机生成),`anomaly_sample_ratio`调控异常样本占比,`is_multivariate`切换单/多变量模式。生成结果以pickle格式存储为字典列表,每个字典包含时序数组与标签。建议在单变量场景采用属性生成模式(`use_attribute_set=True`),并注意大样本长序列可能消耗可观内存。用户亦可直接在`generate_dataset.py`中修改配置参数,通过命令行一键生成数据集至指定目录。
背景与挑战
背景概述
时间序列异常检测在工业监控、金融风控及运维管理等诸多领域扮演着关键角色,然而真实场景中异常样本稀缺且标注成本高昂,严重制约了相关算法的研发与评估。该数据集生成器由研究团队开发,旨在通过灵活可控的合成方式,为学术界与工业界提供高质量的时间序列异常检测基准数据。其核心研究问题在于如何生成兼具真实性与多样性的单变量及多变量时间序列,并支持可配置的异常注入比例、序列长度与生成模式。该工具自发布以来,为时间序列异常检测领域的算法验证与对比提供了标准化数据支撑,有效促进了该方向的研究进展。
当前挑战
当前该领域面临的核心挑战在于:其一,真实场景中异常模式复杂多样,包括点异常、上下文异常及集合异常等,而现有合成数据难以全面覆盖这类异质性;其二,构建过程中的关键难题在于确保生成数据的统计特性与真实数据分布高度一致,避免引入人为偏差;其三,多变量时间序列中特征间的依赖关系建模极具难度,现有的生成方式仍需在因果结构刻画与异常传播模拟方面持续优化;其四,长序列场景下生成效率与内存消耗的平衡亦构成实际应用中的突出瓶颈。
常用场景
经典使用场景
在时间序列异常检测领域,由于真实标注数据的稀缺性和获取成本高昂,合成数据集成为推动算法研究的关键工具。该生成器能够灵活创建单变量和多变量时间序列,通过注入可控比例的多样化异常模式,为异常检测算法的训练与评估提供标准化的基准测试平台。研究者可借助该工具生成涵盖不同序列长度、异常类型和特征维度的数据,从而系统性地验证模型在复杂场景下的鲁棒性与泛化能力。
实际应用
在工业物联网运维、金融欺诈监测与网络流量分析等现实场景中,该生成器扮演着数据增强与原型验证的关键角色。实践者可以利用其在离线环境中模拟传感器异常、交易波动或攻击流量模式,从而为部署前的模型调优提供丰富的负样本。这种合成数据驱动的验证流程显著降低了在真实生产系统上进行算法试错的成本与风险,提升了从学术成果到产业落地之间的转化效率,尤其在罕见异常模式的模拟方面展现出不可替代的实用价值。
衍生相关工作
该生成器衍生出的核心工作集中于多种生成模式与元数据结构的设计理念,启发了一系列关于可控异常注入与多变量因果关系的后续研究。例如,利用其属性集生成模式构建的层次化异常描述,催生了基于提示学习的时间序列异常解释系统;而其多变量生成中嵌入的有向无环图结构,则被用于开发因果异常溯源算法。这些工作共同巩固了合成数据在无监督异常检测基准构建中的基础地位,并推动了从单纯检测向可解释诊断的范式演进。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作