背景

在统计学和概率论中,点过程 (Point process) 或点场 (Point field) 是随机位于数学空间(如实线或欧氏空间)上的数学点的集合。点过程可以用来作为现象或物体的数学模型,在某种类型的空间中可以用点表示。

点过程方法主要解决的问题是对连续时间上的离散事件(discrete events in continuous time)构建模型,用以分析历史事件序列对未来事件的因果关系。

举例说明,Amazon 对于某一个用户,给定用户以往的购买记录(什么时候买了什么东西),如何来预测该用户什么时候再次登录购买以及下次登录会买什么?给定一个病人以外的生病记录(哪天得到了怎样的诊断),如何预测该病人之后可能在什么时候需要怎样的治疗?

点过程建模方法非常多,此处简单学习下常用的霍克斯过程 Hawkes process。

霍克斯过程

自/互激励过程(self/mutual-exciting process),亦称为霍克斯过程(Hawkes processes,以 1971 年提出者 Hawkes 教授姓氏命名),主要思想:发生的历史事件对于未来事件的发生有激励作用(正向作用),并且假设历史事件对未来的影响是单调指数递减的,然后以累加的形式进行叠加。

对于UU 维霍克斯过程NtN_t 中的事件类型uC={1,2,,U}u\in \mathcal{C}=\{1,2, \ldots, U\},其条件强度函数可以表示为

λu(t)=μu(t)+vCti<tκuv(tti)\lambda_u(t)=\mu_u(t)+\sum_{v\in \mathcal{C}}\sum_{t_{i}<t} \kappa_{uv}\left(t-t_{i}\right)

其中κ:R+R+\kappa: \mathbb{R}^{+} \rightarrow \mathbb{R}^{+} 是一个核函数,表示过去的事件TiT_i 对当前事件类型λ(t)\lambda(t) 的时间衰减效应;μu(t)\mu_u(t) 表示特定事件uu 的基本强度 (background intensity),表示在时间tt 自发事件的概率;{ti:ti<ti+1}R\left\{t_{i}: t_{i}<t_{i+1}\right\} \in \mathbb{R} 表示第ii 个事件的发生时间。

核函数最常用的形式是指数核函数,计算公式如下

κuv(t)=αuveβuv(t)\kappa_{uv}(t)=\alpha_{uv} e^{-\beta_{uv}(t)}

其中αuv\alpha_{uv} 表示事件类型vv 对事件类型uu 的影响程度,βuv\beta_{uv} 控制衰减率。

通过以上形式可以看出:假设每个历史事件对未来的影响都是正向的(positive),线性累加的(linearly additive)且指数单调衰减的(decay)。

但实际上事件类型间的影响可能不是这种单调的,因此后续有论文提出了基于 LSTM 网络学习的模型 The Neural Hawkes Process: A Neurally Self-Modulating Multivariate Point Process,此处就不再详细介绍。

参数求解

霍克斯过程中的参数一般都是通过最优化对数似然函数进行求解。

假设μ=(μu)RU\mu =(\mu_u)\in R^U 表示是时间基本强度,A=(αuv)RU×UA=(\alpha_{uv})\in R^{U\times U} 为事件类型间的影响矩阵,可以表示事件间的因果关系。

对于事件序列集合S={S1,S2,,Sm}\mathcal{S}=\left\{S_{1}, S_{2}, \ldots, S_{m}\right\},每个事件序列Si={(aij,tij)}j=1niS_i=\{(a_{ij}, t_{ij})\}_{j=1}^{n_i} 为时间区间[0,Ti][0, T_i] 观测到的事件集合,其中每个事件(aij,tij)(a_{ij}, t_{ij}) 表示事件类型aija_{ij} 的发生时间为tijt_{ij}。霍克斯过程模型参数Θ={μ,A}\Theta=\{\mu, A\} 对应的对数似然为

L(μ,A)=i=1m(j=1nilogλaij(tij)u=1U0Tiλu(t)dt)\mathcal{L}(\mu, A)=\sum_{i=1}^{m}\left(\sum_{j=1}^{n_{i}} \log \lambda_{a_{i j}}\left(t_{i j}\right)-\sum_{u=1}^{U} \int_{0}^{T_{i}} \lambda_{u}(t) d t\right)

由于影响矩阵AA 通常是稀疏且低秩的,因此需要添加惩罚项。例如添加 Lasso 和核范数 (nuclear norms) 来限制矩阵AA,如下式所示

minμ0,A0L(μ,A)+ρ1A1+ρ2A\min _{\mu \geq 0, A \geq 0}-\mathcal{L}(\mu, A)+\rho_{1}\|A\|_{1}+\rho_{2}\|A\|_{*}

其中1||\cdot||_1 表示L1L_1 范数,=i=1rankAσi||\cdot ||_*=\sum_{i=1}^{rankA}\sigma_i 表示表示核范数。参数ρ1\rho_1ρ2\rho_2 控制不同惩罚项的权重。

很多算法来求解上述极值优化问题,论文中推荐一个算法可以参考:Estimation of Space–Time Branching Process Models in Seismology Using an EM–Type Algorithm …😧…

参考

Contact