Mining Serial Episode Rules with Time Lags over Multiple Data Streams
180 likes | 322 Views
Mining Serial Episode Rules with Time Lags over Multiple Data Streams. Tung-Ying Lee, En Tzu Wang Dept. of CS, National Tsing Hua Univ. (Taiwan) Arbee L.P. Chen Dept. of CS, National Chengchi Univ. (Taiwan) DaWaK’08. Outline. Introduction Related work Preliminaries
Mining Serial Episode Rules with Time Lags over Multiple Data Streams
E N D
Presentation Transcript
Mining Serial Episode Rules with Time Lags over Multiple Data Streams Tung-Ying Lee, En Tzu Wang Dept. of CS, National Tsing Hua Univ. (Taiwan) Arbee L.P. Chen Dept. of CS, National Chengchi Univ. (Taiwan) DaWaK’08
Outline • Introduction • Related work • Preliminaries • Support of a serial episode • Support/ confidence of a serial episode rule • Data structure used in the algorithms • Algorithms • LossyDL • TLT • Experiments • Conclusions
Introduction • In many applications, data are generated as a form of continuous data streams. • Continuously detecting flow and occupancy of a road to qualify the congestion condition of a road forms data streams • When roads A and B have heavy traffic, 5 mins later, road C will most likely be congested • Regarding the values of flows and occupancies coming from roads as an environment of multi-streams and finding serial episode rules from it • Serial episode rules with time lags (SER) : XlagY
Related Work • Finding episodes/episode rules from static time series data has been studied for decades • Finding episodes over data streams • Serial episodes [SSDBM04] • Episodes [KDD07] Precursor Successor B D A D B A E L C Serial episode rule Episode D B A Serial episode
Preliminaries • Environment: a centralized system collecting n synchronized data streams DS1, DS2, …, DSn • n-tuple event: a set of items coming from all streams at the same time • itemset: a subset of an n-tuple event • serial episode: described as an ordered list of itemsets e.g. serial episode (aA)(bB) Itemset {gA} time: 1, 2, 3, 4, 5, 6, 7, 8 DS1: a, b, b, c, g, a, b, f DS2: A, B, S, G, A, B, A, F DSn: , , , , , , , … n-tuple event
Preliminaries (cont.) • Minimal occurrence: given a serial episode S, a time interval [a, b] is a minimal occurrence of S, if • S occurs in [a, b] • S does not occur in any proper subintervals of [a, b] • If (b-a+1) T, a time bound given by users, [a, b] is valid • MO(S): the set of all minimal occurrences of S • Supp(S): the number of valid minimal occurrences of S Time bound T: 3 DS1 DS2
Preliminaries (cont.) • A SER is R: S1Lag = LS2 • Supp(R): |{[a, b]|[a, b]MO(S1)[a, b]: valid [c, d] MO(S2)[c, d]: valid s.t. (c-a) = L} • Conf(R) = Supp(R)/Supp(S1) 4 Time bound T: 3 DS1 DS2
Preliminaries (cont.) • Problem Formulation: given 4 parameters • the maximum time lag (Lmax) • the minimum support (minsup) • the minimum confidence (minconf) • the time bound (T) • Find all SERs e.g. R: S1Lag = LS2 satisfying • L Lmax • Supp(R) N minsup, (N: the number of received n-tuple events) • Conf(R) minconf • Calculating supports for serial episodes and SERs must take T into account
Preliminaries (cont.) • Using the prefix tree for keeping serial episodes • S: a serial episode, X: an item • S+X: X follows S • S+_X: X and the last itemset in S appear at the same time Level 0 Root A B Level 1 _B B Serial episode (AB) Level 2 Serial episode (A)(B)
B B [2, 3] [1, 3] LossyDL • The concept of LossyDL: keeping the valid minimal occurrences of a serial episode for generating rules Processing C can generate (B)(C): [2, 3] and (BC): [3, 3] At time point = 3, a 2-tupe event (BC) arrives, T = 3 Each item in the current 2-tuple event needs to be processed (traversing in a bottom-up order) B A [2, 2] [3, 3] [1, 1] The last two minimal occurrences needs to be checked B [1, 2] [1, 3]: not minimal Using Lossy Counting [VLDB02], whenever N 0 mod 1/, the oldest minimal occurrence is removed
LossyDL (Rule Generation) • Mining SERs • For any two serial episode with supports (minsup ) N are checked to see if any minimal occurrences of them can be combined. Then, Supp(R) can be computed • For each R: S1Lag = LS2, it will be returned if • Supp(R) (minsup ) N, and • (Supp(R) + N)/Supp(S1) minconf
TLT • A lot of minimal occurrences are kept in LossyDL, but only the last two are used while updating • Keeping supports instead of the minimal occurrence lists • How to generate rules without the minimal occurrence lists? • Re: using the following observations to prune the insignificant rules • Observations • XL(AB) and XLA, obviously Supp(XLA) Supp(XL(AB)): XL(AB) is not significant if XLA does not satisfy one of minsup and minconf • (AB)L(CD) and ALC, obviously Supp(ALC) Supp((AB)L(CD)): (AB)L(CD) is not significant if Supp(ALC) < Supp(AB) minconf
TLT (cont.) • Observations (cont.): • Given a SER: (A)(B)5(CD), and T = 3 • A1B or A2B, that is ApB, 0<p< T (T1 types) • A1B4(CD), A2B3(CD), that is ApBLp(CD) • Supp(ApBLp(CD)) min(Supp(ApB), Supp(BLpC)) • (A)(B)5(CD) is not significant, if • pmin(Supp(ApB), Supp(BLpC)) < Supp(A)(B) minconf • Using the observations to prune insignificant rules • Time lag table (TLT) • ALB is a reduced SER, if A and B are single items • For finding S1LmaxS2, the reduced SERs having a time lag at most Lmax+T1 (from the first itemset of precursor to the last itemset of successor) • Using Lmax+T1 Time Lag Tables to keep the supports of reduced SER
TLT (cont.) • The support and the last two minimal occurrences of an serial episode are kept in the prefix tree • Keeping supports instead of keeping minimal occurrence lists • Keeping the last two minimal occurrences for updating the supports • WheneverN 0 mod 1/, all supports are decreased by 1 • In addition, the last Lmax+T1 n-tuple events are kept for updating the Time Lag Tables
TLT (Rule Generation) • Mining SERs • Any two serial episode with supports (minsup ) N form the candidate SERs • A candidate SER will be returned if it can pass the pruning rules from the above observations
Experiments • Two real dataset • PDOMEI: the dataset contains the dryness and climate indices derived by experts, usually used to predict droughts • Four streams with distinct items # = 28 • Traffic: the dataset is “Twin Cities’ Traffic data near the 50th St. during the first week of Feb, 2006 • Three streams with distinct items # = 55 • Parameter setting • = 0.1minsup • Lmax = 10
Conclusions • We address the problem of finding significant serial episode rules with time lags over multiple data streams and propose two methods to solve it. TLT is more space-efficient, but LossyDL has high precision • In the near future, we will combine these two methods into a hybrid method to investigate the balance between memory space and precision • Moreover, we will try to extend the problem of finding serial episode rules to that of finding general episode rules