写在前面:该篇算法是第一篇能够完整挖掘出所有高效用情节,与UP-Span有些许定义上的不同,但正是这点点不同,导致挖掘结果的精度有很大的变化
Utility-Driven Mining of High Utility Episodes
样例
External Utility Table:
A Complex Event Sequence:
![A Complex Event Sequence]((/assets/img/algorithm/UMEpi算法/complex event sequence.png)
大多基本定义可以参考 UP-Span 算法,以下作一些补充及关键的定义。
事件发生时间段(Occurrence)定义与UP-Span中保持一致,这里做补充说明,设复杂情节 $\alpha = \big< \lbrace A,D \rbrace \rightarrow B \big>$,之所以称为复杂情节是因为该情节包含并行发生事件集($\lbrace A, D \rbrace$)和串行发生事件集($\lbrace A,D \rbrace, \lbrace B \rbrace$),则事件发生时间段集合为 $occSet(\alpha) $=$ \lbrace [T_1,T_2],[T_1,T_5],[T_1,T_6],[T_3,T_5],[T_3,T_6] \rbrace$,需要注意的是,事件 $A$ 和 $D$ 必须是同时发生的(也就是发生在同一个时间点)否则就是串行发生事件,与原情节 $\alpha$ 设定不符
最大时间段(Maximum time duration)类似于早期情节挖掘算法中的滑动窗口,是需要用户指定的时间约束(MTD),避免因为时间跨度太长导致计算量的增大和事件之间的关联性降低,对任意情节 $\alpha$ 的时间跨度满足 $T_{\rm e} - T_{\rm s} \le MTD$,显然最小发生时间跨度 $mo(\alpha)$ 恒满足该不等式。
Ps. 这里需要注意的是,UP-Span 中的定义是 $T_{\rm e} - T_{\rm s} + 1 \le MTD$,UMEpi算法这样设计的原因是为了提供一个更精确的边界,理解也更简单
情节权重效用值(Episode-Weighted Utilization)计算公式有两种:
- UP-Span:$EWU(\alpha, mo(\alpha)) = \sum_{\rm i=1}^{\rm k-1}u(E_{\rm i}, T_{\rm i})+\sum_{\rm i=T_e}^{T_s+MTD}u(SE_{\rm i}, T_{\rm i})$
- TSpan:$EWU(\alpha, mo(\alpha)) = \sum_{\rm i=1}^{\rm k}u(E_{\rm i}, T_{\rm i})+\sum_{\rm i=T_e}^{T_s+MTD}u(SE_{\rm i}, T_{\rm i})$
其中 $\alpha = \big< (E_1),\ldots,(E_{\rm k}) \big>, \; T_{\rm i}(1 \le i \le k)$,TSpan在时间点 $T_{\rm e}$ 上的事件集会重复计算,进而导致 EWU 不精确,我们可以举例说明:
设 $\alpha = \big<\lbrace A,D \rbrace \rightarrow B\big>, \, mo(\alpha) = [T_1, T_2]$,则可以得到以下两条计算结果 \(UP-Span: EWU(\alpha, mo(\alpha)) = u(\lbrace A,D \rbrace, T_1)+u(\lbrace B,C \rbrace, T_2)+u(\lbrace A,D,E \rbrace, T_3) \\ TSpan: EWU(\alpha, mo(\alpha)) = u(\lbrace A,D \rbrace, T_1)+u(B, T_2)+u(\lbrace B,C \rbrace, T_2)+u(\lbrace A,D,E \rbrace, T_3)\) 可以明显看到发生在 $T_2$ 时间点上的事件 $B$ 被重复计算,进而导致最终结果计算偏大,UMEpi算法采用的是UP-Span的计算方式
需要额外指出的是,EWU不同于TWU和SWU,它只能作为局部剪枝情况出现,而不是像另外两个那样一次性可以从头剪枝到位(因为occurrence和扩展方式不同的缘故)例如设 $MTD = 2, \; minUtil = 50\%, \; TU = 94$ 情节 $\alpha = \big<A,B,D\big>$ 的 $EWU(\alpha) = $24$ 属于低效用,应该被剪枝,但是它的扩展情节 $\big<E \rightarrow B \rightarrow \lbrace A,B,D \rbrace \big>($48)$,$\big<\lbrace D,E \rbrace \rightarrow B \rightarrow \lbrace A,B,D \rbrace \big>($51)$ 却是高效用情节。
所以,在情节效用挖掘中,存在 “低效用情节可以经过扩展变成高效用情节” 的现象,这也是挖掘过程中的难点所在
情节剩余效用(Remaining utility of an episode)$ru(\alpha, T_{\rm i}) = \sum_{\rm e^\prime \not\in \alpha \land \alpha \prec e^\prime}u(e^\prime, T_{\rm i})$ 其中 $e^\prime$ 是一个个事件且这些事件是排在时间点 $T_{\rm i}$ 上的情节 $\alpha$ 之后,这是EWU计算的关键,因为只有考虑了剩余情节效用(潜在能够扩展的事件集),EWU才能算作是边界值,而且注意z在复杂事件序列上某个情节的剩余效用之和计算的时间跨度为 $T_{\rm e}+1 \le T_{\rm i} \le T_{\rm s} + MTD$
根据情节剩余效用,我们可以对EWU进行有优化,可以得到新的公式: \(EWU(\alpha, mo(\alpha)) = u(\alpha, mo(\alpha)) + ru(E_{\rm k}, T_{\rm e}) + \sum_{\rm i=T_{e}+1}^{T_{\rm s}+MTD}tu(T_{\rm i}) \\ = \sum_{\rm i=1}^{\rm k}u(E_{\rm i}, T_{\rm i}) + ru(E_{\rm k}, T_{\rm e}) + \sum_{\rm i=T_{\rm e}+1}^{T_{\rm s}+MTD}tu(T_{\rm i})\) 其中 $T_{\rm e} \le T_{\rm i} \le T_{\rm s]}+MTD$
高效用情节(High-utility episode)给定一个复杂事件序列 $S$,最大时间段 MTD 以及用户设置的阈值 minUtil,当 $S$ 中的事件(集)满足 $u(\alpha) \ge minUtil \times TU$,我们称该事件(集)为 HUE
策略
Episode-Weighted Downward Closure Property
词典序列树(Lexicographic sequence tree)基于前缀树的根节点为空,且对于父节点(也叫前缀节点)的所有子节点都通过连接(串,并)形成,这些子节点之间是有序的
Ps. 和 EHIN 中的空间检索枚举树一致
在词典序列树中我们可以使用 $u(\gamma) \le EWU(\gamma) \le EWU(\alpha) \le minUtil \times TU$ 这个不等式来进行剪枝,其中 $\gamma$ 是 情节 $\alpha$ 的扩展情节(扩展分为 Simult-Connection 和 Serial-Connection),推导过程只要比较他们的定义式就可以证明
算法
该算法也是分两步走:1)扫描生成1阶HUEs;2)不断调用 HUE-Span 方法利用低阶组合生成高阶HUEs
![UMEpi Algorithm]((/assets/img/algorithm/UMEpi算法/UMEpi algorithm.png)
The Span-SimultHUE procedure:
![The Span-SimultHUE procedure]((/assets/img/algorithm/UMEpi算法/The Span-SimultHUE procedure.png)
The Span-SerialHUE procedure:
![The Span-SerialHUE procedure]((/assets/img/algorithm/UMEpi算法/The Span-SerialHUE procedure.png)
总结
该文主要贡献在于 :1)论证了低权重情节也有可能与高权重情节组合生成高权重情节,这是以前HUEM算法都没有考虑周全的地方;2)使用剩余效用值重新定义了更紧凑的 EWU,这使得在运算速度上大大提高了;3)与UP-Span等算法相比,没有采用预测机制来推断哪些情节是高效的,$moSet(\alpha)$ 存储了 情节 $\alpha$ 的所有的发生子序列(也就是潜在可以组合的情节)