Upload
others
View
15
Download
0
Embed Size (px)
Citation preview
Houat 2004Houat 2004 11
Abstraction de séries Abstraction de séries temporellestemporelles
René QuiniouRené QuiniouÉquipe Équipe DreamDream
Remerciements : E. Remerciements : E. KeoghKeogh, S. Chu , S. Chu -- UCRUCR
Houat 2004Houat 2004 22
MotivationsMotivationsL’observation d’un phénomène dynamique L’observation d’un phénomène dynamique produit un ensemble de séries temporellesproduit un ensemble de séries temporellesChacune peutChacune peut--être extrêmement volumineuseêtre extrêmement volumineuse
1 heure ECG : 1 Giga1 heure ECG : 1 GigaObservation d’un réseau télécommunications Observation d’un réseau télécommunications ((MagdaMagda 2) : 2 Giga2) : 2 Giga
Besoin de méthodes de représentation des Besoin de méthodes de représentation des données qui les rende facilement manipulablesdonnées qui les rende facilement manipulables
Recherche de motifs, découverte de motifs, Recherche de motifs, découverte de motifs, indexation de base de données de séries, recherche indexation de base de données de séries, recherche de séries similaires, etc.de séries similaires, etc.
Houat 2004Houat 2004 33
Le Le problèmeproblème
0 50 100 150 200 250 300 350 400 450 50023
24
25
26
27
28
29
25.175025.225025.250025.250025.275025.325025.350025.350025.400025.400025.325025.225025.200025.1750
..
..24.625024.675024.675024.625024.625024.625024.675024.7500
Une série temporelle est une suite (parfois très longue) d’observations effectuées en séquence dans le temps
Recherche de séquences similaires :Recherche de séquences similaires :appariement total appariement total les sles sééquences sont de même longueurquences sont de même longueurappariements de appariements de soussous--ssééquencesquences recherche des occurrences recherche des occurrences similaires similaires àà une sune sééquence requête dans une squence requête dans une séérierie
Apprentissage de motifs temporelsApprentissage de motifs temporelstrouver des motifs de sous-séquences intéressants
Réduction de la complexité de la représentation des données Réduction de la complexité de la représentation des données dans leurs dimensions temporelles : dans leurs dimensions temporelles : abstraction temporelleabstraction temporelle
Houat 2004Houat 2004 44
Importance de la distanceImportance de la distanceTous les traitements utilisent une certaine notion Tous les traitements utilisent une certaine notion de « similarité »de « similarité »Le calcul de la similarité doit être efficaceLe calcul de la similarité doit être efficaceRepose sur le calcul d’une distance qui doit Repose sur le calcul d’une distance qui doit avoir de « bonnes » propriétés :avoir de « bonnes » propriétés :
DD(A, B) = (A, B) = DD(B, A)(B, A)DD(A, A) = 0(A, A) = 0DD(A, B) = 0 (A, B) = 0 ssissi A = BA = BD(A,B) ≤ D(A,C) + D(B,C)
aussi bien dans l’univers original que dans l’univers aussi bien dans l’univers original que dans l’univers abstrait pour assurer correction et complétudeabstrait pour assurer correction et complétude
Houat 2004Houat 2004 55
0 20 40 60 80 100 120 0 20 40 60 80 100 120 0 20 40 60 80 100 120 0 20 40 60 80 100 120 0 20 40 60 80 100 120
Keogh, Chakrabarti, Pazzani &
Mehrotra KAIS 2000
Yi & Faloutsos VLDB 2000
Keogh, Chakrabarti, Pazzani &
Mehrotra
SIGM
OD 2001
Chan & Fu. ICDE 1999
Korn, Jagadish &
Faloutsos. SIGM
OD
1997
Agrawal, Faloutsos, &. Swami.
FODO
1993
Faloutsos, Ranganathan, &
Manolopoulos. SIG
MO
D 1994
Morinaka,
Yoshikawa, Amagasa,
& Uemura,PAKDD
2001
DFT DWT SVD APCAPAA PLA
0 20 40 60 80 100 120
Houat 2004Houat 2004 66
Jean Fourier1768-1830
0 20 40 60 80 100 120 140
0
1
2
3
X
X'
4
5
6
7
8
9
Discrete Fourier Discrete Fourier Transform ITransform I
Excellent free Fourier Primer
Hagit Shatkay, The Fourier Transform - a Primer'', Technical Report CS-95-37, Department of Computer Science, Brown University, 1995.
http://www.ncbi.nlm.nih.gov/CBBresearch/Postdocs/Shatkay/
Basic Idea: Represent the time series as a linear combination of sines and cosines, but keep only the first n/2 coefficients.
Why n/2 coefficients? Because each sine wave requires 2 numbers, for the phase (w) and amplitude (A,B).
∑=
+=n
kkkkk twBtwAtC
1))2sin()2cos(()( ππ
Houat 2004Houat 2004 77
Discrete Fourier Discrete Fourier Transform IITransform II Pros and Cons of DFT as a time series Pros and Cons of DFT as a time series
representation.representation.
• Good ability to compress most natural signals.• Fast, off the shelf DFT algorithms exist. O(nlog(n)).• (Weakly) able to support time warped queries.
• Difficult to deal with sequences of different lengths.• Cannot support weighted distance measures.
0 20 40 60 80 100 120 140
0
1
2
3
X
X'
4
5
6
7
8
9
Note: The related transform DCT, uses only cosine basis functions. It does not seem to offer any particular advantages over DFT.
Houat 2004Houat 2004 88
0 20 40 60 80 100 120 140
Haar 0
Haar 1
Haar 2
Haar 3
Haar 4
Haar 5
Haar 6
Haar 7
X
X'
DWT
Discrete Wavelet Discrete Wavelet Transform ITransform I
Alfred Haar1885-1933
Excellent free Wavelets Primer
Stollnitz, E., DeRose, T., & Salesin, D. (1995). Wavelets for computer graphics A primer: IEEE Computer Graphics and Applications.
Basic Idea: Represent the time series as a linear combination of Wavelet basis functions, but keep only the first N coefficients.
Although there are many different types of wavelets, researchers in time series mining/indexing generally use Haar wavelets.
Haar wavelets seem to be as powerful as the other wavelets for most problems and are very easy to code.
Houat 2004Houat 2004 99
X = {8, 4, 1, 3}
12345678
h1= 4 = mean(8,4,1,3) h2 = 2 = mean(8,4) - h1 h3 = 2 = (8-4)/2 h4 = -1 = (1-3)/2
h1 = 4
12345678
h2 = 2 h3 = 2 h4 = -1 X = {8, 4, 1, 3}
A raw time series X = {8, 4, 1, 3} is converted into the Haar Wavelet representation H = [4, 2 , 2, 1]We can convert the Haar representation back to raw signal with no loss of information...
Houat 2004Houat 2004 1010
0 20 40 60 80 100 120 140
Haar 0
Haar 1
Haar 2
Haar 3
Haar 4
Haar 5
Haar 6
Haar 7
X
X'
DWT
Discrete Wavelet Discrete Wavelet Transform IITransform II We have only considered one type
of wavelet, there are many others.Are the other wavelets better for indexing?
YES: I. Popivanov, R. Miller. Similarity Search Over Time Series Data Using Wavelets. ICDE 2002.
NO: K. Chan and A. Fu. Efficient Time Series Matching by Wavelets. ICDE 1999
I consider this an open question...
Houat 2004Houat 2004 1111
0 20 40 60 80 100 120 140
Haar 0
Haar 1
Haar 2
Haar 3
Haar 4
Haar 5
Haar 6
Haar 7
X
X'
DWT
Discrete Wavelet Discrete Wavelet Transform IIITransform III
Pros and Cons of Wavelets as a time Pros and Cons of Wavelets as a time series representation.series representation.
• Good ability to compress stationary signals.• Fast linear time algorithms for DWT exist.• Able to support some interesting non-Euclidean similarity measures.
• Signals must have a length n = 2some_integer
• Works best if N is = 2some_integer. Otherwise wavelets approximate the left side of signal at the expense of the right side.• Cannot support weighted distance measures.
Houat 2004Houat 2004 1212
0 20 40 60 80 100 120 140
X
X'
eigenwave 0
eigenwave 1
eigenwave 2
eigenwave 3
eigenwave 4
eigenwave 5
eigenwave 6
eigenwave 7
SVD
Singular Value Singular Value Decomposition IDecomposition I
Eugenio Beltrami 1835-1899
Camille Jordan(1838--1921)
James Joseph Sylvester 1814-1897
Basic Idea: Represent the time series as a linear combination of eigenwaves but keep only the first N coefficients.
SVD is similar to Fourier and Wavelet approaches is that we represent the data in terms of a linear combination of shapes (in this case eigenwaves).
SVD differs in that the eigenwaves are data dependent.
SVD has been successfully used in the text processing community (where it is known as Latent Symantec Indexing ) for many years.
Good free SVD Primer Singular Value Decomposition - A Primer. Sonia Leach
Houat 2004Houat 2004 1313
0 20 40 60 80 100 120 140
X
X'
eigenwave 0
eigenwave 1
eigenwave 2
eigenwave 3
eigenwave 4
eigenwave 5
eigenwave 6
eigenwave 7
SVD
Singular Value Singular Value Decomposition IIDecomposition II
How do we create the eigenwaves?
We have previously seen that we can regard time series as points in high dimensional space.
We can rotate the axes such that axis 1 is aligned with the direction of maximum variance, axis 2 is aligned with the direction of maximum variance orthogonal to axis 1 etc.
Since the first few eigenwaves contain most of the variance of the signal, the rest can be truncated with little loss.
TVUA Σ=This process can be achieved by factoring aM by n matrix of time series into 3 other matrices, and truncating the new matrices at size N.
Houat 2004Houat 2004 1414
0 20 40 60 80 100 120 140
X
X'
eigenwave 0
eigenwave 1
eigenwave 2
eigenwave 3
eigenwave 4
eigenwave 5
eigenwave 6
eigenwave 7
SVD
Singular Value Singular Value Decomposition IIIDecomposition III
Pros and Cons of SVD as a time series Pros and Cons of SVD as a time series representation.representation.
• Optimal linear dimensionality reduction technique .• The eigenvalues tell us something about the underlying structure of the data.
• Computationally very expensive.• Time: O(Mn2)• Space: O(Mn)
• An insertion into the database requires recomputing the SVD.• Cannot support weighted distance measures or non Euclidean measures.
Note: There has been some promising research into mitigating SVDs time and space complexity.
Houat 2004Houat 2004 1515
Piecewise Aggregate Piecewise Aggregate Approximation IApproximation I
0 20 40 60 80 100 120 140
X
X'
x1
x2
x3
x4
x5
x6
x7
x8
∑+−=
=i
ijjn
Ni
Nn
Nn
xx1)1(
( )∑ =−≡ N
i iiNn yxYXDR
12),(
Given the reduced dimensionality representation we can calculate the approximate Euclidean distance as...
This measure is provably lower bounding.
Basic Idea: Represent the time series as a sequence of box basis functions.
Note that each box is the same length.
Independently introduced by two authorsKeogh, Chakrabarti, Pazzani & Mehrotra, KAIS (2000)
Byoung-Kee Yi, Christos Faloutsos, VLDB (2000)
Houat 2004Houat 2004 1616
Piecewise Aggregate Piecewise Aggregate Approximation IIApproximation II
0 20 40 60 80 100 120 140
X
X'
X1
X2
X3
X4
X5
X6
X7
X8
• Extremely fast to calculate• As efficient as other approaches (empirically)• Support queries of arbitrary lengths• Can support any Minkowski metric• Supports non Euclidean measures• Supports weighted Euclidean distance• Simple! Intuitive!
• If visualized directly, looks ascetically unpleasing.
Pros and Cons of PAA as a time series Pros and Cons of PAA as a time series representation.representation.
Houat 2004Houat 2004 1717
Adaptive Piecewise Adaptive Piecewise Constant Constant
Approximation IApproximation I
0 20 40 60 80 100 120 140
X
X
<cv1,cr1>
<cv2,cr2>
<cv3,cr3>
<cv4,cr4>
Basic Idea: Generalize PAA to allow the piecewise constant segments to have arbitrary lengths. Note that we now need 2 coefficients to represent each segment, its value and its length.
50 100 150 200 2500
Raw Data (Electrocardiogram)
Adaptive Representation (APCA)Reconstruction Error 2.61
Haar Wavelet Reconstruction Error 3.27
DFTReconstruction Error 3.11
Intuition: many signals have little detail in some places, and high detail in other places. APCA can adaptively fit itself to the data achieving better approximation.
Houat 2004Houat 2004 1818
Adaptive Piecewise Adaptive Piecewise Constant Constant
Approximation IIApproximation II
0 20 40 60 80 100 120 140
X
X
<cv1,cr1>
<cv2,cr2>
<cv3,cr3>
<cv4,cr4>
The high quality of the APCA had been noted by many researchers. However it was believed that the representation could not be indexed because some coefficients represent values, and some represent lengths.
However an indexing method was discovered! (SIGMOD 2001 best paper award)
Unfortunately, it is non-trivial to understand and implement….
Houat 2004Houat 2004 1919
Adaptive Piecewise Adaptive Piecewise Constant Constant
Approximation IIIApproximation III
0 20 40 60 80 100 120 140
X
X
<cv1,cr1>
<cv2,cr2>
<cv3,cr3>
<cv4,cr4>
••Pros and Cons of APCA as a time Pros and Cons of APCA as a time series representation.series representation.
• Fast to calculate O(n). • More efficient than other approaches (on some datasets).• Support queries of arbitrary lengths.• Supports non Euclidean measures.• Supports weighted Euclidean distance.• Support fast exact queries, and even faster approximate queries on the same data structure.
• Somewhat complex implementation.• If visualized directly, looks ascetically unpleasing.
Houat 2004Houat 2004 2020
0 20 40 60 80 100 120 140
X
X'
Piecewise Linear Piecewise Linear Approximation IApproximation I Basic Idea: Represent the
time series as a sequence of straight lines.
Lines could be connected, in which case we are allowedN/2 lines
If lines are disconnected, we are allowed only N/3 lines
Personal experience on dozens of datasets suggest disconnected is better. Also only disconnected allows a lower bounding Euclidean approximation
Each line segment has • length • left_height (right_height can be inferred by looking at the next segment)
Each line segment has • length • left_height • right_height
Karl Friedrich Gauss1777 - 1855
Houat 2004Houat 2004 2121
0 20 40 60 80 100 120 140
X
X'
Piecewise Linear Piecewise Linear Approximation IIApproximation II
How do we obtain the Piecewise Linear Approximation?
Optimal Solution is O(n2N), which is too slow for data mining.
A vast body on work on faster heuristic solutions to the problem can be classified into the following classes:• Top-Down O(n2N)• Bottom-Up O(n(1/CRatio))• Sliding Window O(n(1/CRatio))• Other (genetic algorithms, randomized algorithms, Bspline wavelets, MDL etc)Recent extensive empirical evaluation of all approaches suggest that Bottom-Up is the best approach overall.
Houat 2004Houat 2004 2222
0 20 40 60 80 100 120 140
X
X'
Piecewise Linear Piecewise Linear Approximation IIIApproximation III
Pros and Cons of PLA as a time series Pros and Cons of PLA as a time series representation.representation.
• Good ability to compress natural signals.• Fast linear time algorithms for PLA exist.• Able to support some interesting non-Euclidean similarity measures. Including weighted measures, relevance feedback, fuzzy queries…• Already widely accepted in some communities (ie, biomedical)
• Not (currently) indexable by any data structure (but does allows fast sequential scanning).
Houat 2004Houat 2004 2323
0 20 40 60 80 100 120 140
X
X'
0
1
2
3
4
5
6
7
C U U C D C U D
C
UC
DC
UD
U
Symbolic Symbolic ApproximationApproximation
Key: C = ConstantU = UpD = Down
Basic Idea: Convert the time series into an alphabet of discrete symbols. Use string indexing techniques to manage the data.
Potentially an interesting idea, but all the papers thus far are very ad hoc.
Pros and Cons of SymbolicPros and Cons of SymbolicApproximation as a time series Approximation as a time series representation.representation.• Potentially, we could take advantage of a wealth of techniques from the very mature field of string processing.• There is no known technique to allow the support of Euclidean queries.• It is not clear how we should discretize the times series (discretize the values, the slope, shapes? How big of an alphabet? etc)
Houat 2004Houat 2004 2424
PLA : PLA : toptop--downdown
La série temporelle est découpée jusqu’à La série temporelle est découpée jusqu’à ce qu’une condition d’arrêt soit satisfaitece qu’une condition d’arrêt soit satisfaite
Considérer toutes les partitions possiblesConsidérer toutes les partitions possiblesEssayer de couper à l’endroit optimalEssayer de couper à l’endroit optimal
Houat 2004Houat 2004 2525
PLA : PLA : toptop--downdown
On On ontinueontinue à découper jusqu’à ce que chaque à découper jusqu’à ce que chaque segment ait une erreur résiduelle inférieure à segment ait une erreur résiduelle inférieure à un seuil spécifié par l’utilisateurun seuil spécifié par l’utilisateur
Houat 2004Houat 2004 2626
PLA : PLA : toptop--downdown
On continue à découper…On continue à découper…
Houat 2004Houat 2004 2727
PLA : PLA : toptop--downdown
On continue à découper… jusqu’à satisfaction On continue à découper… jusqu’à satisfaction du critère d’arrêtdu critère d’arrêt
Houat 2004Houat 2004 2828
PLA : PLA : bottombottom--upup
A partir de l’approximation la plus fine on A partir de l’approximation la plus fine on fusionne des segments jusqu’à satisfaction du fusionne des segments jusqu’à satisfaction du critère d’arrêtcritère d’arrêt•• On crée n/2 segmentsOn crée n/2 segments
Houat 2004Houat 2004 2929
PLA : PLA : bottombottom--upup
À chaque pas on fusionne le couple de À chaque pas on fusionne le couple de segments consécutifs présentant le moindre segments consécutifs présentant le moindre coût...coût...
Houat 2004Houat 2004 3030
PLA : PLA : bottombottom--upup
On fusionne le couple de segments On fusionne le couple de segments consécutifs présentant le moindre coût... consécutifs présentant le moindre coût... jusqu’à satisfaction du critère d’arrêtjusqu’à satisfaction du critère d’arrêt
Houat 2004Houat 2004 3131
PLA : fenêtre glissantePLA : fenêtre glissante
Un segment est étendu jusqu’à ce qu’il Un segment est étendu jusqu’à ce qu’il dépasse un certain seuil d’erreurdépasse un certain seuil d’erreur
Le premier segment a pour origine le premier Le premier segment a pour origine le premier point de la sériepoint de la série
Houat 2004Houat 2004 3232
PLA : fenêtre glissantePLA : fenêtre glissante
On essaie d’approximer la série en étendant On essaie d’approximer la série en étendant le segmentle segment
Houat 2004Houat 2004 3333
PLA : fenêtre glissantePLA : fenêtre glissante
On continue à étendre jusqu’à ce que l’on On continue à étendre jusqu’à ce que l’on rencontre un point provoquant le rencontre un point provoquant le dépassement du seuil d’erreurdépassement du seuil d’erreur
Houat 2004Houat 2004 3434
PLA : fenêtre glissantePLA : fenêtre glissante
On revient au point précédent qui constituera On revient au point précédent qui constituera la fin du segmentla fin du segment
Houat 2004Houat 2004 3535
PLA : fenêtre glissantePLA : fenêtre glissante
On démarre un nouveau segment à partir du On démarre un nouveau segment à partir du point courant…point courant…
Houat 2004Houat 2004 3636
PLA : fenêtre glissantePLA : fenêtre glissante
On démarre un nouveau segment à partir du On démarre un nouveau segment à partir du point courant…point courant…
Houat 2004Houat 2004 3737
PLA : fenêtre glissantePLA : fenêtre glissante
On démarre un nouveau segment à partir du On démarre un nouveau segment à partir du point courant…point courant…
Houat 2004Houat 2004 3838
PLA : fenêtre glissantePLA : fenêtre glissante
On démarre un nouveau segment à partir du On démarre un nouveau segment à partir du point courant… jusqu’à ce que la totalité de la point courant… jusqu’à ce que la totalité de la sériesérie
Houat 2004Houat 2004 3939
PLA : fenêtre glissantePLA : fenêtre glissante
Complexité : déterminée par le calcul de Complexité : déterminée par le calcul de l’erreur à chaque pasl’erreur à chaque pas
Distance euclidienne (Distance euclidienne (MorinakaMorinaka et et alal 2001)2001)Calcul incrémental de l’erreurCalcul incrémental de l’erreur•• CusumCusum : somme cumulative : somme cumulative
(S. Charbonnier, 2002)(S. Charbonnier, 2002)•• Éloignement d’un minimum (maximum) local Éloignement d’un minimum (maximum) local
((FinkFink & & PrattPratt, 2002), 2002)
Houat 2004Houat 2004 4040
Points importants (Fink & Pratt)Points importants (Fink & Pratt)
Compression d’une série temporelle en ne Compression d’une série temporelle en ne gardant que certains minima et maxima gardant que certains minima et maxima (majeurs)(majeurs)
•• xxmm est le minimum (maximum) d’une sousest le minimum (maximum) d’une sous--séquence et les bornes de cette sousséquence et les bornes de cette sous--séquence séquence sont beaucoup plus grandes (plus petites) que xsont beaucoup plus grandes (plus petites) que xmm
Houat 2004Houat 2004 4141
Points importants (Fink & Pratt)Points importants (Fink & Pratt)•• Formellement : un point xFormellement : un point xmm d’une série (xd’une série (x11, …, , …,
xxnn) est dit «) est dit « importantimportant » s’il existe des indices i » s’il existe des indices i et j, i et j, i ≤≤ m m ≤≤ j tels que j tels que
xxmm est le minimum de xest le minimum de xii … x… xjj
xxii / x/ xmm ≥≥ R et xR et xii / x/ xmm ≥≥ R, pour tout i < k < j, xR, pour tout i < k < j, xkk / x/ xmm < R < R xxmm est le maximum de xest le maximum de xii … x… xjj
xxmm / x/ xii ≥≥ R et xR et xmm / x/ xj j ≥≥ R, pour tout i < k < j, xR, pour tout i < k < j, xmm / x/ xkk < R < R
xm
xm*Rxm
xm/Rji i j
Houat 2004Houat 2004 4242
Points importants (Fink & Pratt)Points importants (Fink & Pratt)•• Algorithme incrémental, de complexité linéaireAlgorithme incrémental, de complexité linéaire•• Taux de compression réglable par le seuil RTaux de compression réglable par le seuil R•• Inconvénients : Inconvénients :
supporte mal les décalages en amplitude et les supporte mal les décalages en amplitude et les changements d’échelle : beaucoup d’extrema de faible changements d’échelle : beaucoup d’extrema de faible amplitude, peu d’extrema d'amplitude élevéeamplitude, peu d’extrema d'amplitude élevéeproduit une série compressée en forme de dents de scieproduit une série compressée en forme de dents de scie
Houat 2004Houat 2004 4343
Influence du seuil RInfluence du seuil R
R=4 R=4 87 pts87 ptsRetient seulement les min et max peu élevésRetient seulement les min et max peu élevés
Houat 2004Houat 2004 4444
Points importants : extensionsPoints importants : extensionsExtensions de l’algorithmeExtensions de l’algorithme
Seuil “adaptatif” R fonction de la valeur de Seuil “adaptatif” R fonction de la valeur de l’extremum et de la moyenne de la variablel’extremum et de la moyenne de la variableintroduction de (2) points intermédiaires entre les introduction de (2) points intermédiaires entre les points importantspoints importantsmaintientmaintient la complexité linéaire de l'algorithmela complexité linéaire de l'algorithme
Houat 2004Houat 2004 4545
Seuil adaptatif RSeuil adaptatif RUtilise la moyenne de la série (Utilise la moyenne de la série (mm) et deux ) et deux paramètres de règlage:paramètres de règlage:
HH : compression dans les valeurs élevées: compression dans les valeurs élevéesLL : compression dans les valeurs : compression dans les valeurs faiblesfaibles
xL
mmx
mHxR 1*1)( −++=
Houat 2004Houat 2004 4646
Seuil adaptatif R : résultatsSeuil adaptatif R : résultats
Abstraction privilégiant les valeurs élevéesAbstraction privilégiant les valeurs élevéesL = 250, H = 1.2 L = 250, H = 1.2 85 pts85 pts
Houat 2004Houat 2004 4747
Profil en dents de scieProfil en dents de scie
Dû à une alternance Dû à une alternance maximum local maximum local –– minimum localminimum localRend impossible la présence de portions Rend impossible la présence de portions (quasi(quasi--)constantes dans la série abstraite)constantes dans la série abstraiteSolution :Solution :
•• introduire un ou deux points intermédiaires entre les introduire un ou deux points intermédiaires entre les points points principauxprincipauxpoints de la série situés entre deux points points de la série situés entre deux points
principauxprincipaux les plus éloignés du segment joignant les plus éloignés du segment joignant ces points principauxces points principaux
Houat 2004Houat 2004 4848
Points importants : extensionsPoints importants : extensionsEn rouge : les points introduits par l’algorithme original
En vert : les points supplémentaires introduits par l’algorithme modifié
Houat 2004Houat 2004 4949
Évaluation des différents Évaluation des différents algosalgosMAISMAIS……
TopTop--downdown et et bottombottom--upup meilleurs mais meilleurs mais algorithmes algorithmes horshors--ligneligne
Difficilement utilisables sur des gros Difficilement utilisables sur des gros volumes de données ou sur des flots de volumes de données ou sur des flots de données données
« Fenêtres glissantes » « Fenêtres glissantes » en ligneen lignePerformances moindresPerformances moindres
Houat 2004Houat 2004 5050
SWAB (SWAB (KeoghKeogh et et alal. 2001) : . 2001) : bottombottom--upup + fenêtres glissantes+ fenêtres glissantes
TopTop--downdown et et bottombottom--upup meilleurs mais meilleurs mais algorithmes algorithmes horshors--ligneligne
Difficilement utilisables sur des gros volumes Difficilement utilisables sur des gros volumes de données ou sur des flots de données de données ou sur des flots de données
« Fenêtres glissantes » « Fenêtres glissantes » en ligneen lignePerformances moindresPerformances moindres
SWAB : SWAB : SSlidingliding WWindowindow AAndnd BBottomottom--upupAdaptation (triviale?) de Adaptation (triviale?) de bottombottom--upup pour qu’il pour qu’il s’exécute en lignes’exécute en ligne
Houat 2004Houat 2004 5151
SWAB : SWAB : bottombottom--upup + fenêtres glissantes+ fenêtres glissantesSWAB : SWAB : SSlidingliding WWindowindow AAndnd BBottomottom--upup
Adaptation (triviale?) de Adaptation (triviale?) de bottombottom--upup pour qu’il pour qu’il s’exécute en lignes’exécute en ligne
Utilise un Utilise un bufferbuffer : taille adaptée pour contenir 5 : taille adaptée pour contenir 5 à 6 segmentsà 6 segments
1.1. Une fois le Une fois le bufferbuffer rempli rempli algoalgo bottombottom--upup sur les sur les données du données du bufferbuffer
2.2. On retient le(s) premier(s) segment(s) et on enlève On retient le(s) premier(s) segment(s) et on enlève les données couvertes par le(s) segment(s)les données couvertes par le(s) segment(s)
3.3. on intègre des données dans le on intègre des données dans le bufferbuffer selon la selon la technique fenêtre glissantetechnique fenêtre glissante
4.4. Retour en 1. jusqu’à « épuisement » des données Retour en 1. jusqu’à « épuisement » des données d’entréed’entrée
Houat 2004Houat 2004 5252
SWAB : SWAB : bottombottom--upup + fenêtres glissantes+ fenêtres glissantes
Initialiser le Initialiser le bufferbufferExécuter Exécuter bottombottom--upup dans le dans le bufferbuffer
Houat 2004Houat 2004 5353
SWAB : SWAB : bottombottom--upup + fenêtres glissantes+ fenêtres glissantes
Initialiser le Initialiser le bufferbufferExécuter Exécuter bottombottom--upup dans le dans le bufferbufferModifier le Modifier le bufferbuffer selon « fenêtres glissantes »selon « fenêtres glissantes »
Houat 2004Houat 2004 5454
SWAB : SWAB : bottombottom--upup + fenêtres glissantes+ fenêtres glissantes
Exécuter, à nouveau, Exécuter, à nouveau, bottombottom--upup dans le dans le bufferbuffer
Houat 2004Houat 2004 5555
SWAB : SWAB : bottombottom--upup + fenêtres glissantes+ fenêtres glissantes
Modifier le Modifier le bufferbuffer
Houat 2004Houat 2004 5656
SWAB : SWAB : bottombottom--upup + fenêtres glissantes+ fenêtres glissantes
Modifier le Modifier le bufferbufferExécuter Exécuter bottombottom--upup dans le dans le bufferbuffer
Houat 2004Houat 2004 5757
SWAB : SWAB : bottombottom--upup + fenêtres glissantes+ fenêtres glissantes
Modifier le Modifier le bufferbuffer
Houat 2004Houat 2004 5858
SWAB : SWAB : bottombottom--upup + fenêtres glissantes+ fenêtres glissantes
Exécuter Exécuter bottombottom--upup dans le dans le bufferbufferModifier le Modifier le bufferbuffer
Houat 2004Houat 2004 5959
SWAB : SWAB : bottombottom--upup + fenêtres glissantes+ fenêtres glissantes
Exécuter Exécuter bottombottom--upup dans le dans le bufferbufferModifier le Modifier le bufferbuffer
Houat 2004Houat 2004 6060
SWAB : SWAB : bottombottom--upup + fenêtres glissantes+ fenêtres glissantes
Exécuter Exécuter bottombottom--upup dans le dans le bufferbufferModifier le Modifier le bufferbuffer
Houat 2004Houat 2004 6161
SWAB : SWAB : bottombottom--upup + fenêtres glissantes+ fenêtres glissantes
Exécuter Exécuter bottombottom--upup dans le dans le bufferbufferModifier le Modifier le bufferbuffer
Houat 2004Houat 2004 6262
SWAB : SWAB : bottombottom--upup + fenêtres glissantes+ fenêtres glissantes
Exécuter Exécuter bottombottom--upup dans le dans le bufferbufferModifier le Modifier le bufferbuffer… jusqu’à plus de données.… jusqu’à plus de données.
Houat 2004Houat 2004 6363
SWAB : SWAB : bottombottom--upup + fenêtres glissantes+ fenêtres glissantes
Exécuter une dernière fois Exécuter une dernière fois bottombottom--upup dans le dans le bufferbuffer
Houat 2004Houat 2004 6464
SWAB : SWAB : bottombottom--upup + fenêtres glissantes+ fenêtres glissantes
Un continuum entre fenêtres glissantes et Un continuum entre fenêtres glissantes et bottombottom--upup•• Taille du Taille du bufferbuffer : unité : unité fenêtres glissantesfenêtres glissantes•• Taille du Taille du bufferbuffer : infinie : infinie bottombottom--upup
Une fois que le Une fois que le bufferbuffer est initialisée à une est initialisée à une taille relativement faible (5 à 6 segments), taille relativement faible (5 à 6 segments), SWAB se comporte comme SWAB se comporte comme bottombottom--upup
Houat 2004Houat 2004 6565
SWAB : SWAB : bottombottom--upup + fenêtres glissantes+ fenêtres glissantes
Houat 2004Houat 2004 6666
Conclusion Conclusion
Abstraction temporelle, réduction de la Abstraction temporelle, réduction de la dimension de séries temporellesdimension de séries temporelles
Littérature foisonnante pour adapter les Littérature foisonnante pour adapter les algosalgos aux aux contraintes de la fouille de données : contraintes de la fouille de données :
•• constitution de bases de données de séries temporelles, constitution de bases de données de séries temporelles, recherche de séries similaires, indexation, recherche de séries similaires, indexation,
•• recherche de motifs dans les séries de la BD, recherche de recherche de motifs dans les séries de la BD, recherche de motifs « à la volée », …motifs « à la volée », …
Adaptations vraiment originales?Adaptations vraiment originales?Qu’en pensent les spécialistes en traitement de Qu’en pensent les spécialistes en traitement de signal?signal?
Houat 2004Houat 2004 6767
Pour en savoir plus…Pour en savoir plus…
TimeTime seriesseries data data miningmining archive archive ((EamonnEamonn KEOGH)KEOGH)http://www.cs.ucr.edu/~eamonn/TSDMA/index.htmlhttp://www.cs.ucr.edu/~eamonn/TSDMA/index.html
Survey of Time Series (ZHOU Mi)http://www.cse.cuhk.edu.hk/~mzhou/http://www.cse.cuhk.edu.hk/~mzhou/