PCIC 2021 | 华为 & 北京大学因果推理挑战赛
PCIC 会议(Pacific Causal Inference Conference,泛太平洋因果推断大会)由北京大学讲席教授、北京大学公共卫生学院生物统计系系主任、北京大学北京国际数学研究中心生物统计和信息研究室主任周晓华组织发起,由北京大学、国际生物统计学会中国分会等机构主办、华为诺亚方舟实验室、集智俱乐部等机构协办。
本届因果推理挑战赛包括两个赛道:
- 赛道 1 Causal Discovery: AIOps 相关,主要目标是从连续时间的事件序列中挖掘因果图关系。
- 赛道 2 Causal Inference and Recommendation: 推荐相关,主要目标是根据用户电影喜好原因对用户偏好进行预测。
由于领域关系,本文主要详细介绍 赛道 1,对赛道 2 感兴趣的同学可以自行关注哦!
问题定义
PCIC 2021 挑战赛 赛道 1 与智能运维 AIOps 任务非常相关,目标是挖掘事件序列中的因果关系图。获取因果图信息可以更好地理解实体之间的关系,能够辅助管理员直接定位实际系统故障的根本原因。
赛道 1 主要需要解决的是 AIOps 领域中的因果结构学习问题。在通信网络中,异常现象通常是通过报警来识别的,由于网络的规模和系统内部相互关联的结构,管理员每天可能面临数以百万计的报警。网络中的单个故障会在多个相连的设备上触发大量的各种类型的告警,管理员需要从告警风暴中快速定位到故障根源是非常困难的,因此需要学习到告警间的因果关系图提供给管理员进行快速排障。
在这个赛道中需要学习到告警间的因果图,其中每个节点是从一些可观测的历史告警数据集得出的告警类型,因果图可用于对最重要和最相关的告警进行优先排序,然后提供给管理员参考以此来更加高效地定位到告警的故障根源。
数据集
挑战赛中所有的数据集均来自真实世界的业务数据或者来自专家的实际因果假设数据。
附上数据下载地址:https://competition.huaweicloud.com/information/1000041487/dataset
挑战赛提供了 24 个数据集,其中 12 个包含了网络拓扑信息其它 12 个不包含网络拓扑信息。每个数据集文件夹中包含以下文件:
Alarm.csv 历史告警数据集
格式:[alarm_id, device_id, start_timestamp, end_timestamp]
alarm_id 表示告警类型,device_id 表示告警所在设备,分别将其编码所得值为 [0, N-1] 和 [0, M-1],其中 N 表示告警类型总数,M 表示设备总数。
数据示例
Topology.npy 设备间拓扑图,有的数据中不包含。
格式:M * M 维的 Numpy 数组。
设备连接关系对应的无向图,二进制对称邻接矩阵,元素值为 1 表示存在连接关系。
数据示例
DAG.npy 真实因果图
格式:N*N 维的 NumPy 数组。
告警因果关系的有向图。
数据示例
任务
给定以上数据集,使用历史告警数据和设备拓扑图(可能没有)来学习到告警类型间的因果图。
评价 & 提交
比赛使用 作为评价指标,计算公式如下图所示
其中
- TP(true positive):正确预测的边;
- FP(false positive):预测存在但真实因果图中不存在的边;
- FN(false negative):预测不存在但真实因果图存在的边;
最后排名分数是 个数据集中 的平均值。
结果提交有点麻烦,需要使用华为云的模型训练服务…提交过程可以参考:https://bbs.huaweicloud.com/forum/thread-96892-1-1.html
Baselines
竞赛提供了一种基于已知拓扑的告警因果推理方法 TTPM - THP: Topological Hawkes Processes for Learning Granger Causality on Event Sequences;对于未知拓扑可以采用 PC 算法或者基于霍克斯过程的因果推理方法。
对于 TTPM 模型尝试了下,通过简单调参在一个 benchmark 的图中 即可达到 0.66。数据集及其运行结果详情见 Github: https://github.com/dreamhomes/PCIC-2021-Track1