Presentatie Denis

advertisement
Effiecient Mining of
Spatiotemporal Patterns
GDM 2003
Dènis de Keijzer
Inhoud
Introductie
Definities
The Lattice-Based Approach
DFS_MINE
Mining Frequent Spatiotemporal
Sequences with Various Spatial
Granularities
Experimental Results
Conclusions
Introductie (1)
Probleem

Het vinden van frequente
veranderingspatronen in spatiotemporal
datasets
Erg uitdagend


Grote zoekruimte
Lange sequences
Introductie (2)
Nog weinig gedaan op dit gebied



Associatie regels
Clustering
Beantwoorden van statistische queries
Meeste algoritmen gebruiken Breadth-FirstSearch


Nadeel: kijkt eerst naar alle patronen van lengte k,
voordat er naar sequences van lengte k+1
gekeken wordt
Gebruikt veel geheugen
Introductie (3)
DFS_MINE




Gebruikt Lattice-theorie
Depth-First-Search
Zoekt snel de ‘maximal frequent sequence’
Gebruikt weinig ruimte
 Maximal frequent sequences
 Minimal non frequent sequences
Defenities (1)
A = {A1, A2, …, Ad} is een set distincte
spatiotemporal attributen
Ij is een paar (Aj, Vj)

Vb. (T, 90)
IS = {I1, I2, …, Ik}


Allen attributen Aj moeten verschillend zijn
Hebben een locatie en een tijd
Defenities (2)
S = (IS1, IS2, …, ISn)

Sequence met k items is een k-sequence
S1 subsequence van S2 als i1<i2<…<in zodat
ISi  Isij voor alle Isi

Vb. (T1P1T2) subsequence van (H1T1 P2
H2P1T2), want T1 H1T1 en P1T2  H2P1T2
S1 supersequence van S2 als S2 is
subsequence van S1
Defenities (3)
Locatie-id op reverse-z manier
Elke locatie heeft een location-sequence
L
Frequency van een sequence is het
aantal keer dat een sequence voorkomt

Een sequence is frequent als deze
tenminste min_sup keer voorkomt.
The Lattice-based Approach (1)
Zij P een partieel geordende set



Reflexive: (X X)
Anti-symmetric: (X Y en Y X  X=Y)
Transitive: (X Y en Y Z  X Z)
P is een Lattice, als de binaire operaties meet
en join voor alle X,Y  P gelden
P is een complete Lattice als join en meet
gelden voor elke willekeurige subset van P
The Lattice-based Approach (2)
Theorem 1

Given a set E of events, the ordered set S
of all possible sequences on the items is a
complete latice in which join and meet are
given by union and intersection.
Alle subsequences van een frequent
sequentce zijn ook frequent
DFS_MINE
General
Input: min_sup
1 database scan
Frequent items opslaan in FreqItems
Genereer candidaat 2-sequences
Scan deze in de database


Frequent: insert in MaxFreqList (gebruikt om
verder te minen)
Nonfrequent: insert in MinNonFreqList (gebruikt
om the prunen)
DFS_MINE
Maximal Frequent Sequence List (1)
Maximal Frequent Sequence


Alle subsequences frequent
Alle supersequences non-frequent
Sequence S in MaxFreqList als:



S nog niet in MaxFreqList
S geen subsequence van een sequence in
MaxFreqList
S is frequent
DFS_MINE
Maximal Frequent Sequence List (2)
Na toevoeging van een sequence S worden
alle subsequences van S verwijderd uit
MaxFreqList
Langste sequences aan het begin van de lijst

Grootste kans een supersequence van een
kandidaat sequence te zijn
Bespaart ruimte door alleen maximal frequent
sequences op te slaan
DFS_MINE
Minimal Non-frequent Sequence List (1)
Minimal Non-frequent Sequence


Non-frequent
Alle subsequences frequent
Sequence S in MinNonFreqList als:



S nog niet in MinNonFreqList
S geen supersequence van een sequence
in MinNonFreqList
S is non-frequent
DFS_MINE
Minimal Non-frequent Sequence List (2)
Na toevoeging van S worden alle
supersequences van S verwijderd uit
MinNonFreqList
Kortste sequences aan het begin van de
lijst

Grootste kans een subsequence van S te
zijn
DFS_MINE
Generating Sequences
Genereert een k+1-sequence door een ksequence te combineren met alle frequent
items Ij welke in FreqItems, maar niet in
S.Useless (voeg Ij op alle plekken in in S)
Set van kandidaat sequences heet
SET(S+
I j)
Voorkom duplicaten door speciale
invoegingstrategie
DFS_MINE
Examining the Candidate Sequences
Check met MinNonFreqList

Om te kijken of non-frequent
Check met MaxFreqList

Om te kijken of frequent
Scan in database
Als sequence is frequent:

Blijft in SET(S+ Ij)
DFS_MINE
S.Useless
Alle Items waarmee S gecombineerd
wordt, worden toegevoegd aan
S.Useless
Inheriting the Useless Set


Avoid generating duplicates
Avoid generating sequences that are
certain to be non-frequent
DFS_MINE
Example
3 frequent items (A, B, C)
k-sequence S met S.Useless = 
Aanname: alle sequences in SET(S+ C)
zijn non-frequent
Update Useless set
Enz.
Mining Frequent Spatiotemporal Sequences
with Various Spatial Granularities (1)
Spatial Granularities



Steden US (level 0)
Counties US (level 1)
Staten US (level 2)
Joining Subregions (dubbele atributen,
wel verschillende waarden)
Non-frequent items kunnen frequent
worden
Mining Frequent Spatiotemporal Sequences
with Various Spatial Granularities (2)
Begin op level 0
Neem MaxFreqList en MinNonFreqList
mee naar volgende level
Scan MinNonFreqList in database

Sequences kunnen frequent geworden zijn
Enz.
Experimental Results
DFS_MINE Vs. SPADE



SPADE: Snelste tot nu toe
DFS_MINE aanzienlijk sneller
DFS_MINE gebruikt véél minder geheugen
Conclusions
Snel

Door Depth-First-Search
Alleen maximal frequent sequences

Sneller + minder geheugen
Geschikt voor verschillende spatial
granularities
Werkt ook goed met grote databases
Download