CSDN 叶庭云:https://yetingyun.blog.csdn.net/
This track focuses on solving a causal structure learning problem in AIOps.
AIOps 相关:主要目标是从事件序列数据中挖掘因果图关系,并辅助定位根因。
所有数据集都是来自现实世界的工业数据或基于专业知识的实际因果假设生成的。告警类型的因果图在竞赛中被限定为:有向、无环,但是因果识别和潜在变量的问题可能仍然存在。
竞赛提供了 24 个数据集,其中 12 个包含了网络拓扑信息其它 12 个不包含网络拓扑信息。每个数据集文件夹中包含以下文件:
Alarm.csv 历史告警数据集
Topology.npy 设备间拓扑关系图(有的数据中并不包含)
DAG.npy 真实因果图
目标任务:给定以上数据集,使用历史告警数据和设备拓扑图(可能没有)来学习到告警类型间的因果图。
比赛使用 g − s c o r e g-score g−score 作为评价指标,计算公式如下图所示:
g-score = max ( 0 , ( T P − F P ) ) T P + F N \text { g-score }=\frac{\max (0,\ (T P-F P))}{T P+F N} g-score =TP+FNmax(0, (TP−FP))
最后排名分数是 K K K 个数据集中 g − s c o r e g-score g−score 的平均值:
因果发现(Causal Discovery):发现因果关系的传统方法是使用干预措施或随机实验,这在很多情况下过于昂贵,过于耗时,甚至不可能。通过分析纯粹的观察性数据来揭示因果信息,即所谓的因果发现。
因果发现 / {/} /因果推断工具:DoWhy、Causal-Learn、YLearn、CausalNex、Causal ML
因果结构学习工具链:华为诺亚方舟实验室 gCastle
多元异构时序数据:即包含多种数据类型(数值、类别、布尔型等),多种因果产生机制等
因果图学习:图形化模型作为一种描述因果关系的语言,便于彼此更好地理解和表达对因果关系的想法。因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,适合于检查程序输入条件涉及的各种组合情况。
因果隐变量检测:现实场景中,经常有许多存在隐变量的情况,隐变量是影响因果发现算法精度的一大核心要素。如果数据是线性非高斯的,可将独立噪声条件(IN)扩展到广义独立噪声条件(GIN),通过找到隐变量的代理变量做回归,恢复数据的因果结构。但这种方法的局限性在于其认为观测变量之间没有边,无法推断变量之间完整的因果关系,在此基础上可以利用面向不完全观察数据的因果结构学习算法(FRITL 算法)做进一步的优化。当前因果隐变量检测技术对数据的产生机制有较强假设,且大都只能应对线性因果场景,针对工业界的复杂因果场景很难落地实施。
因果推断是统计学领域非常经典的一个问题,旨在利用指标间的因果关系和拓扑图,找到统计学上的根因,结论通常是因果图上的某个节点(KPI 指标)而且事先定义的明确的根因类型 or 某条根因路径(Path)。因果推断领域存在着两大基本框架:PotentialOutcomeFramework(POF)潜在结果框架和 StructuralCausalModel(SCM)结构因果模型,两者的利器分别是控制变量和因果图。典型算法包括 IBM 的 CloudRanger,OM Graph 以及 FluxInfer 等,这些算法在构建因果图阶段主要都使用了经典的 PC Algorithm,而在推断阶段则使用了各不相同的搜索方式例如 Random Walk 随机游走、BFS 或是 PageRank,得到的根因形式也不尽相同。
参考链接: