背景
在统计学和概率论中,点过程 (Point process) 或点场 (Point field) 是随机位于数学空间(如实线或欧氏空间)上的数学点的集合。点过程可以用来作为现象或物体的数学模型,在某种类型的空间中可以用点表示。
点过程方法主要解决的问题是对连续时间上的离散事件(discrete events in continuous time)构建模型,用以分析历史事件序列对未来事件的因果关系。
举例说明,Amazon 对于某一个用户,给定用户以往的购买记录(什么时候买了什么东西),如何来预测该用户什么时候再次登录购买以及下次登录会买什么?给定一个病人以外的生病记录(哪天得到了怎样的诊断),如何预测该病人之后可能在什么时候需要怎样的治疗?
点过程建模方法非常多,此处简单学习下常用的霍克斯过程 Hawkes process。
霍克斯过程
自/互激励过程(self/mutual-exciting process),亦称为霍克斯过程(Hawkes processes,以 1971 年提出者 Hawkes 教授姓氏命名),主要思想:发生的历史事件对于未来事件的发生有激励作用(正向作用),并且假设历史事件对未来的影响是单调指数递减的,然后以累加的形式进行叠加。
对于U 维霍克斯过程Nt 中的事件类型u∈C={1,2,…,U},其条件强度函数可以表示为
λu(t)=μu(t)+v∈C∑ti<t∑κuv(t−ti)
其中κ:R+→R+ 是一个核函数,表示过去的事件Ti 对当前事件类型λ(t) 的时间衰减效应;μu(t) 表示特定事件u 的基本强度 (background intensity),表示在时间t 自发事件的概率;{ti:ti<ti+1}∈R 表示第i 个事件的发生时间。
核函数最常用的形式是指数核函数,计算公式如下
κuv(t)=αuve−βuv(t)
其中αuv 表示事件类型v 对事件类型u 的影响程度,βuv 控制衰减率。
通过以上形式可以看出:假设每个历史事件对未来的影响都是正向的(positive),线性累加的(linearly additive)且指数单调衰减的(decay)。
但实际上事件类型间的影响可能不是这种单调的,因此后续有论文提出了基于 LSTM 网络学习的模型 The Neural Hawkes Process: A Neurally Self-Modulating Multivariate Point Process,此处就不再详细介绍。
参数求解
霍克斯过程中的参数一般都是通过最优化对数似然函数进行求解。
假设μ=(μu)∈RU 表示是时间基本强度,A=(αuv)∈RU×U 为事件类型间的影响矩阵,可以表示事件间的因果关系。
对于事件序列集合S={S1,S2,…,Sm},每个事件序列Si={(aij,tij)}j=1ni 为时间区间[0,Ti] 观测到的事件集合,其中每个事件(aij,tij) 表示事件类型aij 的发生时间为tij。霍克斯过程模型参数Θ={μ,A} 对应的对数似然为
L(μ,A)=i=1∑m(j=1∑nilogλaij(tij)−u=1∑U∫0Tiλu(t)dt)
由于影响矩阵A 通常是稀疏且低秩的,因此需要添加惩罚项。例如添加 Lasso 和核范数 (nuclear norms) 来限制矩阵A,如下式所示
μ≥0,A≥0min−L(μ,A)+ρ1∥A∥1+ρ2∥A∥∗
其中∣∣⋅∣∣1 表示L1 范数,∣∣⋅∣∣∗=∑i=1rankAσi 表示表示核范数。参数ρ1 和ρ2 控制不同惩罚项的权重。
很多算法来求解上述极值优化问题,论文中推荐一个算法可以参考:Estimation of Space–Time Branching Process Models in Seismology Using an EM–Type Algorithm …😧…
参考