Data Mining Temporal pattern mining: beyond (simple) sequential patterns Fouille de motifs temporels : au-delà des motifs séquentiels (simples) 1 Outline Classical sequential pattern-mining methods GSP PrefixSpan Extensions to sequential pattern-mining Delay between events Event duration Relations between events with duration 2
What Is Sequential Pattern Mining? Given a set of sequences (a long unique sequence), find the complete set of frequent subsequences A sequence : < (ef) (ab) (df) c b > SID sequence 10 <a(abc)(ac)d(cf)> 20 <(ad)c(bc)(ae)> 30 <(ef)(ab)(df)cb> 40 <eg(af)cbc> 3 Sequence Databases & Sequential Patterns Applications of sequential pattern mining Customer shopping sequences: First buy computer, then CD-ROM, and then digital camera, within 3 months. Medical treatments, natural disasters (e.g., earthquakes), science & eng. processes, stocks and markets, etc. Telephone calling patterns, Weblog click streams DNA sequences and gene structures Transaction databases, time-series databases vs. sequence databases Frequent patterns vs. (frequent) sequential patterns 4
Sequential Pattern Mining: definitions Transaction: items bought by some client at a specific date T=<id-client, id-date, itemset> (Data) sequence: list of a client s itemsets ordered by date S=<s 1 =itemset(t 1 ),, s n =itemset(t n )> Sequence inclusion: s 1 =<a 1 a 2 a n > is included in s 2 =<b 1 b 2 b m > (noted s 1 < s 2 ) iff there exist i 1 <i 2 < <i n such that a 1 b i1, a 2 b i2,, a n b in Support: A client supports a sequence s if s belongs to this client data sequence The support of a sequence is the ratio of clients that support this sequence 5 The Apriori Property of Sequential Patterns A basic property: Apriori (Agrawal & Sirkant 94) If a sequence S is not frequent Then none of the super-sequences of S is frequent E.g, <hb> is infrequent so do <hab> and <(ah)b> Seq. ID 10 20 30 40 50 Sequence <(bd)cb(ac)> <(bf)(ce)b(fg)> <(ah)(bf)abf> <(be)(ce)d> <a(bd)bcb(ade)> 6
Challenges on Sequential Pattern Mining A huge number of possible sequential patterns are hidden in databases A mining algorithm should find the complete set of patterns, when possible, satisfying the minimum support (frequency) threshold be highly efficient, scalable, involving only a small number of database scans be able to incorporate various kinds of user-specific constraints 8 Sequential Pattern Mining Algorithms Concept introduction and an initial Apriori-like algorithm Agrawal & Srikant. Mining sequential patterns, ICDE 95 Apriori-based method: GSP (Generalized Sequential Patterns: Srikant & Agrawal @ EDBT 96) Pattern-growth methods: FreeSpan & PrefixSpan (Han et al.@kdd 00; Pei, et al.@icde 01) Vertical format-based mining: SPADE (Zaki@Machine Leanining 00) Constraint-based sequential pattern mining (SPIRIT: Garofalakis, Rastogi, Shim@VLDB 99; Pei, Han, Wang @ CIKM 02) Mining closed sequential patterns: CloSpan (Yan, Han & Afshar @SDM 03) 9
GSP Generalized Sequential Pattern Mining GSP (Generalized Sequential Pattern) mining algorithm proposed by Agrawal and Srikant, EDBT 96 Method generate frequent length-1 candidates from frequent items in DB generate frequent length-2 candidates by self-joining 2 frequent length-1 patterns: <(A) (A)>, <(A) (B)>, <(A B)> for each level (i.e., sequences of length-k) do scan database to collect support count for each candidate sequence generate candidate length-(k+1) sequences from length-k frequent sequences using Apriori (self-join) repeat until no frequent sequence or no candidate can be found Major strength: Candidate pruning by Apriori Self-join: < (A B) (C ) > < (A B) (C ) > < (B) (C D)> < (B) (C ) (E)> < (A B) (C D) > < (A B) (C ) (E) > 10 Finding Length-1 Sequential Patterns Examine GSP using an example Initial candidates: all singleton sequences <a>, <b>, <c>, <d>, <e>, <f>, <g>, <h> Scan database once, count support for candidates Seq. ID Sequence 10 <(bd)cb(ac)> 20 <(bf)(ce)b(fg)> 30 <(ah)(bf)abf> 40 <(be)(ce)d> 50 <a(bd)bcb(ade)> Cand Sup <a> 3 <b> 5 <c> 4 <d> 3 <e> 3 <f> 2 <g> 1 <h> 1 11
GSP: Generating Length-2 Candidates <a> <b> <c> <d> <e> <f> 51 length-2 Candidates <a> <aa> <ab> <ac> <ad> <ae> <af> <b> <ba> <bb> <bc> <bd> <be> <bf> <c> <ca> <cb> <cc> <cd> <ce> <cf> <d> <da> <db> <dc> <dd> <de> <df> <e> <ea> <eb> <ec> <ed> <ee> <ef> <f> <fa> <fb> <fc> <fd> <fe> <ff> <a> <b> <c> <d> <e> <f> <a> <(ab)> <(ac)> <(ad)> <(ae)> <(af)> <b> <(bc)> <(bd)> <(be)> <(bf)> <c> <(cd)> <(ce)> <(cf)> <d> <(de)> <(df)> <e> <(ef)> <f> Without Apriori property, 8*8+8*7/2=92 candidates Apriori prunes 44.57% candidates 12 The GSP Mining Process 5 th scan: 1 cand. 1 length-5 seq. pat. <(bd)cba> Cand. cannot pass sup. threshold 4 th scan: 8 cand. 6 length-4 seq. pat. 3 rd scan: 46 cand. 19 length-3 seq. pat. 20 cand. not in DB at all 2 nd scan: 51 cand. 19 length-2 seq. pat. 10 cand. not in DB at all 1 st scan: 8 cand. 6 length-1 seq. pat. <abba> <(bd)bc> <abb> <aab> <aba> <baa> <bab> <aa> <ab> <af> <ba> <bb> <ff> <(ab)> <(ef)> <a> <b> <c> <d> <e> <f> <g> <h> Seq. ID Sequence Cand. not in DB at all 10 20 30 40 50 <(bd)cb(ac)> <(bf)(ce)b(fg)> <(ah)(bf)abf> <(be)(ce)d> <a(bd)bcb(ade)> 13
Candidate Generate-and-test: Drawbacks A huge set of candidate sequences generated. Especially 2-item candidate sequence. Multiple Scans of database needed. The length of each candidate grows by one at each database scan. Inefficient for mining long sequential patterns. A long pattern grow up from short patterns The number of short patterns is exponential to the length of mined patterns. 14 PrefixSpan: prefix-projected pattern growth Divide and conquer strategy Given a frequent prefix α (initially α=null), mine S α the projected database, to find frequent 1-pattern. Form the frequent pattern α =α.b. Then, mine S α, etc. Original DB is recursively projected by item prefixes to yield smaller databases Each projected database can be mined separately Prefix: the sequence s 2 =<e 1 e 2 b m > is a prefix of the sequence s 1 =<e 1 e 2 e n > (m<n) iff e i =e i for 1 i m-1 e m e m <e m e m+1 e n > is a suffix (postfix) of s 1 15
Prefix and Suffix (Projection) <a>, <aa>, <a(ab)> and <a(abc)> are prefixes of sequence <a(abc)(ac)d(cf)> Given sequence <a(abc)(ac)d(cf)> Prefix <a> <aa> <a(ab)> Suffix (Prefix-Based Projection) <(abc)(ac)d(cf)> <(_bc)(ac)d(cf)> <(_c)(ac)d(cf)> 16 Mining Sequential Patterns by Prefix Projections Step 1: find length-1 sequential patterns <a>:4, <b>:4, <c>:4, <d>:3, <e>:3, <f>:3 Step 2: divide search space. 6 subsets according to the 6 prefixes a, b, c, d, e, f Step 3: Find subsets of sequential patterns by constructing corresponding projected databases and mine each recursively SID sequence 10 <a(abc)(ac)d(cf)> 20 <(ad)c(bc)(ae)> 30 <(ef)(ab)(df)cb> 40 <eg(af)cbc> 17
Finding Seq. Patterns with Prefix <a> Only need to consider projections w.r.t. <a> <a>-projected database: <(abc)(ac)d(cf)>, <(_d)c(bc)(ae)>, <(_b) (df)cb>, <(_f)cbc> Find local frequent patterns in <a>-projected database: <a>:2, <b>:4, <(_b)>:2, <c>:4, <d>:2, <f>:2 Yields all the length-2 seq. pat. Having prefix <a>: <aa>, <ab>, <(ab)>, <ac>, <ad>, <af> Further partition into 6 subsets Having prefix <aa>; Having prefix <af> <aa>-projected database: <(_bc)(ac)d(cf)> and <(_e)> SID sequence 10 <a(abc)(ac)d(cf)> 20 <(ad)c(bc)(ae)> 30 <(ef)(ab)(df)cb> 40 <eg(af)cbc> 18 Completeness of PrefixSpan Having prefix <a> <a>-projected database <(abc)(ac)d(cf)> <(_d)c(bc)(ae)> <(_b)(df)cb> <(_f)cbc> SID SDB sequence 10 <a(abc)(ac)d(cf)> 20 <(ad)c(bc)(ae)> 30 <(ef)(ab)(df)cb> 40 <eg(af)cbc> Having prefix <b> Length-1 sequential patterns <a>, <b>, <c>, <d>, <e>, <f> Having prefix <c>,, <f> <b>-projected database Length-2 sequential patterns <aa>, <ab>, <(ab)>, <ac>, <ad>, <af> Having prefix <aa> Having prefix <af> <aa>-proj. db <af>-proj. db 22
PrefixSpan Algorithm PrefixSpan(α, i, S α) 1. Scan S α once, find the set of frequent items b such that b can be assembled to the last element of α to form a sequential pattern; or <b> can be appended to α to form a sequential pattern. 2. For each frequent item b, appended it to α to form a sequential pattern α, and output α ; 3. For each α, construct α -projected database S α, and call PrefixSpan(α, i+1,s α ). 23 Performance on Data Set C10T8S8I8 24
Performance on Data Set Gazelle 25 Extensions de la fouille de motifs séquentiels Objets temporels Événements temporels datés ou ordonnés dans le temps (liés par les relation {<, =}) Événements à base d intervalles datés ou ordonnés dans le temps (liés par relation d Allen) Données temporelles Base de séquences Séquence unique + fenêtres successives ou glissantes Motifs Séquence d événements : ensemble d itemsets ordonnés dans le temps Séquence d événements + caractérisation numérique ou catégorique des délais inter-événements Séquence d intervalles + relations d Allen Idem + caractérisation numérique de la durée des événements Idem + caractérisation des délais entre (bornes des) intervalles 28
Extensions de la fouille de motifs séquentiels Prise en compte explicite du temps Séquence d événements ponctuels datés S=<(a 0, t 0 ), (a 1, t 1 ),, (a n, t n )> Motifs série avec délais (IApriori, IPrefixSpan Chen, Chiang, Ko 03 ; Hirate, Yamana 06) P=<b 0, I 1, b 1, I 2,,, I n, b n > Motifs séries-parallèles e.g. chroniques (Face Dousson, Duong 99, Cram 09) Séquence d événements intervalles estampillés S=<(a 0, t 0, t 0 ), (a 1, t 1, t 1 ),, (a n, t n, t n )> Encodage des séquence d intervalles en séquence d événements ponctuels et méthode classique adaptée (IApriori, TPrefixSpan, Ti- Hprefixspan - Chen et al. 06, 07, 09) Relations d Allen (Kam 01, Papapetrou et al 05, Patel et 08) Événements persistants épisodes généralisés (Laxman 07) Motifs à base d intervalles avec durée numérique (Guyet, Quiniou 08, 10) 29 Chen, Chiang, Ko 2003 Discovering time-interval sequential patterns in sequence databases (Expert systems with applications) But : caractériser les délais entre items d un motif séquentiel Motivations : nombreuses applications pouvant utiliser de telles informations (business, e- commerce, police, médical, etc.) Contributions : insertion de pseudo items représentant les délais 30
Chen, Chiang, Ko 2003 Séquences : S=<(a 0, t 0 ), (a 1, t 1 ),, (a n, t n )> Délais obtenus par discrétisation du temps : TI={I 0, I 1,, I n } I 0 ={0}, I 1 =]0, T 1 ], I 2 =] T 1, T 2 ],, I r-1 =] T r-2, T r-1 ], I r-1 =]T r-1, ] Motifs : time interval sequences P=<b 0, & 1, b 1, & 2,,, & m, b m >, bi : E={Events}, & 2 : TI Inclusion: P est contenu dans S s il existe un mapping ordonné 1 < j1 < < jm entre les indices de P et ceux de S tel que b 1 =a j1, b 2 =a j2, b m =a jm tji-tji-1 in Ii-1 pour 1 < i < m Support : nombre de séquences de DB contenant le motif 31 Chen, Chiang, Ko 2003 Algorithmes : IApriori : extension de GSP Génération de candidats : jointure de motifs de longueur k-1 + association de tous les délais possibles (ensemble TI) pour former un motif de longueur k Modification de l arbre des candidats prenant en compte les délais IPrefixSpan : Définitions de projection, préfixe, suffixe Tenir compte du délai entre un événement fréquent de S et le préfixe Combinatoire augmentée Évaluations Comparaison avec GSP et PrefixSpan Datasets synthétiques GSP < Iapriori < PrefixSpan IPrefixSpan 32
Hirate, Yamana 2006 Generalized sequential pattern mining with item intervals (Journal of computers) But : pouvoir exprimer des contraintes sur les délais entre événements lors du processus de fouille Motivation : pouvoir distinguer entre A < 1jour B et A < 1an B Contributions: Deux mesures de délais : nombre d items (séquences génomiques), intervalle de temps (séquences temporelles) Séquences étendues par insertion de pseudo items (basés sur une fonction de discrétisation des intervalles) représentant les délais Quatre types de contraintes item-intervalle 33 Hirate, Yamana 2006 Séquences : interval extended sequence S=<(t 1,1, X 1 ), (t 1,2, X 2 ),, (t 1,m, X m )> t i,j est l intervalle (temporel ou indiciel) entre les items X i et X j Interval itemization function : permet de changer la granularité temporelle. Utilisée par test d occurrence et test de sous-séquence : S 1 =<(t 1,1, X 1 ), (t 1,2, X 2 ),, (t 1,m, X m )> est incluse dans S 1 =<(t 1,1, X 1 ), (t 1,2, X 2 ),, (t 1,m, X m ),, (t 1,n, X n )> ssi X i X i et I(t 1,i )=I(t 1,j ) Contraintes sur les intervalles (délais) : min_interval (anti-mon), max_interval, (anti-mon) min_whole_interval (mon), max_whole_interval (anti-mon) 34
Hirate, Yamana 2006 Algorithme : extension de PrefixSpan Définitions de préfixe, suffixe, inclusion Redéfinition de l opération de projection sur des interval extended sequences Adaptation pour l utilisation des contraintes Anti-monotones : test au moment de la projection Monotones : test après extraction Evaluation Dataset réel : tremblement de terre au Japon (dataset dense) Comparaison Qualité des motifs extraits : pouvoir prédictif Nombre de motifs extraits : évite une extraction exponentielle avec des supports faibles Effet des contraintes assez faible Temps d exécution : nettement meilleur que PrefixSpan pour des supports faibles 35 Dousson, Duong 1999 Discovering chronicles with numerical time constraints from alarm logs for monitoring dynamic systems, in IJCAI 99 But : Motivations : Applications en monitoring de réseaux de télécoms Temps important pour surveiller la propagation des alarmes Contributions : Extension du travail de Mannila, Toivonen (95) épisodes séries ou parallèles -> chroniques Caractérisation numérique du délai entre événements algorithme Apriori-like utilisant CRS : FACE 36
Dousson, Duong 1999 Séquences (logs) : S=<(a 0, t 0 ), (a 1, t 1 ),, (a n, t n )> Motifs : modèles de chronique chronique : (C A, T), T={a i [t ij-, t ij+ ] a j (a i, a j ) CxC} Instance de chronique : ensemble d événements d une séquence satisfaisant toutes les contraintes temporelles de la chronique Sous-chronique : C est une sous-chronique de C si de toute instance de C on peut extraire une instance de C Fréquence d une chronique : nombre d instances de la chronique reconnues dans la séquence Chronique fréquente : de fréquence supérieure à un seuil de fréquence minimal Anti-monotonie : une chronique est fréquente si toutes ses souschroniques sont fréquentes 37 Dousson, Duong 1999 Algorithme de type Apriori : extraction par niveau d itemsets fréquents avec répétition puis intégration de contraintes temporelles Génération de candidats sans contrainte : C k = C k-1 U {C 1 } Test de fréquence minimale des sous-chroniques (sans contraintes) Génération des chroniques avec contrainte Encadrement des délais observés pour les instances de chronique de taille 2 Propagation des contraintes pour obtenir le graphe temporel complet minimal Calcul de la fréquence par CRS puis élagage 38
Dousson, Duong 1999 Évaluation Données réseau télécommunications : motifs de propagation d alarmes Log de 2900 evts de 36 types différents (20h) Log ATM, 1 mois, 3800 types d evts Pas de comparaison avec d autres approches 39 Cram, Cordier, Mille 2009 An interactive algorithm for the complete discovery of chronicles. Rapport LIRIS. But : extraction interactive de motifs temporels Motivations : Améliorer les méthodes d extraction souvent incomplètes car pas de connaissances sur la pertinence des informations : intégrer l utilisateur dans la boucle d extraction de connaissances Extraire des chroniques présentant des ensembles d événements identiques mais des ensembles de contraintes différents Contributions : Hiérarchie de contraintes temporelles Génération de candidats par 2 types d opération : adjonction d événement et raffinement de contrainte 40
Cram, Cordier, Mille 2009 Base de contraintes : à chaque couple d événements est associé un graphe acyclique orienté définissant une hiérarchie de contraintes Opérateurs pour la génération de candidats : add_ : ajoute un événement de type à une chronique str_ i j : remplace une contrainte temporelle par une contrainte directement plus stricte (successeur dans la base de contraintes) 41 Cram, Cordier, Mille 2009 Algorithme HDA de type Apriori (FACE) 42
Cram, Cordier, Mille 2009 Élaboration de la base de contraintes Rechercher les occurrences fréquentes de couples d événements et extraire les délais Extraire les contraintes en déplaçant des fenêtres de de plus en plus grandes sur la liste des délais triés [ -1, 1, 3, 5 ] Évaluation Complexité importante (exponentielle en théorie) S adresse à de petites base de séquences 43 Kam, Fu 2000 Discovering temporal patterns for interval-based events (DAWAK 2000) But : prendre en compte des événements à base d intervalles, les utiliser pour contraindre la fouille de motifs temporels Motivations : événements ponctuels ne permettent pas la représentation de relations temporelles telles que overlaps, begins, during, Contributions: Motifs avec relations temporelles sur intervalles Algorithme adapté à la recherche de tels motifs 44
Kam, Fu 2000 Séquence : S=<(a 0, t s0, t e0 ), (a 1, t s1, t e1 ),, (a n, t sn, t en )> ordonnée par les dates de fin (!!!) Relations entre intervalles temporels Exprimés par relations d Allen reconstruites à partir des relations sur les bornes des intervalles 45 Kam, Fu 2000 Motif temporel Un type d événement seul est un motif temporel atomique si X et Y sont des motifs temporels alors (X rel Y) est un motif temporel composite (rel : relation d Allen) Représentation par relations temporelles n-aires Représentation ambigüe Ex. a b c d (((a overlaps b) before c) overlaps d) ((a overlaps b) before (c during d)) Inclusion d un motif temporel Contraintes : max_whole_pattern Support : % de séquences contenant le motif 46
Kam, Fu 2000 Algorithme : adaptation d Apriori Format vertical de la base de séquences Génération de candidats à partir de L k-1 et L 1 + relations temporelles Calcul du support et élagage Évaluation Dataset synthétique Étude des performances en variant Support Taille de la fenêtre max Nb de séquences Nb d événements par séquence Pas de comparaison avec d autres méthodes 47 Chen, Wu 2006 - Wu, Chen 2007 Mining temporal patterns from sequence database of interval-based events (FSKD) Mining non-ambiguous temporal patterns for intervalbased events (IEEE trans. on knowledge and data engin.) But : étendre les algorithmes de fouille de motifs séquentiels aux événements à base d intervalles Motivations : pallier les défauts des représentations à base de points Contributions: Transformation d une séquence d événements à base d intervalles en une séquence d événements à base de points à partir des bornes des intervalles (évite l utilisation des relations d Allen) + contrainte de co-occurrence des deux bornes d un même intervalle dans un motif 48
Chen, Wu 2006 - Wu, Chen 2007 Séquence : S=<(a 0, t + 0, t- 0 ), (a 1, t+ 1, t- 1 ),, (a n, t+ n, t- n )> Relations temporelles sur bornes d intervalle : <, = Arrangement d événements ponctuels traduction intervalles points u placé devant v si time(u) < time(v) u est début d intervalle, v une fin d intervalle u précède v dans l ordre lexicographique Séquence temporelle : arrangement + relations temporelles entre événements successifs (b + <a + =c + <a - <b - <c - ) (b + <a + =c + <d + <a - <b - <d - <c - ) 49 Chen, Wu 2006 - Wu, Chen 2007 Inclusion : Opérateur small : calcule la relation temporelle entre deux points (application de la transitivité) rel(a +, b - ) = small((<,<,=,<)) = < P = (p 1 1 p 2 r-1 p r ) est contenue dans TS = (s 1 1 s 2 n-1 s n ) s il existe un mapping ordonné w des indices de P dans ceux de TS tel que p i = s w(i) et i = small(( w(i), w(i+1)-1 )) si l une des bornes de l intervalle est incluse l autre l est aussi Support : % de séquences contenant le motif 50
Chen, Wu 2006 - Wu, Chen 2007 Algorithmes : T-Apriori (basé sur GSP) Candidats : c={pattern, {positions}} Génération de k-candidats : jointure de (k-1)-motifs ayant le même (k-2)-préfixe + jointure de leurs positions Test support : parcours des ensembles de positions T-PrefixSpan (basé sur PrefixSpan;-) Adaptation de l opération de projection : préfixes, suffixes Génération de candidats plus complexe : projection jusqu à la dernière borne inférieure du motif base de la projection (préfixe), insertion de la borne supérieure dans le suffixe des séquences projetées 51 Chen, Wu 2006 - Wu, Chen 2007 Évaluation Pas d évaluation de T-Apriori! (Chen, Wu 2006) T-PrefixSpan Datasets synthétiques Dataset réel : données boursières Évaluation des motifs extraits par mesure de leur capacité de prédiction Comparaison avec PrefixSpan : Moins performant que PrefixSpan en temps d exécution Qualité des résultats meilleure pour T-PrefixSpan 52
Papapetrou, Kollios, Sclaroff, Gunopoulos 05, 09 Discovering frequent arrangement of temporal intervals (IEEE ICDM) Mining frequent arrangements of temporal intervals (Knowledge and Information Systems) But : découverte d arrangements d intervalles temporels fréquents Motivations : Événements instantanés souvent insuffisants Traduction en événements ponctuels introduit une combinatoire supplémentaire Perte de la relation liant début et fin d intervalle Post-traitement nécessaire pour revenir aux intervalles Nombreuses applications Contributions: Définition formelle du problème et utilisation des relations d Allen Contraintes : fouille de motifs et extraction de règles Deux algorithmes efficaces (levelwise) + un algorithme (aka PrefixSpan) 53 Papapetrou, Kollios, Sclaroff, Gunopoulos 05, 09 Pbs des relations d Allen en cas de bruit 54
Papapetrou, Kollios, Sclaroff, Gunopoulos 05, 09 Séquence : S=<(a 0, t 0s, t 0e ), (a 1, t 1s, t 1e ),, (a n, t ns, t ne )> Relations temporelles : Relations d Allen + matching flexible des bornes (si proches) Meets(A,B) : A.t e = B.t s ± Matches(A,B) :A.t s = B.t s ±, A.t e = B.t e ± Overlaps(A,B) : A.t s < B.t s, A.t e > B.t s, A.t e < B.t e, B.t s - A.t s >, B.t e - A.t e > Contains(A,B) : A.t e < B.t e, A.t e > B.t s, B.t s - A.t s >, A.t e - B.t e > Left-Contains(A,B) : A.t s = B.t s ±, A.t e > B.t s, A.t e - B.t e > Right-Contains(A,B) : A.t e < B.t e, A.t e = B.t e ±, B.t s - A.t s > Follows(A,B) : A.t e < B.t s, B.t s - A.t e > Relation n-aire (n>2) : conjonction de relations binaires pour lever les ambiguïtés Événements instantanés modélisés par intervalles à bornes égales 55 Papapetrou, Kollios, Sclaroff, Gunopoulos 05, 09 Relations temporelles : 56
Papapetrou, Kollios, Sclaroff, Gunopoulos 05, 09 Arrangement (motif) : A={E, R}, E ensemble de k événements, R ensemble des relations temporelles d Allen entre tout couple d événements de E : R={r(ei,ej) r Rel, i<j k} Inclusion : l arrangement A={E, R} est inclus dans la séquence S si tous les événements de A sont dans S et satisfont les relations de R Support : nombre de séquences contenant le motif Règles d association séquentielle : A i,rij A j ; A i, A j arrangements, R ij relation temporelle entre les événements (intervalles) de A i et ceux de A j mesure d intérêt : confiance, lift, etc. Contraintes temporelles : Gap : entre intervalles liés par relation follow Overlap : pourcentage de chevauchement Contain : pourcentage d inclusion Durée : max-whole 57 Papapetrou, Kollios, Sclaroff, Gunopoulos 05, 09 Algorithmes : BFS basé sur SPADE : levelwise, BD en format vertical H-DFS basé sur SPADE : parcours des deux premiers niveaux en largeur d abord, parcours des autres en profondeur d abord Basé sur PrefixSpan mais en s appuyant sur les intervalles (au contraire de Wu et Chen) 58
The Arrangement Enumeration Tree Let LEVEL 1 LEVEL 2 Intermediate LEVEL 3 Intermediate 59 Papapetrou, Kollios, Sclaroff, Gunopoulos 05, 09 Algorithme BFS : Basé sur SPADE : levelwise, BD en format vertical Génération des niveaux 1 et 2 Élagage supplémentaire initial : recherche des paires d événements apparaissant dans minsup transactions au moins Génération des candidats (arrangements) au niveau k : jointure niveau k-1 et niveau 1 Génération des nœuds intermédiaires au niveau k (relations temporelles) IdLists en format bitmap pour accélérer le calcul du support (opérations booléennes) Vérification de la satisfaction des contraintes (anti-monotones) en même temps que vérification du support minimal 60
Papapetrou, Kollios, Sclaroff, Gunopoulos 05, 09 Algorithme DFS : Basé sur algo de Tsoukatos et Gunopoulos 2001 Génération des candidats (arrangements) en suivant une stratégie profondeur d abord Ajoute tous les sous-arrangements d un arrangement fréquent à liste des arrangements fréquents Avantage : atteint les arrangements fréquents maximaux rapidement Inconvénient : nombreux scans de la base de données Algorithme Hybrid DFS (H-DFS) : BFS pour deux premiers niveaux DFS ensuite 61 Papapetrou, Kollios, Sclaroff, Gunopoulos 05, 09 Algorithme Prefix-Based : Définitions de préfixe, suffixe et opération de projection ATTENTION : il faut effectuer les projections selon TOUTES les occurrences d un préfixe (pas seulement la projection selon la première) Augmente fortement la combinatoire 62
Papapetrou, Kollios, Sclaroff, Gunopoulos 05, 09 Évaluation Datasets synthétiques et réels (american sign language, données réseau) Comparaison des trois algos avec SPAM (exécuté sur débuts et fins d intervalles + post-processing pour construire les arrangements) Résultats BFS meilleur que SPAM pour de grandes BD et des supports faibles Hybrid-DFS meilleur que SPAM et BFS Pour des faibles supports Hybrid-DFS est deux fois plus rapide que BFS Dans tous les cas l algorithme Prefix-based est le plus mauvais 63 Papapetrou, Kollios, Sclaroff, Gunopoulos 05, 09 Données ASL Données réseau 64
Patel, Hsu, Lee 2008 Mining relationships among interval-based events for classification (SIGMOD 08) But : fouille de relations temporelles complexes sur des événements à base d intervalles Motivations : Insuffisance de la simple notion de succession Nécessité de représenter des événements qui durent (intervalles) Contributions: Représentation «sans perte» de relations temporelles n-aires (n > 2) Algorithme de fouille d intervalles : IEMiner Classifieur utilisant des motifs temporels à base d intervalles 65 Patel, Hsu, Lee 2008 Séquences : S=<(a 0, t 0s, t 0e ), (a 1, t 1s, t 1e ),, (a n, t ns, t ne )> Liste d événements : Ensemble d événements où chaque événement a une relation temporelle (Allen) avec tous les autres Motif : Événement simple : (a 1, t 1s, t 1e ) Événement composite : E = (E 1 R E 2 ) avec E.start = min{e 1.start, E 2.start}, E.end= max{e 1.end, E 2.end} Support : BD : séquences issues d un découpage d une séquence unique en fenêtres de taille fixe Support : nombre de séquences incluant le motif 66
Patel, Hsu, Lee 2008 Motif : représentation canonique «sans perte» Canonique : événements ordonnés par instants de début, puis par instants de fin, puis par ordre alphabétique (représentation incomplète) Sans perte : structure [c,f,m,o,s] associant à la relation temporelle le nombre d inclusion (c), de fins communes (f), de liaisons (m), de chevauchements (o), de débuts communs (s) (A over[0,0,0,1,0] B) over[0,0,0,1,0] C) (A over[0,0,0,1,0] B) over[0,0,0,2,0] C) (A over[0,0,0,1,0] B) over[0,0,1,1,0] C) 67 Patel, Hsu, Lee 2008 Algorithme IEMiner Type Apriori Génération des k-candidats à partir d un (k-1)-motif fréquent et d un 2-motif dont le premier événement est identique à l événement dominant (ayant la date de fin la plus tardive) du (k-1)-motif Mise à jour de la liste des 2-motifs pouvant participer à la génération de candidats au niveau k+1 : doivent apparaître dans au moins k-1 k-motifs Calcul du support : un scan unique basé sur la notion d événements actifs et passif Optimisation : liste noire des séquences contenant moins de k événements : scan inutile Le nombre de séquences où le préfixe d un (k-1)-motif participant à la génération de candidats de niveau k apparaît deux fois au moins doit être supérieur à minsup 68
Patel, Hsu, Lee 2008 Génération de candidats 69 Patel, Hsu, Lee 2008 Évaluations : Comparaison des performances de IEMiner, TPrefixSpan, H-DFS et GenPrefixSpan (PrefixSpan + contraintes gap) qui n utilise que la relation before Datasets synthétiques Runtime : GenPrefixSpan <IEMiner <H-DFS <TPrefixSpan Datasets réels ASL : IEMiner GenPrefixSpan < H-DFS <TPrefixSpan Hepatitis : IEMiner <H-DFS < GenPrefixSpan <TPrefixSpan 70
Patel, Hsu, Lee 2008 71 Laxman, Sastry, Unnikrishnan 2007 Discovering frequent generalized episodes when event persist for different durations (IEEE Trans. on Knowledge and Data Engineering 2007) But : prendre en compte la durée des événements en fouille de données temporelles Motivations : Applications en diagnostic Temps (durée des événements) important pour discriminer plusieurs pannes possibles Contributions : Épisodes généralisés Algorithme pour la fouille de tels motifs 72
Laxman, Sastry, Unnikrishnan 2007 Séquences : S=<(a 0, t 0s, t 0e ), (a 1, t 1s, t 1e ),, (a n, t ns, t ne )> Épisodes généralisés : I={I 1,I 2,, I n } l ensemble des durées possibles, intervalles temporels disjoints (discrétisation) = (V, <, g, d ) : V ensemble de nœuds, < ordre partiel sur V, g : V donne le type d un nœud, d : V 2 I donne la durée d un nœud Si < total : épisode série généralisé Si < vide : épisode parallèle généralisé Inclusion d un épisode généralisé dans une séquence S Il existe un mapping h : V {1,, n} tel que pour tout v, w V E h (v) =g (v) (même type) La durée de h (v) b, l une des durées spécifiées par d Si v précède w dans le motif V alors leurs événements appariés sont dans le même ordre dans la séquence 73 Laxman, Sastry, Unnikrishnan 2007 Sous-épisodes : un épisode est un sous-épisode de,, s il existe un mapping ordonné, tel que le type des événements correspondants sont identiques et la durée des événements de contient les durées des événements correspondants de Soit. Si inclus dans S alors inclus dans S Support : Nombre de fenêtres glissantes contenant le motif Nombre d occurrences minimales Occurrences non chevauchantes b 1 b 2 b 3 Occurrences non entrelacées b' 1 b' 2 b' 3 b 1 b 2 b 3 b' 1 b' 2 b' 3 74