Abstraction de séries temporelles - IRISA

67
Houat 2004 Houat 2004 1 1 Abstraction de séries Abstraction de séries temporelles temporelles René Quiniou René Quiniou Équipe Équipe Dream Dream Remerciements : E. Remerciements : E. Keogh Keogh , S. Chu , S. Chu - - UCR UCR

Transcript of Abstraction de séries temporelles - IRISA

Page 1: Abstraction de séries temporelles - IRISA

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

Page 2: Abstraction de séries temporelles - IRISA

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.

Page 3: Abstraction de séries temporelles - IRISA

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

Page 4: Abstraction de séries temporelles - IRISA

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

Page 5: Abstraction de séries temporelles - IRISA

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

Page 6: Abstraction de séries temporelles - IRISA

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(()( ππ

Page 7: Abstraction de séries temporelles - IRISA

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.

Page 8: Abstraction de séries temporelles - IRISA

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.

Page 9: Abstraction de séries temporelles - IRISA

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...

Page 10: Abstraction de séries temporelles - IRISA

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...

Page 11: Abstraction de séries temporelles - IRISA

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.

Page 12: Abstraction de séries temporelles - IRISA

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

Page 13: Abstraction de séries temporelles - IRISA

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.

Page 14: Abstraction de séries temporelles - IRISA

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.

Page 15: Abstraction de séries temporelles - IRISA

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)

Page 16: Abstraction de séries temporelles - IRISA

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.

Page 17: Abstraction de séries temporelles - IRISA

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.

Page 18: Abstraction de séries temporelles - IRISA

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….

Page 19: Abstraction de séries temporelles - IRISA

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.

Page 20: Abstraction de séries temporelles - IRISA

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

Page 21: Abstraction de séries temporelles - IRISA

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.

Page 22: Abstraction de séries temporelles - IRISA

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).

Page 23: Abstraction de séries temporelles - IRISA

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)

Page 24: Abstraction de séries temporelles - IRISA

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

Page 25: Abstraction de séries temporelles - IRISA

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

Page 26: Abstraction de séries temporelles - IRISA

Houat 2004Houat 2004 2626

PLA : PLA : toptop--downdown

On continue à découper…On continue à découper…

Page 27: Abstraction de séries temporelles - IRISA

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

Page 28: Abstraction de séries temporelles - IRISA

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

Page 29: Abstraction de séries temporelles - IRISA

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...

Page 30: Abstraction de séries temporelles - IRISA

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

Page 31: Abstraction de séries temporelles - IRISA

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

Page 32: Abstraction de séries temporelles - IRISA

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

Page 33: Abstraction de séries temporelles - IRISA

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

Page 34: Abstraction de séries temporelles - IRISA

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

Page 35: Abstraction de séries temporelles - IRISA

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…

Page 36: Abstraction de séries temporelles - IRISA

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…

Page 37: Abstraction de séries temporelles - IRISA

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…

Page 38: Abstraction de séries temporelles - IRISA

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

Page 39: Abstraction de séries temporelles - IRISA

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)

Page 40: Abstraction de séries temporelles - IRISA

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

Page 41: Abstraction de séries temporelles - IRISA

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

Page 42: Abstraction de séries temporelles - IRISA

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

Page 43: Abstraction de séries temporelles - IRISA

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

Page 44: Abstraction de séries temporelles - IRISA

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

Page 45: Abstraction de séries temporelles - IRISA

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)( −++=

Page 46: Abstraction de séries temporelles - IRISA

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

Page 47: Abstraction de séries temporelles - IRISA

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

Page 48: Abstraction de séries temporelles - IRISA

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é

Page 49: Abstraction de séries temporelles - IRISA

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

Page 50: Abstraction de séries temporelles - IRISA

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

Page 51: Abstraction de séries temporelles - IRISA

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

Page 52: Abstraction de séries temporelles - IRISA

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

Page 53: Abstraction de séries temporelles - IRISA

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 »

Page 54: Abstraction de séries temporelles - IRISA

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

Page 55: Abstraction de séries temporelles - IRISA

Houat 2004Houat 2004 5555

SWAB : SWAB : bottombottom--upup + fenêtres glissantes+ fenêtres glissantes

Modifier le Modifier le bufferbuffer

Page 56: Abstraction de séries temporelles - IRISA

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

Page 57: Abstraction de séries temporelles - IRISA

Houat 2004Houat 2004 5757

SWAB : SWAB : bottombottom--upup + fenêtres glissantes+ fenêtres glissantes

Modifier le Modifier le bufferbuffer

Page 58: Abstraction de séries temporelles - IRISA

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

Page 59: Abstraction de séries temporelles - IRISA

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

Page 60: Abstraction de séries temporelles - IRISA

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

Page 61: Abstraction de séries temporelles - IRISA

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

Page 62: Abstraction de séries temporelles - IRISA

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.

Page 63: Abstraction de séries temporelles - IRISA

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

Page 64: Abstraction de séries temporelles - IRISA

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

Page 65: Abstraction de séries temporelles - IRISA

Houat 2004Houat 2004 6565

SWAB : SWAB : bottombottom--upup + fenêtres glissantes+ fenêtres glissantes

Page 66: Abstraction de séries temporelles - IRISA

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?

Page 67: Abstraction de séries temporelles - IRISA

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/