Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
1
Data Mining
Temporal pattern mining: beyond (simple) sequential patterns
Fouille de motifs temporels :
au-delà des motifs séquentiels (simples)
2
Outline
Classical sequential pattern-mining methods – GSP
– PrefixSpan
Extensions to sequential pattern-mining – Delay between events
– Event duration
– Relations between events with duration
– …
3
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>
4
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
5
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=<s1=itemset(T1), …, sn=itemset(Tn)>
Sequence inclusion: s1=<a1a2…an> is included in s2=<b1b2…bm> (noted s1 < s2) iff there exist i1<i2<…<in such that a1⊆bi1, a2⊆bi2, …, an⊆bin
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
6
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>
<a(bd)bcb(ade)> 50
<(be)(ce)d> 40
<(ah)(bf)abf> 30
<(bf)(ce)b(fg)> 20
<(bd)cb(ac)> 10
Sequence Seq. ID
8
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
9
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)
10
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) >
11
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
<a(bd)bcb(ade)> 50
<(be)(ce)d> 40
<(ah)(bf)abf> 30
<(bf)(ce)b(fg)> 20
<(bd)cb(ac)> 10
Sequence Seq. ID
Cand Sup
<a> 3
<b> 5
<c> 4
<d> 3
<e> 3
<f> 2
<g> 1
<h> 1
12
GSP: Generating Length-2 Candidates
<a> <b> <c> <d> <e> <f>
<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>
51 length-2 Candidates
Without Apriori property, 8*8+8*7/2=92 candidates Apriori prunes
44.57% candidates
13
The GSP Mining Process
<a> <b> <c> <d> <e> <f> <g> <h>
<aa> <ab> … <af> <ba> <bb> … <ff> <(ab)> … <(ef)>
<abb> <aab> <aba> <baa> <bab> …
<abba> <(bd)bc> …
<(bd)cba>
1st scan: 8 cand. 6 length-1 seq. pat.
2nd scan: 51 cand. 19 length-2 seq. pat. 10 cand. not in DB at all
3rd scan: 46 cand. 19 length-3 seq. pat. 20 cand. not in DB at all
4th scan: 8 cand. 6 length-4 seq. pat.
5th scan: 1 cand. 1 length-5 seq. pat.
Cand. cannot pass sup. threshold
Cand. not in DB at all
<a(bd)bcb(ade)> 50
<(be)(ce)d> 40
<(ah)(bf)abf> 30
<(bf)(ce)b(fg)> 20
<(bd)cb(ac)> 10
Sequence Seq. ID
14
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.
15
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 s2=<e’1e’2…bm> is a prefix of the sequence s1=<e1e2…en> (m<n) iff
– e’i=ei for 1 ≤ i ≤ m-1
– e’m⊆em
– <e’’mem+1…en> is a suffix (postfix) of s1
16
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 Suffix (Prefix-Based Projection)
<a> <(abc)(ac)d(cf)>
<aa> <(_bc)(ac)d(cf)>
<a(ab)> <(_c)(ac)d(cf)>
17
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>
18
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>
22
Completeness of PrefixSpan
SID sequence
10 <a(abc)(ac)d(cf)>
20 <(ad)c(bc)(ae)>
30 <(ef)(ab)(df)cb>
40 <eg(af)cbc>
SDB
Length-1 sequential patterns <a>, <b>, <c>, <d>, <e>, <f>
<a>-projected database <(abc)(ac)d(cf)> <(_d)c(bc)(ae)> <(_b)(df)cb> <(_f)cbc>
Length-2 sequential patterns <aa>, <ab>, <(ab)>, <ac>, <ad>, <af>
Having prefix <a>
Having prefix <aa>
<aa>-proj. db … <af>-proj. db
Having prefix <af>
<b>-projected database … Having prefix <b>
Having prefix <c>, …, <f>
… …
23
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|α’).
24
Performance on Data Set C10T8S8I8
25
Performance on Data Set Gazelle
28
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
29
Extensions de la fouille de motifs séquentiels
Prise en compte explicite du temps – Séquence d’événements ponctuels datés
S=<(a0, t0), (a1, t1), …, (an, tn)>
Motifs série avec délais (IApriori, IPrefixSpan – Chen, Chiang, Ko 03 ; Hirate, Yamana 06) P=<b0, I1, b1, I2, …, , In, bn>
Motifs séries-parallèles e.g. chroniques (Face – Dousson, Duong 99, Cram 09)
– Séquence d’événements intervalles estampillés S=<(a0, t0, t’0), (a1, t1, t’1), …, (an, tn, 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)
30
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
31
Chen, Chiang, Ko 2003
Séquences : S=<(a0, t0), (a1, t1), …, (an, tn)>
Délais obtenus par discrétisation du temps : TI={I0, I1, …, In}
I0={0}, I1=]0, T1], I2=] T1, T2], …, Ir-1=] Tr-2, Tr-1], Ir-1=]Tr-1,∞]
Motifs : time interval sequences P=<b0, &1, b1, &2, …, , &m, bm>, 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 b1=aj1, b2=aj2, … bm=ajm tji-tji-1 in Ii-1 pour 1 < i < m
Support : nombre de séquences de DB contenant le motif
32
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
33
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
34
Hirate, Yamana 2006
Séquences : interval extended sequence S=<(t1,1, X1), (t1,2, X2), …, (t1,m, Xm)> ti,j est l’intervalle (temporel ou indiciel) entre les items Xi et Xj
Interval itemization function : permet de changer la granularité temporelle. Utilisée par test d’occurrence et test de sous-séquence : S1=<(t1,1, X1), (t1,2, X2), …, (t1,m, Xm)> est incluse dans S1=<(t’1,1, X’1), (t’1,2, X’2), …, (t’1,m, X’m) , …, (t’1,n, X’n)> ssi Xi ⊆ X’i et I(t1,i)=I(t1,j)
Contraintes sur les intervalles (délais) : – min_interval (anti-mon), max_interval, (anti-mon)
min_whole_interval (mon), max_whole_interval (anti-mon)
35
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
36
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
37
Dousson, Duong 1999
Séquences (logs) : S=<(a0, t0), (a1, t1), …, (an, tn)>
Motifs : modèles de chronique chronique : (C ⊂ A , T), T={ai [tij-, tij+] aj | (ai ,aj) ∈ 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 sous-chroniques sont fréquentes
38
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 :
Ck = Ck-1 U {C1}
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
39
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
40
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
41
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)
42
Cram, Cordier, Mille 2009
Algorithme HDA de type Apriori (FACE)
43
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
44
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
45
Kam, Fu 2000
Séquence : S=<(a0, ts0, te0), (a1, ts1, te1), …, (an, tsn, ten)> 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
46
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 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
a
b
d
c
47
Kam, Fu 2000
Algorithme : adaptation d’Apriori – Format vertical de la base de séquences
– Génération de candidats à partir de Lk-1 et L1 + 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
48
Chen, Wu 2006 - Wu, Chen 2007
Mining temporal patterns from sequence database of interval-based events (FSKD)
Mining non-ambiguous temporal patterns for interval-based 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
49
Chen, Wu 2006 - Wu, Chen 2007
Séquence : S=<(a0, t+0, t-0), (a1, t+1, t-1), …, (an, 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-)
50
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 = (p1 1 p2 … r-1 pr) est contenue dans TS = (s1 ✪1 s2 … ✪n-1 sn) s’il existe un mapping ordonné w des indices de P dans ceux de TS tel que
pi = sw(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
51
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
52
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
53
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)
54
Papapetrou, Kollios, Sclaroff, Gunopoulos 05, 09
Pbs des relations d’Allen en cas de bruit
55
Papapetrou, Kollios, Sclaroff, Gunopoulos 05, 09
Séquence : S=<(a0, t0s, t0e), (a1, t1s, t1e), …, (an, tns, tne)>
Relations temporelles : – Relations d’Allen + matching flexible des bornes (si proches)
Meets(A,B) : A.te = B.ts ± ε
Matches(A,B) :A.ts = B.ts ± ε, A.te = B.te ± ε
Overlaps(A,B) : A.ts < B.ts, A.te > B.ts, A.te < B.te, B.ts - A.ts>ε, B.te - A.te>ε
Contains(A,B) : A.te < B.te, A.te > B.ts, B.ts - A.ts>ε, A.te - B.te>ε
Left-Contains(A,B) : A.ts = B.ts ± ε, A.te > B.ts, A.te - B.te>ε
Right-Contains(A,B) : A.te < B.te, A.te = B.te ± ε, B.ts - A.ts>ε
Follows(A,B) : A.te < B.ts, B.ts - A.te>ε
– 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
56
Papapetrou, Kollios, Sclaroff, Gunopoulos 05, 09
Relations temporelles :
57
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 : Ai ⇒λ,Rij Aj ; Ai, Aj arrangements, Rij relation temporelle entre les événements (intervalles) de Ai et ceux de Aj
λ 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
58
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)
59
The Arrangement Enumeration Tree
Let
LEVEL 3
LEVEL 2
LEVEL 1
Intermediate
Intermediate
60
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
61
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
62
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
63
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
64
Papapetrou, Kollios, Sclaroff, Gunopoulos 05, 09
Données ASL Données réseau
65
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
66
Patel, Hsu, Lee 2008
Séquences : S=<(a0, t0s, t0e), (a1, t1s, t1e), …, (an, tns, tne)>
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 : (a1, t1s, t1e)
– Événement composite : E = (E1 R E2) avec E.start = min{E1.start, E2.start}, E.end= max{E1.end, E2.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
67
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)
68
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
69
Patel, Hsu, Lee 2008
Génération de candidats
70
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
71
Patel, Hsu, Lee 2008
72
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
73
Laxman, Sastry, Unnikrishnan 2007
Séquences : S=<(a0, t0s, t0e), (a1, t1s, t1e), …, (an, tns, tne)>
Épisodes généralisés : – I={I1,I2, …, In} 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α➝ 2I 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α
Ehα(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
74
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
– Occurrences non entrelacées b'1 b'3 b'2
b1 b3 b2
b'1 b'3 b'2
b1 b3 b2
75
Laxman, Sastry, Unnikrishnan 2007
Épisodes similaires : – 2 épisodes sont similaires s’ils associent le même ensemble
d’événements, ont la même fréquence, mais l’un autorise plus de durées que l’autre
Épisodes principaux (aka itemsets clos) : – un épisode est principal s’il n’y a pas d’épisode similaire
possédant moins d’intervalles de durée (pas de durée redondante)
Algorithme (occurrences non chevauchantes) : levelwise – Génération de candidats (niveau k)
Jointure de deux (k-1)-motifs ayant même (k-2)-préfixe
Vérification que tout motif obtenu en supprimant un nœud est principal
– Calcul des fréquences d’un ensemble de motifs en une passe
– Filtrage pour ne garder que les épisodes principaux
76
Laxman, Sastry, Unnikrishnan 2007
Évaluation : – Datasets synthétiques et réels (logs d’une chaîne de
montage GM)
– But : démontrer la pertinence des épisodes généralisés (introduction de durées)
– Montre la difficulté de choisir la bonne discrétisation du temps pour représenter les durées possibles
– Pas de comparaison avec autres algorithmes
77
Guyet, Quiniou 2008, 2010
Mining temporal patterns with quantitative intervals, workshop at ICDM 08
Extraction de motifs avec intervalles temporels, soumis à BDA 2010
But : extraire des motifs temporels avec délais et durées numériques
Motivations : – Discriminer motifs séquentiels
– Information temporelle importante pour la surveillance et le diagnostic
Contributions : – Approche basée sur la densité : clustering des occurrences de
motifs (sous-séquences) considérés comme des hypercubes dans un espace de dimension n=longueur du motif
78
Vautier EGC 2005
Chronique intéressante : – Fréquente – Maximalement spécifique – dense
x x x
x
x x
x x
x x
x x
x x x x x
x x x
x
x
x
x
x x
x x
Une CMF non dense
Une CMF dense
79
Guyet, Quiniou 2008, 2010
Hypercubes de dimension 2 : rectangles
80
Guyet, Quiniou 2008, 2010
Séquence : S=<(s0, [l0, u0]), (s1, [l1, u1]), …, (sn, [ln, un])>
Sous-séquence : sous-ensemble d’une séquence
Signature symbolique : ensemble des types d’événement de la séquence
Intervalle multidimensionnel : ensemble de n intervalles représentant les projections d’un hypercube de dimension n sur chacun des axes
Similarité entre séquences temporelles : basée sur la distance entre hypercubes dans espace de dimension N
Motif temporel : séquence temporelle représentative d’un ensemble de séquences temporelles
81
Guyet, Quiniou 2008, 2010
Algorithme QTempIntMiner – Extraction des signatures symboliques fréquentes
Apriori
PrefixSpan
– Identification des intervalles temporels par catégorisation d’intervalles multi-dimensionnel
K-means
Mélange de gaussiennes et algorithme EM
– Entrelacement des deux étapes
Évaluation – Données synthétiques
– Comparaison des résultats obtenus à partir de différentes distances et de méthodes de catégorisation
– A faire : comparaison avec d’autres propositions
82
po
ints
inte
rval
les
BD
séq
uen
ces
Séq
uen
ce
un
iqu
e
Mo
tif
seq
. si
mp
le
Mo
tif
seq
+
dél
ais
Mo
tif
seq
. + r
el.
Alle
n
Mo
tif
seq
. +
Alle
n +
dél
ais
Mo
tif
seq
+
dél
ais
nu
m
Co
ntr
ain
tes
Alg
o.
Lev
elw
ise
Alg
o.
pro
ject
ion
Alg
o a
d h
oc
Dousson, Duong 99 * * * * Kam, Fu 00 * * * + * Chen, Chiang, Ko 03 * * * * * Masseglia 04
Papapetrou 05, 08 * * * * HDFS
Chen, Wu 06 * * * + * Wu, Chen 07 * * * + * * Yu, Hirate 06 * * * +++ * Laxman 07 * * * * * Patel, Hsu, Lee 08 * * * + * * Guyet, Quiniou 08, 10 * * * * * Cram 09 * * * * Chiu, Chen 09 * * * * *