IJCAI 2023 | 如何从离散时间事件序列中学习因果结构?

news2024/11/27 5:25:55

本文分享一篇我们在IJCAI 2023的最新工作,文章分析了在离散时间事件序列上存在的瞬时效应问题,提出了一种利用瞬时效应的结构霍克斯模型,且在理论上证明了事件序列上的瞬时因果关系同样是可识别的。

相关论文:
Jie Qiao et al. “Structural Hawkes Processes for Learning Causal Structure from Discrete-Time Event Sequences” IJCAI 2023. arxiv.org: 2305.05986

介绍

现实中许多数据的都是以事件的形式记录的,例如系统日志,社交网络交互,购物行为,浏览行为等等都可以归结为一种事件序列,而在事件序列上学习事件类型之间的因果结构是一项重要且具有挑战的任务,也已经被广泛的应用,例如,在智能运维中的故障根因定位[1],在用户购物广告点击中的归因分析[2]等等。

现有方法,如基于多变量霍克斯过程的方法,大多都可以归结为学习所谓的格兰杰因果关系,其中隐含的假设是所有的事件都被即时且准确的记录,从而所有原因事件都严格地发生在其结果事件之前(也被称为(temporal precedence assumption))。

然而,由于有限的记录能力和存储容量,在许多现实世界应用中,以高精度记录事件的发生时间代价往往非常昂贵,我们通常只能访问相应的低精度离散时间事件序列。在这种低精度序列中,temporal precedence assumption将不再满足。

图1

例如,图1中有三个事件类型,其产生的三个事件序列分别是 v 1 v_{1} v1, v 2 v_{2} v2, 和 v 3 v_{3} v3。设 v 1 v_{1} v1 v 2 v_{2} v2 v 3 v_{3} v3的原因,左图展示了高精度的事件序列,但现实中我们往往只能观测到右图中的离散时间事件序列。此时, v 1 v_{1} v1 v 2 v_{2} v2被视为了同时发生,违反了原因必须严格发生在其结果前的假设(temporal precedence assumption),使得现有基于格兰杰因果的方法无法识别该方向。因此,这篇论文旨在回答以下两个问题:

1)如何设计和学习一个利用离散时间中瞬时效应的霍克斯过程?
2)我们能否在瞬时效应存在的情况下识别事件序列中的因果关系?

结构霍克斯模型

针对第一个问题,我们提出了考虑在离散时间事件序列中利用瞬时效应的结构霍克斯过程(Structural Hawkes Processes, SHPs)。

为了建立瞬时效应的模型,我们首先将连续时间的计数过程扩展到观察事件序列的离散时间内或在 T = { Δ , 2 Δ , . . . , K Δ } \mathbf{T} =\{\Delta ,2\Delta ,...,K\Delta \} T={Δ,,...,KΔ}时刻收集数据, 其中 K = ⌊ T / Δ ⌋ K=\lfloor T/\Delta \rfloor K=T Δ > 0 \Delta >0 Δ>0 是每个观察时间的时间间隔长度。 那么离散时间的多变量计数过程可以定义为 N ( Δ ) = { N v ( Δ ) ( k ) ∣ k ∈ { 0 , … , K } , v ∈ V } \mathbf{N}^{(\Delta )} =\{N_{v}^{(\Delta )} (k)|k\in \{0,\dotsc ,K\},v\in \mathbf{V} \} N(Δ)={Nv(Δ)(k)k{0,,K},vV},其中 N v ( Δ ) ( k ) = N v ( ( 0 , k Δ ] ) N_{v}^{(\Delta )} (k)=N_{v} ((0,k\Delta ]) Nv(Δ)(k)=Nv((0,kΔ]) 衡量不晚于 k Δ k\Delta kΔ发生的事件数量。我们进一步让 X = { X v , t ∣ v ∈ V , t ∈ { 0 , … , K } ] } \mathbf{X} =\{X_{v,t} |v\in \mathbf{V} ,t\in \{0,\dotsc ,K\}]\} X={Xv,tvV,t{0,,K}]} 表示每个时间间隔内的观察值集合,其中 X v , t : = N v ( t Δ ) − N v ( ( t − 1 ) Δ ) X_{v,t} :=N_{v} (t\Delta )-N_{v} ((t-1)\Delta ) Xv,t:=Nv(tΔ)Nv((t1)Δ) 表示成 d N v ( t ) dN_{v} (t) dNv(t).

结构霍克斯过程的设计如下:

定义(结构霍克斯过程)
结构霍克斯过程是一个结构计数过程,即对所有 v ∈ V v\in \mathbf{V} vV N v ( Δ ) N_{v}^{(\Delta )} Nv(Δ)的强度可以写成:
λ v ( k Δ ) = μ v + ∑ v ′ ∈ V ∑ i = 1 k ϕ v ′ , v ( ( k − i ) Δ ) X v , i , (1) \lambda _{v} (k\Delta )=\mu _{v} +\sum _{v'\in \mathbf{V}}\sum _{i=1}^{k} \phi _{v',v} ((k-i)\Delta )X_{v,i} ,\tag{1} λv(kΔ)=μv+vVi=1kϕv,v((ki)Δ)Xv,i,(1)
其中 ϕ v , v ( 0 ) ≡ 0 \phi _{v,v} (0)\equiv 0 ϕv,v(0)0 保证在时间 k Δ k\Delta kΔ上排除 v v v类型的事件

可以看到公式1中当前时间的强度不仅受到过去 ( k − 1 ) Δ (k-1)\Delta (k1)Δ时间发生的事件的影响,也受同一时期 k Δ k\Delta kΔ发生的事件影响。基于该模型,我们可以结合[^1]中的方法给出了一种结合Minorize-Maximization算法以及爬山算法的因果结构学习算法。

可识别性

该文章的另一个问题是,我们能否在瞬时效应存在的情况下识别事件序列中的因果关系?

为了回答这个问题,我们建立的结构霍克斯过程与整数自回归INAR( ∞ \infty )的联系:

在这里插入图片描述

我们发现该模型与霍克斯过程具有内在一致性,基于此,我们可以通过上述模型来证明结构霍克斯过程的理论性质:

在这里插入图片描述

定理2说明了在二元瞬时因果关系中,该因果方向是可识别的,同时该结论也可以被推广到多变量的因果结构学习中:
在这里插入图片描述

实验

在实验中,在生成数据与真实数据分别进行了验证。在生成数据中,我们的结果均优于现有的方法:
在这里插入图片描述

在真实数据中,我们使用了[3]华为基站告警数据的真实数据集,其实验结果均优于现有的算法:
在这里插入图片描述

实验在不同的时间粒度上进行,有趣的是,我们把序列的粒度变得更粗反而会有助于提升效果,我们猜测原因是真实记录中存在时间不同步的情况,而粗粒度数据中形成的瞬时因果关系反而有助于因果发现。

结论

在这项工作中,我们研究了如何建模和利用瞬时效应来学习离散时间事件序列的因果结构。我们提出了利用瞬时效应的结构霍克斯过程和学习事件类型间因果结构的实用算法。理论结果表明,结构霍克斯过程中的瞬时因果结构确实是可以识别的。就我们所知,这是第一个针对具有瞬时效应的事件序列的因果结构学习方法。SHP的成功不仅为从现实世界的事件序列中学习因果结构提供了一个有效的解决方案,而且也为从离散时间事件序列中发现因果关系展示了一个有潜力的方向。

参考文献

[1]: Cai, R., Wu, S., Qiao, J., Hao, Z., Zhang, K., & Zhang, X. (2022). THPs: Topological Hawkes Processes for Learning Causal Structure on Event Sequences. IEEE Transactions on Neural Networks and Learning Systems.
[2]: J. Tao, Q. Chen, J. W. Snyder Jr, A. S. Kumar, A. Meisami, and L. Xue, “A Graphical Point Process Framework for Understanding Removal Effects in Multi-Touch Attribution,” arXiv preprint arXiv:2302.06075, 2023.
[3]: https://competition.huaweicloud.com/informations/mobile/1000041487/dataset

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/620957.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SpringBoot的家庭记账管理系统的设计与实现

摘 要 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个…

数据结构之线性表

1.线性表的定义 线性表是由n(n≥0)个类型相同的数据元素组成的有限 序列,记作:L 𝑎0, 𝑎1, ⋯ , 𝑎𝑖 , ⋯ , 𝑎𝑛−1 2 线性表的顺序存储结构实现 线性表的顺序存储结构称为顺序表(…

2023年前端面试汇总-HTML

1. src和href的区别 src和href都是用来引用外部的资源,它们的区别如下: src表示对资源的引用,它指向的内容会嵌入到当前标签所在的位置。src会将其指向的资源下载并应用到文档内,如请求js脚本。当浏览器解析到该元素时&#xff…

HyperLogLog数据结构

基数计数(cardinality counting) 通常用来统计一个集合中不重复的元素个数,例如统计某个网站的UV,或者用户搜索网站的关键词数量。数据分析、网络监控及数据库优化等领域都会涉及到基数计数的需求。 要实现基数计数,最简单的做法是记录集合中…

34岁出来面试,还被拒绝有多惨?

我强烈建议大家定期去参加一下外面的面试,尤其是BAT大厂的面试,不要一直闷在公司里,不然你很容易被这个世界遗弃。 前言 昨天,我们小组长奉命去面了一个34岁的测试员。 去了大概半个多小时吧,回来后,他的…

图数据库(二):Java操作图数据库

在上篇文章中,我们介绍了什么是Neo4j,什么是Cypher以及Neo4j的使用,今天我们学习一下如何使用Java操作Neo4j图数据库。 Cypher查询 在使用Java操作Neo4j之前,我们先了解一点,Cypher语句简单查询。 本文使用的是Neo4j…

Flutter的状态管理之Provider

Provider简介 Flutter Provider是Flutter中一个非常流行的状态管理库,它可以帮助开发者更加方便地管理应用程序中的状态。Provider提供了一种简单的方式来共享和管理应用程序中的数据,并且可以根据数据的变化来自动更新UI界面。 Provider的核心思想是将…

网络协议——什么是RIP协议?工作原理是什么?

作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 目录 一、什么是RIP协议? 二、为什么要使用RIP? 三、RIP用在哪里? 四、RIP协议的工作原理 五、总结 …

Redis安装布隆过滤器

目录 1 什么是布隆过滤器1.1 布隆过滤器的原理1.2 布隆过滤器缺点 2 插件形式安装2.1 下载布隆过滤器插件 3 docker方式单机安装4 Redis集群部署安装4.1 创建目录4.2 redis配置文件4.3 配置docker-compose.yml文件4.4 启动布隆过滤器集群4.5 配置集群4.6 布隆过滤器常用命令4.7…

如何将simulink中的元件(光伏板)导入到plecs中使用

simulink中有一些元件在plecs中是没有的,如果想要直接使用simulink的库,可以这样操作: 1 新建mdl文件(simulink的文件类型),并在该文件中搭建好想要的模型、元件(只放想要导出的元件就可以了&…

商城检索 DSL

模糊匹配过滤(按照属性、分类、品牌、价格区间、库存)排序分页高亮聚合分析 一. 搜索关键字 检索字段:商品sku标题 “skuTitle” : “华为 HUAWEI Mate 30 Pro 亮黑色 8GB256GB麒麟990旗舰芯片OLED环幕屏双4000万徕卡电影四摄4G全网通手机”…

基于Java+SpringBoot+Vue前后端分离考试学习一体机设计与实现(视频讲解)

博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

docker-compose单机容器集群编排

docker-compose dockerfile模板文件可以定义一个独立的应用容器,如果需要多个容器就需要服务编排。服务编排有很多技术方案 docker-compose开源的项目实现对容器集群的快速编排 docker-compose将所管理的容器分为三层,分别为工程,服务&#…

Jenkins+RF持续集成测试(三) 生成测试报告并发给指定人

在上一篇《定时更新SVN完成构建》中讲了定时从SVN拉取最新的测试脚本,并自动构建的过程。这篇我将介绍怎么配置测试robot报告,并发送给指定人群。 1、要发给指定人,首先需要在job配置,构建后操作中增加“Editable Email Notificat…

day3 ARM寄存器组织

目录 寄存器 ARM寄存器 专用寄存器 CPSR寄存器 寄存器 概念:寄存器是处理器内部的存储器,没有地址; 作用:一般用于暂时存放参与运算的数据和运算结果; 分类:包括通用寄存器、专用寄存器、控制寄存器&…

腾讯云数据库2022下半年本地部署市场收入同比增速达110%,远超市场平均水平

6月7日,记者获悉,据全球领先的IT市场研究和咨询公司IDC发布的《2022年下半年中国关系型数据库软件市场跟踪报告》显示,在Top 5厂商中,腾讯云数据库整体收入同比增速、本地部署模式收入同比增速均位列第一。 具体来看,…

ChatPPT一键制作PPT,效果拉满~

💧 C h a t P P T 一 键 制 作 P P T , 效 果 拉 满 ! \color{#FF1493}{ChatPPT一键制作PPT,效果拉满!} ChatPPT一键制作PPT,效果拉满!💧 🌷 仰望天空&#xf…

网络安全面试题集及答案整理汇总(2023最新版详细)

前言 随着国家政策的扶持,网络安全行业也越来越为大众所熟知,想要进入到网络安全行业的人也越来越多。 为了拿到心仪的Offer之外,除了学好网络安全知识以外,还要应对好企业的面试。 作为一个安全老鸟,工作这么多年&…

如何安装intellij IDEA

想要自学编程,又不知道从那开始,百度找起来比较费劲,现在有个比较便捷的途径,就是直接问chatgpt。 在询问chatgpt后,得知目前比较流行的开发工具是intellij IDEA,然后问了chatgpt怎么下载这个工具&#xf…

当Python程序员好不好?我用自己的亲身经历告诉大家

最近有很多人问我是否考虑转行成为Python程序员,包括一些非计算机专业的学生和工作了几年的人。对于这个问题,我不太好给出建议,只能以我的个人经历来谈一下。我个人认为,我处于整个程序员群体的中位水平线上,因此大家…