2. 四川旅游学院 信息与工程学院 四川 成都 610100
2. School of Information and Engineering, Sichuan Tourism University, Chengdu 610100, China
作为决策粗糙集[1]的核心思想之一,三支决策理论近年来在各方面[2-11]均取得了长足的进展。各种先进的理论如形式三支粒计算、三支概念分析、三支认知计算、三支模糊集方法、三支决策空间[2-7]等均受到三支决策的启发。此外,在三支决策基础上又实践了多种机器学习技术,如三支推荐系统、三支主动学习、三支聚类[8]、三支邻域覆盖约简[9]、三支垃圾邮件过滤[10]、项集三支增量挖掘[11]等。
增量算法利用已有的知识和增量数据得到最新的知识[11],能够极好地适应大数据场景。对于模式发现问题,人们针对购物数据提出了频繁项集的增量算法如三支决策更新模式方法(three-way decision update pattern,TDUP)[11]和快速更新算法(fast update,FUP)[12]。对于各种序列数据,如股价、文本、基因,设计了频繁闭合序列挖掘算法(incremental bide,BideInc)[13]。对于最一般的时序交互数据[14],如出行轨迹、购物清单、观影评分[15]等,大量的增量算法如增量序列提取(incremental sequence extraction,ISE)[16]和增量更新序列(incrementally updating sequences,IUS)[17]被提出来获得频繁的事件/行为序列。多元时序数据(multivariant time series, MTS)如空气质量、工业设备、人体健康数据上的频繁模式[18]挖掘同样受到了广泛关注[19-20]。然而,MTS上的频繁模式增量挖掘算法还有待丰富。
本文提出了MTS数据上状态转移模式(state transition pattern,STAP)[20]的三支增量挖掘算法(three-way incremental updating method of state transition pattern,3IU-STAP)。该算法由4个阶段组成。第一,增量更新频繁状态。它们是构成STAP的基本分量元素,其集合可被视为构成STAP的字母表。第二,构造候选STAP以及增补数据db′。任意候选STAP均是由两个更短的频繁STAP链接而来。从原始数据DB截取的尾部长度是由候选序列的长度和通配符区间的上界来确定的。对于所有长度相同的候选STAP,所截取的尾部是一致的。因此,在最坏情况下,构建增补数据的次数为MTS数据的长度;而在平均情况下,其构建次数与最长频繁STAP的长度一致。第三,通过判断候选STAP在DB和db′上频繁或不频繁的表现,将所有候选模式划分进3个互不相交的集合中,即正域(positive region,POS)、负域(negative region,NEG)和边界域(boundary region,BND)。当一个候选STAP在DB和db′上均频繁,则它一定是频繁的,令其属于正域。当一个候选STAP在DB和db′上均不频繁,则它一定是不频繁的,令其属于负域。否则,将其划入边界域,通过重新扫描DB或db′获得准确的支持度,并判断该STAP是否频繁。第四,算法依靠所获得的频繁模式来构造更长的候选模式,直到生成候选模式集合为空时终止。
对环境工程、工业设备、石油工程等领域的4个真实数据集进行实验,结果表明,增量算法与批量算法相比,时间性能提高了5.3~649倍,且增量越小,效率越高。
1 基础知识本章首先介绍MTS的数据模型。在此基础上描述状态、STAP及其支持度。
1.1 数据模型定义1[20] MTS是一个四元组
在模式挖掘过程中,人们通常关注符号型的MTS数据。对于传感器网络采集的数值型数据,需要进行离散化。
1.2 状态转移模式任意给定一个符号型多元时间序列,其描述的系统所有可能状态的数量为
定义2[20] 给定
通配符Δ=[G, G]是模式P上任意两个相邻状态之间的区间约束,其中,G和G分别表示最小和最大区间约束。即是说,相邻状态之间的最小间隔为G,而最大间隔为G。
定义3[20] 给定两个状态转移模式P=s1Δs2…si,P′=s′1Δs′2…s′j,i, j≥1,它的增长操作是P⊗P′=s1Δs2…siΔs1′Δs2′…sj′。
定义4[20] 给定
1) 1≤i1≤|T|; 2) ∀1≤j≤k-1, G≤ij+1-ij+1≤G。
条件1)是为了确保I的位置在i1索引范围内,其他位置没有这个要求。条件2)确保满足间隙约束,也就是说sj+1应该出现在[G+ij+1, G+ij+1]中。
定义5[20] 给定多元时序数据
$ m\left( {DB,I,P} \right) = \left\{ {\begin{array}{*{20}{c}} {1,}&{若\;\forall 1 \le j \le k,状态\;{s_j}\;在时间\;{t_{{i_j}}}\;上发生;}\\ {0,}&{其他。} \end{array}} \right. $ |
定义6[20] 给定一个时序数据
其中|EP|表示模式P在DB上出现的次数。因此,P在DB上的支持度是
$ sup \left( {P,DB} \right) = \left( {\left| {{E^P}} \right|/\left| E \right|} \right) \in \left[ {0,1} \right]。$ |
当时间序列DB给定时,可以简写成sup(P)。由此可给出频繁STAP的定义。
定义7[20] 给定阈值ρd,频繁STAP的集合为
$ F = \left\{ {\forall P \in F\left| {sup \left( P \right) \ge {\rho _d}} \right.} \right\}。$ |
本节首先提出STAP的增量挖掘问题并分析其时间复杂度。其次,提出了解决该问题的三支增量模型。然后,基于模型提出了3IU-STAP算法设计与实现。
2.1 问题描述问题:增量挖掘频繁STAP。
输入:
输出:FDB∪db={|P|sup(s∈P, DB∪db)≥ρw, sup(P, DB∪db)≥ρd}。FDB∪db是在更新后的数据集上所有满足阈值ρw和ρd的频繁STAP的集合。
令|T|=n,|A|=m,则
$ \odot \left( {\sum\limits_{k = 1}^n m n{{\left| \Delta \right|}^{k - 1}}{{\left( M \right)}^k} + mnM} \right) = \odot \left( {m{n^2}{{\left| \Delta \right|}^n}{{\left( M \right)}^{n + 1}}} \right)。$ |
虽然问题的时间复杂度是指数级的,但可通过引理1描述的向下封闭性质来大大减少实际运行时间。
引理1 假设ρd是STAP的序列阈值。如果P⊆P′,则sup(P′)≤sup(P)。
2.2 3IU-STAP算法 2.2.1 三支增量模型对于任意给定的候选模式P (由定义3可得)以及支持度,根据它在原始数据DB和增补数据db′上是否频繁,提出了判断候选模式是否频繁的三支划分模型,如式(1)所示,
$ \left\{ \begin{array}{l} P \in POS,\mathit{sup}\left( {P,DB} \right) \ge {\rho _d}\;及\;\mathit{sup}\left( {P,db'} \right) \ge {\rho _d},\\ P \in {\rm{NEG}},\mathit{sup}\left( {P,DB} \right) < {\rho _d}\;及\;\mathit{sup}\left( {P,db'} \right) < {\rho _d},\\ P \in {\rm{BND}},其他。\end{array} \right. $ | (1) |
图 1给出了针对这3个区域的处理技术。正域中的候选模式P一定是频繁的,直接接受并存储。负域中的候选模式P一定是不频繁的,直接拒绝并抛弃。边界域中的模式P需要延迟决策,即扫描数据集计算最新的支持度。当一个候选STAP在DB上频繁,而在db′上不频繁,即sup(P, DB)≥ρd且sup(P, db′) < ρd,扫描db′;当该模式在DB上不频繁,而在db′上频繁,即sup(P, DB) < ρd且sup(P, db′)≥ρd,扫描DB。
![]() |
图 1 STAP增量挖掘三分而治示意图 Fig. 1 Tri-partition and actions |
如图 2所示,增补数据集db′由原始数据DB的尾部与增量数据db链接而来,它能保证算法得到准确的STAP挖掘结果。当db被插入时,在DB与db的链接部分会产生额外的序列信息。如果将其遗漏,某些STAP的支持度会变小。对于给定长度为k的任意状态转移模式P=s1Δs2…sk,复制DB尾部一段数据tail,长度为|tail|=(k-1)·(G+1)。因此,STAP的支持度为
![]() |
图 2 构造增补数据 Fig. 2 Construct supplementary data |
$ sup \left( {P,db'} \right) = \left( {\left| {E_{db'}^P} \right| - \left| {E_{tail}^P} \right|} \right)/\left| {{E_{db}}} \right|, $ |
其中:序列集合Edb′P表示在db′上匹配模式P的位置序列;|EtailP|表示tail中模式P已出现的位置序列个数,由于tail上模式P的个数在DB中已经计算过,因此需将其减去;Edb是P在db上出现的位置序列。
最后,基于式(1)与图 1所示模型导出引理2和引理3,以有效降低算法对数据集的扫描。
引理2 若P是存在于正域中的候选模式,则模式P在DB∪db上频繁。
证明
$ \frac{{\left| {E_{DB}^P} \right|}}{{\left| {{E_{DB}}} \right|}} \ge {\rho _d};\frac{{\left| {E_{db'}^P} \right| - \left| {E_{tail}^P} \right|}}{{\left| {{E_{db}}} \right|}} \ge {\rho _d}, $ | (2) |
由于|EDB|>0且|Edb|>0, 则有
$ \left| {E_{DB}^P} \right| \ge {\rho _d} \cdot \left| {{E_{DB}}} \right|, $ | (3) |
$ \left| {E_{db'}^P} \right| - \left| {E_{tail}^P} \right| \ge {\rho _d} \cdot \left| {{E_{db}}} \right|。$ | (4) |
不等式同号可相加,由式(3)+式(4)得
$ \left| {E_{db'}^P} \right| - \left| {E_{tail}^P} \right| + \left| {E_{DB}^P} \right| \ge {\rho _d} \cdot \left| {{E_{DB}}} \right| + {\rho _d} \cdot \left| {{E_{db}}} \right|。$ | (5) |
则可得到
$ sup \left( {P,DB \cup db} \right) = \frac{{\left| {E_{DB}^P} \right| + \left| {E_{db'}^P} \right| - \left| {E_{tail}^P} \right|}}{{\left| {{E_{DB}}} \right| + \left| {{E_{db}}} \right|}} = \frac{{\left| {E_{DB}^P} \right| + \left| {E_{db'}^P} \right| - \left| {E_{tail}^P} \right|}}{{\left| {{E_{DB \cup db}}} \right|}} \ge {\rho _d}。$ |
因此P在DB∪db上频繁。
引理3 若P是存在于负域中的候选模式,则模式P在DB∪db上不频繁。
证明 与引理2同理。
2.2.2 算法描述算法1给出了频繁状态转移模式三支增量挖掘算法的伪代码实现。其输入由7部分组成,即原始数据DB及其频繁状态集W和频繁STAP集FDB、增量数据db、通配符区间Δ、以及两种阈值ρw和ρd,ρw被用于判断一个状态是否频繁,ρd被用于判断一个STAP是否频繁。其输出为更新后的数据集DB∪db上的频繁STAP集合FDB∪db。
算法1 状态转移模式三支增量挖掘。
输入:DB,db,ρd,ρw,Δ,FDB,W;
输出:FDB∪db。//最新的频繁STAP
方法名:3IU-STAP
1.根据W, DB, db以及ρw增量更新频繁状态集,记为W*;
2.初始化1-FDB∪db←{ssup(s)≥ρd≥ρw}⊆W*, k←2, FDB∪db←∅;
3. while ((k-1)-FDB∪db≠∅) do
4. k-FDB∪db←∅;//正域中所有长度为k的STAP集合
5. 根据tail和db构造增补数据db′; //将tail作为db的头部
6. 构建候选模式集k-O=(k-1)-FDB∪db⊗1-FDB∪db; //笛卡尔积
7. for each P∈k-O do
8. if sup(P,db′)≥ρd then
9. if P∈FDB then k-FDB∪db=k-FDB∪db∪{P}; //将频繁模式P存入正域
10. else isFrequent=delayDecision(DB, P, ρd, Δ); //扫描DB,返回布尔值
11. if isFrequent then k-FDB∪db=k-FDB∪db∪{P};
12. else //在db′上不频繁
13. if P∈FDB then isFrequent=delayDecision(db′, P, ρd, Δ); //扫描db′,返回布尔值
14. if isFrequent then k-FDB∪db=k-FDB∪db∪{P};
15. else continue; //此时P属于负域,一定不频繁,直接抛弃
16. return FDB∪db。
第6行描述了两个频繁STAP集合的笛卡尔积。对任意模式P∈(k-1)-FDB∪db以及P′∈1-FDB∪db,长度为k的候选模式通过P⊗P′获得。第8~9行组成的条件对应了式(1)中正域判定条件,其候选STAP属于正域可直接存储。第12、15行对应了式(1)中负域划分条件直接抛弃。第10~11行及13~14行分别描述了两种延迟决策技术。
算法2实现了delayDecision方法以重新扫描DB并获得新的支持度信息。如果这个新支持度不小于指定阈值ρd,则再将其划入正域,否则抛弃。
算法2 扫描数据集以更新支持度。
输入:DB, P=s1Δ2…sk, ρd, Δ=[G, G];
输出:TRUE or FALSE。
方法名:delayDecision
1. occ=0;
2. for i=1;i < T-k; i++ do
3. if s1匹配ti then occ=occ+count(DB, P, G, G, α←1, β←2); //算法3
4. if sup(P)=occ/(|T|×(G-G+1)k-1)≥ρd then return TRUE;
5. else return FALSE。
算法3实现了方法count。其中α表示匹配到了DB中第α个时间点,β表示匹配到了模式P中第β个状态。
算法3 统计以ti开头的所有匹配次数。
输入:DB, P=s1Δs2…sk, ρd, Δ=[G, G],α,β;
输出:occ。
方法名:count
1. if β等于k then return 1; //P中所有的状态都完成了一次匹配
2. occ=0;
3. for i=α+G+1;i≤α+G且α+i≤T; it+do
4. if sβ匹配tα+i then occ=occ+count(DB, P, G, G, α+1, β+1);
5. return occ。
3 实验本章节通过实验对两方面展开了讨论:1) 3IU-STAP性能与频繁阈值ρd的关系;2) 3IU-STAP性能与增量大小的关系。
3.1 数据集与预处理实验环境为CPU:i5-7500 3.40 GHz;内存6 GB;操作系统:Windows 10;IDE:Eclipse,Java。
表 1展示了数据集的基本信息。依次来自UCI、全国数学建模比赛(半开放)、中国海洋石油公司(油井维护数据)。采用的离散化方案参见文献[20]。
![]() |
表 1 数据集的基本信息 Tab. 1 Basic information of data set |
如图 3所示,在各数据集中,增量算法分别比批量算法快7.7倍、12倍、649倍、5.3倍。其中,Δ=[3, 6],增量划分比例为10%,Apriori-STAP是批量算法。
![]() |
图 3 批量算法与3IU-STAP算法时间性能 Fig. 3 Batch algorithm and 3IU-STAP algorithm time performance |
图 4为基于不同增量数据划分比例(r)的算法性能表现。当划分比例较小时,运行时间少。随着r的增加,运行时间增加。因为增量越大,边界域所耗费的时间越大。
![]() |
图 4 增量大小对时间性能的影响 Fig. 4 The effect of incremental size on time performance |
本文基于三支决策理论,提出了一种多元时序数据上状态转移模式的三支增量模型与挖掘算法3IU-STAP。在插入增量数据时,通过三支划分模型将大量的候选模式划分为正域和负域,从而减少扫描数据集的次数。通过构造增补数据集来确保扫描结果的完备性。理论分析与大量实验结果表明,3IU-STAP能准确高效地获得结果。
[1] |
徐久成, 刘洋洋, 杜丽娜, 等. 基于三支决策的支持向量机增量学习方法[J]. 计算机科学, 2015, 42(6): 82-87. XU J C, LIU Y Y, DU L N, et al. Three-way decisions-based incremental learning method for support vector machine[J]. Computer science, 2015, 42(6): 82-87. ( ![]() |
[2] |
YANG X, LI T R, LIU D, et al. A temporal-spatial composite sequential approach of three-way granular computing[J]. Information sciences, 2019, 486: 171-189. DOI:10.1016/j.ins.2019.02.048 ( ![]() |
[3] |
朱晓敏, 祁建军. 基于三支概念格线图的混合蕴含获取[J]. 郑州大学学报(理学版), 2017, 49(4): 16-21. ZHU X M, QI J J. Mining mixed implications based on the line diagrams of three-way concept lattices[J]. Journal of Zhengzhou university(natural science edition), 2017, 49(4): 16-21. ( ![]() |
[4] |
SANG B B, GUO Y T, SHI D R, et al. Decision-theoretic rough set model of multi-source decision systems[J]. International journal of machine learning and cybernetics, 2018, 9(11): 1941-1954. DOI:10.1007/s13042-017-0729-x ( ![]() |
[5] |
LI J H, HUANG C C, QI J J, et al. Three-way cognitive concept learning via multi-granularity[J]. Information sciences, 2017, 378: 244-263. DOI:10.1016/j.ins.2016.04.051 ( ![]() |
[6] |
DENG X F, YAO Y Y. Decision-theoretic three-way approximations of fuzzy sets[J]. Information sciences, 2014, 279: 702-715. DOI:10.1016/j.ins.2014.04.022 ( ![]() |
[7] |
HU B Q. Three-way decisions space and three-way decisions[J]. Information sciences, 2014, 281: 21-52. DOI:10.1016/j.ins.2014.05.015 ( ![]() |
[8] |
于洪, 陈云. 基于Spark的三支聚类集成方法[J]. 郑州大学学报(理学版), 2018, 50(1): 20-26. YU H, CHEN Y. Clustering ensemble method using three-way decisions based on spark[J]. Journal of Zhengzhou university(natural science edition), 2018, 50(1): 20-26. ( ![]() |
[9] |
YUE X D, CHEN Y F, MIAO D Q, et al. Tri-partition neighborhood covering reduction for robust classification[J]. International journal of approximate reasoning, 2017, 83: 371-384. DOI:10.1016/j.ijar.2016.11.010 ( ![]() |
[10] |
ZHOU B, YAO Y Y, LUO J G. Cost-sensitive three-way email spam filtering[J]. Journal of intelligent information systems, 2014, 42(1): 19-45. ( ![]() |
[11] |
LI Y, ZHANG Z H, CHEN W B, et al. TDUP: an approach to incremental mining of frequent itemsets with three-way-decision pattern updating[J]. International journal of machine learning and cybernetics, 2017, 8(2): 441-453. DOI:10.1007/s13042-015-0337-6 ( ![]() |
[12] |
CHEUNG D W, HAN J W, NG V T, et al. Maintenance of discovered association rules in large databases: an incremental updating technique[C]//Proceedings of the Twelfth International Conference on Data Engineering. New Orleans, 1996: 106-114. https://ieeexplore.ieee.org/document/492094
( ![]() |
[13] |
石怀东, 蔡铭, 吴洪森, 等. 增量式频繁闭合序列挖掘算法[J]. 浙江大学学报(工学版), 2009, 43(8): 1389-1395. SHI H D, CAI M, WU H S, et al. An incremental algorithm for mining frequent closed patterns[J]. Journal of Zhejiang university(engineering science), 2009, 43(8): 1389-1395. DOI:10.3785/j.issn.1008-973X.2009.08.007 ( ![]() |
[14] |
AGRAWAL R, SRIKANT R. Mining sequential patterns[C]//Proceedings of the Eleventh International Conference on Data Engineering. Taipei, 1995: 3-14.
( ![]() |
[15] |
RIPSTEIN Z A, RUBINSTEIN J L. Processing of Cryo-EM movie data[J]. Methods in enzymology, 2016, 579: 103-124. DOI:10.1016/bs.mie.2016.04.009 ( ![]() |
[16] |
MASSEGLIA F, PONCELET P, TEISSEIRE M. Incremental mining of sequential patterns in large databases[J]. Data & knowledge engineering, 2003, 46(1): 97-121. ( ![]() |
[17] |
ZHENG Q G, XU K, MA S L, et al. The algorithms of updating sequential patterns[C]//Proceedings of 5th International Workshop on High Performance Data Mining. Washington, 2002: 1-12. http://www.oalib.com/paper/4076401
( ![]() |
[18] |
袁巩生, 王丽珍, 陈红梅, 等. 基于模式融合挖掘巨型频繁co-location模式[J]. 郑州大学学报(理学版), 2018, 50(3): 39-45. YUAN G S, WANG L Z, CHEN H M, et al. Mining spatial colossal prevalent co-location patterns based on pattern fusion method[J]. Journal of Zhengzhou university(natural science edition), 2018, 50(3): 39-45. ( ![]() |
[19] |
ZHUANG D E H, LI G C L, WONG A K C. Discovery of temporal associations in multivariate time series[J]. IEEE transactions on knowledge and data engineering, 2014, 26(12): 2969-2982. DOI:10.1109/TKDE.2014.2310219 ( ![]() |
[20] |
ZHANG Z H, ZHAI W J, SHEN R P, et al. State transition pattern with periodic wildcard gaps[C]// IEEE International Conference on Big Knowledge (ICBK). Singapore, 2018: 440-447.
( ![]() |