Detecting anomalies and the corresponding root causes in multivariate time series plays an important role in monitoring the behaviors of various real-world systems, e.g., IT system operations or manufacturing industry. Previous anomaly detection approaches model the joint distribution without considering the underlying mechanism of multivariate time series, making them computationally hungry and hard to identify root causes. In this paper, we formulate the anomaly detection problem from a causal perspective and view anomalies as instances that do not follow the regular causal mechanism to generate the multivariate data. We then propose a causality-based framework for detecting anomalies and root causes. It first learns the causal structure from data and then infers whether an instance is an anomaly relative to the local causal mechanism whose conditional distribution can be directly estimated from data. In light of the modularity property of causal systems (the causal processes to generate different variables are irrelevant modules), the original problem is divided into a series of separate, simpler, and low-dimensional anomaly detection problems so that where an anomaly happens (root causes) can be directly identified. We evaluate our approach with both simulated and public datasets as well as a case study on real-world AIOps applications, showing its efficacy, robustness, and practical feasibility.
翻译:在多变时间序列中,检测异常和相应的根源在监测各种真实世界系统,例如信息技术系统操作或制造业的行为方面起着重要作用。以往的异常检测方法在不考虑多变时间序列基本机制的情况下,模拟联合分布,不考虑多变时间序列的基本机制,使它们在计算上饥饿,难以查明根源。在本文件中,我们从因果角度来分析异常检测问题,并将异常作为不遵循常规因果机制生成多变数据的例子来看待。然后,我们提出一个基于因果关系的框架,用以检测异常和根源。它首先从数据中了解因果关系结构,然后从中推断出某一事件是否与有条件分布可以直接从数据中估算的本地因果机制相对反常。根据因果关系系统的模块性特性(产生不同变量的因果过程是无关的模块),最初的问题分为一系列单独、简单和低维度的异常检测问题,以便在出现异常现象(根源)时可以直接加以识别。我们用模拟和公共数据集来评估我们的方法,并用真实的案例研究来评估其有效性。