UMEpi算法

267 阅读2分钟

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

Utility-Driven Mining of High Utility Episodes

样例

效用值表

External Utility

复杂事件序列

A Complex Event Sequence

定义

大多基本定义可以参考 UP-Span 算法,以下作一些补充及关键的定义。

  • 事件发生时间段(Occurrence)定义与UP-Span中保持一致,这里做补充说明,设复杂情节 α=<{A,D}B>\alpha = \big< \lbrace A,D \rbrace \rightarrow B \big>,之所以称为复杂情节是因为该情节包含并行发生事件集({A,D}\lbrace A, D \rbrace)和串行发生事件集({A,D},{B}\lbrace A,D \rbrace, \lbrace B \rbrace),则事件发生时间段集合为 occSet(α)occSet(\alpha) ={[T1,T2],[T1,T5],[T1,T6],[T3,T5],[T3,T6]} \lbrace [T_1,T_2],[T_1,T_5],[T_1,T_6],[T_3,T_5],[T_3,T_6] \rbrace,需要注意的是,事件 AADD 必须是同时发生的(也就是发生在同一个时间点)否则就是串行发生事件,与原情节 α\alpha 设定不符

  • 最大时间段(Maximum time duration)类似于早期情节挖掘算法中的滑动窗口,是需要用户指定的时间约束(MTD),避免因为时间跨度太长导致计算量的增大和事件之间的关联性降低,对任意情节 α\alpha 的时间跨度满足 TeTsMTDT_{\rm e} - T_{\rm s} \le MTD,显然最小发生时间跨度 mo(α)mo(\alpha) 恒满足该不等式。

    Ps. 这里需要注意的是,UP-Span 中的定义是 TeTs+1MTDT_{\rm e} - T_{\rm s} + 1 \le MTD,UMEpi算法这样设计的原因是为了提供一个更精确的边界,理解也更简单

  • 情节权重效用值(Episode-Weighted Utilization)计算公式有两种:

    • UP-Span:EWU(α,mo(α))=i=1k1u(Ei,Ti)+i=TeTs+MTDu(SEi,Ti)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(α,mo(α))=i=1ku(Ei,Ti)+i=TeTs+MTDu(SEi,Ti)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})

    其中 α=<(E1),,(Ek)>,  Ti(1ik)\alpha = \big< (E_1),\ldots,(E_{\rm k}) \big>, \; T_{\rm i}(1 \le i \le k),TSpan在时间点 TeT_{\rm e} 上的事件集会重复计算,进而导致 EWU 不精确,我们可以举例说明:

    α=<{A,D}B>,mo(α)=[T1,T2]\alpha = \big<\lbrace A,D \rbrace \rightarrow B\big>, \, mo(\alpha) = [T_1, T_2],则可以得到以下两条计算结果

    UPSpan: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)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)

    可以明显看到发生在 T2T_2 时间点上的事件 BB 被重复计算,进而导致最终结果计算偏大,UMEpi算法采用的是UP-Span的计算方式

    需要额外指出的是,EWU不同于TWU和SWU,它只能作为局部剪枝情况出现,而不是像另外两个那样一次性可以从头剪枝到位(因为occurrence和扩展方式不同的缘故)例如设 MTD=2,  minUtil=50%,  TU=94MTD = 2, \; minUtil = 50\%, \; TU = 94 情节 α=<A,B,D>\alpha = \big<A,B,D\big>EWU(α)EWU(\alpha) = $24属于低效用,应该被剪枝,但是它的扩展情节 <EB{A,B,D}>\big<E \rightarrow B \rightarrow \lbrace A,B,D \rbrace \big>($48),<{D,E}B{A,B,D}>\big<\lbrace D,E \rbrace \rightarrow B \rightarrow \lbrace A,B,D \rbrace \big>($51) 却是高效用情节。 \\ 所以,在情节效用挖掘中,存在 “低效用情节可以经过扩展变成高效用情节” 的现象,这也是挖掘过程中的难点所在

  • 情节剩余效用(Remaining utility of an episoderu(α,Ti)=e∉ααeu(e,Ti)ru(\alpha, T_{\rm i}) = \sum_{\rm e^\prime \not\in \alpha \land \alpha \prec e^\prime}u(e^\prime, T_{\rm i}) 其中 ee^\prime 是一个个事件且这些事件是排在时间点 TiT_{\rm i} 上的情节 α\alpha 之后,这是EWU计算的关键,因为只有考虑了剩余情节效用(潜在能够扩展的事件集),EWU才能算作是边界值,而且注意z在复杂事件序列上某个情节的剩余效用之和计算的时间跨度为 Te+1TiTs+MTDT_{\rm e}+1 \le T_{\rm i} \le T_{\rm s} + MTD

    根据情节剩余效用,我们可以对EWU进行有优化,可以得到新的公式:

    EWU(α,mo(α))=u(α,mo(α))+ru(Ek,Te)+i=Te+1Ts+MTDtu(Ti)=i=1ku(Ei,Ti)+ru(Ek,Te)+i=Te+1Ts+MTDtu(Ti)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})

    其中 TeTiTs]+MTDT_{\rm e} \le T_{\rm i} \le T_{\rm s]}+MTD

  • 高效用情节(High-utility episode)给定一个复杂事件序列 SS,最大时间段 MTD 以及用户设置的阈值 minUtil,当 SS 中的事件(集)满足 u(α)minUtil×TUu(\alpha) \ge minUtil \times TU,我们称该事件(集)为 HUE

策略

Episode-Weighted Downward Closure Property

  • 词典序列树(Lexicographic sequence tree)基于前缀树的根节点为空,且对于父节点(也叫前缀节点)的所有子节点都通过连接(串,并)形成,这些子节点之间是有序的

    Ps. 和 EHIN 中的空间检索枚举树一致

    在词典序列树中我们可以使用 u(γ)EWU(γ)EWU(α)minUtil×TUu(\gamma) \le EWU(\gamma) \le EWU(\alpha) \le minUtil \times TU 这个不等式来进行剪枝,其中 γ\gamma 是 情节 α\alpha 的扩展情节(扩展分为 Simult-ConnectionSerial-Connection),推导过程只要比较他们的定义式就可以证明

算法

该算法也是分两步走:1)扫描生成1阶HUEs;2)不断调用 HUE-Span 方法利用低阶组合生成高阶HUEs

UMEpi Algorithm

The Span-SimultHUE procedure

The Span-SimultHUE procedure

The Span-SerialHUE procedure

The Span-SerialHUE procedure

总结

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