摘要:时间序列异常检测技术在许多实际应用中发挥着重要作用. 例如, 云原生数据库系统通过监测关键指标 (如CPU和内存使用情况) 实现系统故障的及时识别. 尽管近年来已经提出了许多先进的时间序列异常检测算法, 但研究表明, 在异常检测准确率方面, 不同算法擅于应对不同的应用场景, 没有通用的最佳方法. 因此, 为了实现更高的异常检测准确率, 研究如何基于不同场景的数据特征自动选择最佳时间序列异常检测算法的问题尤为重要. 现有方法通常基于时间序列分类 (TSC) 技术来解决这一问题. 实现方法是利用历史任务积累的数据, 以时间序列为输入、对应的最准确异常检测算法为输出训练分类器, 从而预测未知时间序列的最佳异常检测算法. 尽管这类基于TSC的解决方案能有效提高异常检测准确率, 但现有的标准TSC算法未能充分利用来自异常检测历史任务的知识. 为弥补这一缺陷, 提出一个知识增强的时间序列异常检测框架. 在训练TSC模型时, 不仅使用现有方法普遍采用的、代表每个历史时间序列最佳检测算法的硬标签, 还利用历史数据上所有候选算法的准确率来估计输入时间序列的类别分布, 将其作为软标签来为算法选择器 (即TSC模型) 提供更多关于异常检测算法之间相互关系的知识. 与此同时, 设计了一个外部知识融合模块, 可以灵活地将各类外部知识 (例如时间序列的应用领域及数据与异常特点的描述) 融入TSC模型中. 所提方法能够作为插件无缝集成到任意架构的TSC模型中, 提高其在异常检测算法选择方面的性能. 在多种类型的时间序列数据集上进行大量实验, 验证所提方法的有效性.