写在前面:该篇算法是第一篇能够完整挖掘出所有高效用情节,与UP-Span有些许定义上的不同,但正是这点点不同,导致挖掘结果的精度有很大的变化
Utility-Driven Mining of High Utility Episodes
样例
效用值表

复杂事件序列

定义
大多基本定义可以参考 UP-Span 算法,以下作一些补充及关键的定义。
-
事件发生时间段(Occurrence)定义与UP-Span中保持一致,这里做补充说明,设复杂情节 α=⟨{A,D}→B⟩,之所以称为复杂情节是因为该情节包含并行发生事件集({A,D})和串行发生事件集({A,D},{B}),则事件发生时间段集合为 occSet(α)={[T1,T2],[T1,T5],[T1,T6],[T3,T5],[T3,T6]},需要注意的是,事件 A 和 D 必须是同时发生的(也就是发生在同一个时间点)否则就是串行发生事件,与原情节 α 设定不符
-
最大时间段(Maximum time duration)类似于早期情节挖掘算法中的滑动窗口,是需要用户指定的时间约束(MTD),避免因为时间跨度太长导致计算量的增大和事件之间的关联性降低,对任意情节 α 的时间跨度满足 Te−Ts≤MTD,显然最小发生时间跨度 mo(α) 恒满足该不等式。
Ps. 这里需要注意的是,UP-Span 中的定义是 Te−Ts+1≤MTD,UMEpi算法这样设计的原因是为了提供一个更精确的边界,理解也更简单
-
情节权重效用值(Episode-Weighted Utilization)计算公式有两种:
- UP-Span:EWU(α,mo(α))=∑i=1k−1u(Ei,Ti)+∑i=TeTs+MTDu(SEi,Ti)
- TSpan:EWU(α,mo(α))=∑i=1ku(Ei,Ti)+∑i=TeTs+MTDu(SEi,Ti)
其中 α=⟨(E1),…,(Ek)⟩,Ti(1≤i≤k),TSpan在时间点 Te 上的事件集会重复计算,进而导致 EWU 不精确,我们可以举例说明:
设 α=⟨{A,D}→B⟩,mo(α)=[T1,T2],则可以得到以下两条计算结果
UP−Span:EWU(α,mo(α))=u({A,D},T1)+u({B,C},T2)+u({A,D,E},T3)TSpan:EWU(α,mo(α))=u({A,D},T1)+u(B,T2)+u({B,C},T2)+u({A,D,E},T3)
可以明显看到发生在 T2 时间点上的事件 B 被重复计算,进而导致最终结果计算偏大,UMEpi算法采用的是UP-Span的计算方式
需要额外指出的是,EWU不同于TWU和SWU,它只能作为局部剪枝情况出现,而不是像另外两个那样一次性可以从头剪枝到位(因为occurrence和扩展方式不同的缘故)例如设 MTD=2,minUtil=50%,TU=94 情节 α=⟨A,B,D⟩ 的 EWU(α) = $24属于低效用,应该被剪枝,但是它的扩展情节 ⟨E→B→{A,B,D}⟩($48),⟨{D,E}→B→{A,B,D}⟩($51) 却是高效用情节。
所以,在情节效用挖掘中,存在 “低效用情节可以经过扩展变成高效用情节” 的现象,这也是挖掘过程中的难点所在
-
情节剩余效用(Remaining utility of an episode)ru(α,Ti)=∑e′∈α∧α≺e′u(e′,Ti) 其中 e′ 是一个个事件且这些事件是排在时间点 Ti 上的情节 α 之后,这是EWU计算的关键,因为只有考虑了剩余情节效用(潜在能够扩展的事件集),EWU才能算作是边界值,而且注意z在复杂事件序列上某个情节的剩余效用之和计算的时间跨度为 Te+1≤Ti≤Ts+MTD
根据情节剩余效用,我们可以对EWU进行有优化,可以得到新的公式:
EWU(α,mo(α))=u(α,mo(α))+ru(Ek,Te)+i=Te+1∑Ts+MTDtu(Ti)=i=1∑ku(Ei,Ti)+ru(Ek,Te)+i=Te+1∑Ts+MTDtu(Ti)
其中 Te≤Ti≤Ts]+MTD
-
高效用情节(High-utility episode)给定一个复杂事件序列 S,最大时间段 MTD 以及用户设置的阈值 minUtil,当 S 中的事件(集)满足 u(α)≥minUtil×TU,我们称该事件(集)为 HUE
策略
Episode-Weighted Downward Closure Property
-
词典序列树(Lexicographic sequence tree)基于前缀树的根节点为空,且对于父节点(也叫前缀节点)的所有子节点都通过连接(串,并)形成,这些子节点之间是有序的
Ps. 和 EHIN 中的空间检索枚举树一致
在词典序列树中我们可以使用 u(γ)≤EWU(γ)≤EWU(α)≤minUtil×TU 这个不等式来进行剪枝,其中 γ 是 情节 α 的扩展情节(扩展分为 Simult-Connection 和 Serial-Connection),推导过程只要比较他们的定义式就可以证明
算法
该算法也是分两步走:1)扫描生成1阶HUEs;2)不断调用 HUE-Span 方法利用低阶组合生成高阶HUEs

The Span-SimultHUE procedure:

The Span-SerialHUE procedure:

总结
该文主要贡献在于 :1)论证了低权重情节也有可能与高权重情节组合生成高权重情节,这是以前HUEM算法都没有考虑周全的地方;2)使用剩余效用值重新定义了更紧凑的 EWU,这使得在运算速度上大大提高了;3)与UP-Span等算法相比,没有采用预测机制来推断哪些情节是高效的,moSet(α) 存储了 情节 α 的所有的发生子序列(也就是潜在可以组合的情节)