KDD 2019 | 基于谱残差和 CNN 的时间序列异常检测模型
论文标题 | Time-Series Anomaly Detection Service at Microsoft 论文来源 | KDD 2019 论文链接 | https://arxiv.org/abs/1906.03821 源码链接 | https://github.com/microsoft/anomalydetector TL;DR 论文中基于 Spectral Residual (SR) 和卷积网络提出了一种新颖的单变量时间序列异常检测算法 SR-CNN,是第一篇将 SR 从视觉显著性检测应用到时间序列异常检测问题上的工作,结合 CNN 主要是为了提升 SR 的性能。实验部分在公开数据集和微软生产环境数据中验证了 SR-CNN 的有效性。 Background 生产环境中时间序列异常检测算法主要需要解决三个问题:Unsupervised + Generation + Efficiency。 这些问题能够解决那说明就确实是一个非常棒的工作了 👍🏻 📢 Bonus:Holt-winters 算法对周期性数据效果较好,SPOT 算法对突刺型数据效果好。 Algorit ...
ICML 2021 | 针对图神经网络的通用因果解释方法
论文标题 | Generative Causal Explanations for Graph Neural Networks 论文来源 | ICML 2021 论文链接 | https://arxiv.org/abs/2104.06643 源码链接 | https://github.com/wanyu-lin/ICML2021-Gem TL;DR 论文中提出了一种通用的因果解释方法 Gem,可以为不同图学习任务中的 GNNs 提供通用的可解释性。主要想法是将 GNNs 模型的推理决策可解释性问题转为一个因果学习任务,然后基于格兰杰因果 (Granger causality) 的目标函数来训练一个因果解释模型。Gem 不依赖于 GNNs 的内部结构和图学习任务相关的先验知识,因此泛化性较强而且可以从图结构数据的因果角度来解释 GNNs ~ 保持好奇 🧐。实验部分在生成数据集和真实数据中验证了 Gem 相对其它解释模型而言,可以提升 30% 的解释准确性而且解释速度可达 110×。 Problem Definition 由于 GNNs 模型的可解释性研究是一个新兴的研究领域,当前主流 ...
🎉🎉🎉 必示 AIOps 实验室诚邀算法高手加入 🎊🎊🎊
必示优势 国际前沿研究成果的发表机会 接触海量的真实运维数据(如机器监控数据、服务运行日志、业务监控指标等),设计和研究数据挖掘算法,来解决大型数据中心和在线业务场景下富有挑战的实际运维问题(如异常检测、根因定位、故障预测等)、产生业务价值、发表国际前沿研究成果。 工业界真实应用的影响力 指导实力强大的工程化团队将前沿的自研算法产品化,融入必示智能运维平台体系,在工业界产生巨大的真实影响力。 实力强劲的算法团队 大牛带队,在学霸密度超高的公司与业内优秀团队共事,与来自来自海外和国内多所名校的多位博士思维碰撞,迅速进步。 充分尊重优秀人才的个人价值,我们为你提供有绝对竞争力的薪酬、弹性工作、餐补、无限零食、健身房、顶级办公设备。 招聘职位 AIOps 算法工程师 AIOps 算法研究员 算法实习生 简历内推:shenmengjia@bizseer.com 或者 联系博主留言 简历投递:hr@bizseer.com AIOps 算法工程师 工作职责 负责设计智能运维场景中 AIOps 算法的流程框架,参与算法研究以及相关论文的实验设计工作,完成算法开 ...
NeurIPS 2019 | 基于图自编码器的因果结构学习模型
论文标题 | A Graph Autoencoder Approach to Causal Structure Learning 论文来源 | NeurIPS (workshop) 2019 论文链接 | https://arxiv.org/abs/1911.07420 源码链接 | https://github.com/huawei-noah/trustworthyAI TL;DR 对于变量间因果图结构学习的问题,论文中基于图自编码器和梯度优化的方法来学习观测数据中的因果结构,主要可以解决非线性结构等价问题并且将其应用到向量值形式的变量因果结构预测中。实验部分在人工生成数据中验证了提出的 GAE 模型优于当前其它基于梯度优化的模型 NOTEARS 和 DAG-GNN 等,尤其是在规模较大的因果图预测问题中。此外还测试了模型效率问题,在训练过程中随着图规模增大可以达到线性时间。 Problem Description 对于如何学习变量间因果图结构的问题,当前主流方法主要可以划分为三种类型: Constraint-based:PC,FCI 等 PC 算法可以参考我另一篇文章 因果推 ...
AAAI 2021 | 基于图神经网络的多变量时间序列异常检测
论文标题 | Graph Neural Network-Based Anomaly Detection in Multivariate Time Series 论文来源 | AAAI 2021 论文链接 | https://arxiv.org/abs/2106.06947 源码链接 | https://github.com/d-ailin/GDN TL;DR 论文中提出一种基于 GNN 的结构学习模型 GDN(Graph Deviation Network)来解决多变量时间序列异常检测的问题,此外还利用 GAT 学习到的注意力权重来解释检测到的异常。实验部分在两个真实 sensors 数据集中验证了 GDN 模型不仅比 baselines 更加准确地检测出异常,还可以捕获不同传感器间的关系来辅助定位异常根因。感觉和另一篇文章思路有些类似 MTAD-GAT:基于图注意力网络的多变量时间序列异常检测模型 Problem Statement 论文中的训练数据包括 NNN 个 sensors 在 TtrainT_{train}Ttrain 范围内数据 strain =[strain (1) ...
GTS:基于离散图结构学习的多时间序列预测方法
论文标题 | Discrete Graph Structure Learning for Forecasting Multiple Time Series 论文来源 | ICLR 2021 论文链接 | https://arxiv.org/abs/2101.06861 源码链接 | https://github.com/chaoshangcs/GTS TL;DR 论文中提出一种在图结构未知的情况下可以基于 GNN 学习图结构的模型 GTS,首先将该图学习问题转化为通过优化图分布上的平均性能来学习概率图模型,然后使用神经网络学习图参数化的分布,再通过重参数化进行可微分采样来得到离散图结构。在实验部分通过与多种不同类型的模型进行对比,说明 GTS 模型更加的简单高效。因此,文章整体在于学习变量间的图结构,目测时间序列预测仅是用于实验中验证模型的有效性。 Algorithm/Model Experiments Thoughts
MTAD-GAT:基于图注意力网络的多变量时间序列异常检测模型
论文标题 | Multivariate Time-series Anomaly Detection via Graph Attention Network 论文来源 | ICDM 2020 论文链接 | https://arxiv.org/abs/2009.02040 源码链接 | https://github.com/mangushev/mtad-gat TL;DR 针对当前大部分多时间序列异常检测方法未考虑不同时间序列间相关性的问题,论文中提出了一种新颖的自监督学习框架 MTAD-GAT 进行多变量时间序列异常检测。MTAD-GAT 考虑将每个单指标时间序列作为特征,然后利用 2 种并行的 GAT 网络层来学习多个时间序列间的时序和特征依赖关系。此外,MTAD-GAT 还联合优化了基于预测的模型和基于重构的模型,以此来获得更好地时间序列表示。实验部分不仅在三个真实时间序列数据集中验证了 MTAD-GAT 优于当前 baselines,还通过分析说明模型学习到参数具有较好的可解释性。 Problem Definition 单变量指标异常检测时仅考虑了某个系统的一个指标进行告警,因此很 ...
技术杂谈 | 优雅的 Python 代码自动化测试方案
背景 🤙🏻 项目代码测试是必要滴!目前主流的 python 自动化测试框架包括 unittest、pytest 和 nose/nose2,以下对这三种框架进行简介并进行对比: unittest是 python 内嵌的测试库,如果对 python 仅了解基础知识那么 unittest 框架相对而言易于理解,unittest 框架可以实现大部分的业务测试,但是测试代码编写格式固定而且较为复杂。 pytest 是基于 unittest 扩展的测试框架,相对于 unittest 而言更简单高效而且功能齐全,插件丰富,pytest 兼容 unittest 测试用例但是 unittest 不兼容 pytest,是目前主流的 python 测试框架 🔥。 nose/nose2 是一个第三方测试框架,它也完全兼容 unittest 测试并且简单易用,但目前已进入维护模式更新活跃度低。 附上 🧑🏻💻 体验感表格来比较功能体验: 功能 unittest nose/nose2 pytest 自动发现用例 ☆☆☆ ☆☆☆ ☆☆☆ 指定用例执行 ☆☆☆ ☆☆☆ ☆☆☆ a ...
macOS | 推荐两款高效的办公软件 iShot + iRightMouse
在办公场景下涉及到最多操作就是图片和文件,macOS 原生态下的截屏处理和右键操作比较简单不能满足个人办公需求,因此本文个人推荐两款高效办公软件。👇🏻 iShot iShot 是 Mac 上一款免费优秀、功能全面的区域截图、窗口截图、长截图、延时截图、快速标注工具,具备丰富的截图常用功能,包括标注线框、箭头、文字、打码等等,而且所有功能都可以用快捷键操作,基本不需要用其他软件进行二次标记处理。 相比于截图软件 Snipaste,iShot 提供更加丰富的功能,尤其是比较喜欢的长截图功能! 😄 官网地址:https://www.better365.cn/ishot.html iRightMouse iRightMouse 超级右键个人感觉部分功能是借鉴了 Windows 右键的功能,是 MacOS 上右键的扩展,实现了新建、发送/复制文件到某个位置、快速打开常用目录、自定义文件夹图标、拷贝路径、终端/iTerm/VSCode 里进入路径、显示隐藏文件、彻底删除文件、剪切粘贴文件等等。 对于习惯 Windows 操作的用户而言这个工具用的非常顺手哦,比较喜欢右键新建 Markdow ...
因果推理之霍克斯过程 Hawkes process
背景 在统计学和概率论中,点过程 (Point process) 或点场 (Point field) 是随机位于数学空间(如实线或欧氏空间)上的数学点的集合。点过程可以用来作为现象或物体的数学模型,在某种类型的空间中可以用点表示。 点过程方法主要解决的问题是对连续时间上的离散事件(discrete events in continuous time)构建模型,用以分析历史事件序列对未来事件的因果关系。 举例说明,Amazon 对于某一个用户,给定用户以往的购买记录(什么时候买了什么东西),如何来预测该用户什么时候再次登录购买以及下次登录会买什么?给定一个病人以外的生病记录(哪天得到了怎样的诊断),如何预测该病人之后可能在什么时候需要怎样的治疗? 点过程建模方法非常多,此处简单学习下常用的霍克斯过程 Hawkes process。 霍克斯过程 自/互激励过程(self/mutual-exciting process),亦称为霍克斯过程(Hawkes processes,以 1971 年提出者 Hawkes 教授姓氏命名),主要思想:发生的历史事件对于未来事件的发生有激励作用(正向作用), ...
HPCI:电信网络中基于影响力的根源告警挖掘方法
论文标题 | An Influence-based Approach for Root Cause Alarm Discovery in Telecom Networks 论文来源 | ICSOC(B) 2020 论文链接 | https://arxiv.org/abs/2105.03092 源码链接 | https://github.com/shaido987/alarm-rca TL;DR 论文中提出了一种数据驱动不需要专家知识的根因告警定位框架,其中结合了因果推理和网络表示学习方法。关于告警间因果图挖掘部分论文中设计了一种混合因果图学习方法 HPCI,主要思想是将霍克斯过程与 PC 算法相结合。此外,论文中还提出一种基于因果传播的表示学习算法 CPBE 来推理因果图中边的权重。在得到加权的因果图后使用了一种影响力最大化算法 IRIE 来定位图中的根因告警。实验部分在人工数据集和真实数据集中验证了论文提出的框架优于当前 baselines。 Preliminaries 在了解正文的方法前需要知道两种概念:霍克斯过程 (Hawkes process) 和 PC 算法,可以参考其它两 ...
PCIC 2021 | 华为 & 北京大学因果推理挑战赛
PCIC 会议(Pacific Causal Inference Conference,泛太平洋因果推断大会)由北京大学讲席教授、北京大学公共卫生学院生物统计系系主任、北京大学北京国际数学研究中心生物统计和信息研究室主任周晓华组织发起,由北京大学、国际生物统计学会中国分会等机构主办、华为诺亚方舟实验室、集智俱乐部等机构协办。 本届因果推理挑战赛包括两个赛道: 赛道 1 Causal Discovery: AIOps 相关,主要目标是从连续时间的事件序列中挖掘因果图关系。 赛道 2 Causal Inference and Recommendation: 推荐相关,主要目标是根据用户电影喜好原因对用户偏好进行预测。 由于领域关系,本文主要详细介绍 赛道 1,对赛道 2 感兴趣的同学可以自行关注哦! 问题定义 PCIC 2021 挑战赛 赛道 1 与智能运维 AIOps 任务非常相关,目标是挖掘事件序列中的因果关系图。获取因果图信息可以更好地理解实体之间的关系,能够辅助管理员直接定位实际系统故障的根本原因。 赛道 1 主要需要解决的是 AIOps 领域中的因果结构学习问题。在通信网络 ...
解决 Hexo ButterFly 主题中最新评论功能模块出现无法获取评论的问题
背景 Hexo 博客:Butterfly 主题中开启侧边栏最新评论功能时,报错显示 “无法获取评论,请确认相关配置是否正确”。 调用接口返回报错信息: 1{"code":401,"error":"Unauthorized."} 对此查询 Leancloud 官网,状态码 401 对应的信息是 https://leancloud.cn/docs/error_code.html#hash1391147 但是每篇文章下的评论都可以加载出来,只有最新评论不能加载…说明 App id 和 App key 没有问题。 所以问题应该是:最新模块请求的接口 API 有问题。 解决方案 查看网页请求的 API 地址: https://1jei4r7m.api.lncldglobal.com/1.1/classes/Comment?limit=6&order=-createdAt 查看 LeanCloud RestAPI 请求接口,发现请求链接 API 对应的类方法没有问题,那么只能是前半部分 RestAPI 地 ...
IWQoS 2021丨ModelCoder:基于故障模型的微服务系统自动根因定位框架
论文标题 | ModelCoder: A Fault Model based Automatic Root Cause Localization Framework for Microservice Systems 论文来源 | IWQoS(B) 2021 论文链接 | 未公布 源码链接 | 未公布 TL;DR 论文中提出了一种基于故障模型的自动根因定位框架 ModelCoder,首先介绍了部署图和服务依赖图的概念来描述服务节点的部署状态和调用关系,然后基于这些定义的图进行根因定位。其定义的故障模型主要用来捕获故障根因的特征,可以通过和预先定义的故障模型进行特征匹配来定位未知故障的根因。实验部分使用 AIOps 2020 挑战赛的数据来验证 ModelCoder 的有效性,可以达到约 93% 的定位准确性且平均耗时仅 80s,比现有的 baselines 准确率提升 12%。 Problem Description 论文中定义了非常多的概念,在阐述方法前先进行解释: Deployment graph:部署图 GD=<V,E>G_D=<V, E>GD=&l ...
社区检测中重叠模块度计算方法详解及其 Python 实现
背景 在很久之前写过的一篇博客 社团检测度量指标 中,简单介绍了社区检测结果的各种评价指标及其计算方法。其中常用的评价指标是 模块度 Q 和 重叠模块度 EQ,为了解答部分读者的疑惑,本文附带 Python 代码来更加详细地说明这两种指标计算方式。 理论计算 由于之前的博客中已经说明,因此本文直接摘抄过来。 模块度 Q 非重叠模块度的主要介绍可以参考 Wiki 上 Modularity networks,以下写出主要的理解。 设 AAA 为网络的邻接矩阵,cv,cwc_v,c_wcv,cw 分别为点 v,wv,wv,w 所在的两个社团,社团内部的边数和网络中总边数的比例为: ∑vwAvwδ(cv,cw)∑vwAvw=12m∑vwδ(cv,cw)\frac{\sum_{vw}A_{vw}\delta(c_v,c_w)}{\sum_{vw}A_{vw}}=\frac{1}{2m}\sum_{vw}\delta(c_v,c_w) ∑vwAvw∑vwAvwδ(cv,cw)=2m1vw∑δ(cv,cw) 函数 δ\deltaδ 为克罗内克函数,mmm 为网络中的总边 ...