mining time series. (c) eamonn keogh, [email protected] 2 why is working with time series so...

30
Mining Time Series

Upload: lewis-crawford

Post on 03-Jan-2016

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

Mining Time Series

Page 2: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

2

Why is Working With Time Series so Why is Working With Time Series so Difficult? Part I Difficult? Part I

1 Hour of ECG data:1 Hour of ECG data: 1 Gigabyte.

Typical WeblogTypical Weblog: 5 Gigabytes per week.

Space Shuttle DatabaseSpace Shuttle Database: 200 Gigabytes and growing.

Macho DatabaseMacho Database: 3 Terabytes, updated with 3 gigabytes a day.

Answer:Answer: How do we work with very large databases? How do we work with very large databases?

Since most of the data lives on disk (or tape), we need a representation of the data we can efficiently manipulate.

Page 3: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

3

Why is Working With Time Series so Why is Working With Time Series so Difficult? Part II Difficult? Part II

The definition of similarity depends on the user, the domain and the task at hand. We need to be able to handle this subjectivity.

Answer:Answer: We are dealing with subjectivity We are dealing with subjectivity

Page 4: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

4

Why is working with time series so Why is working with time series so difficult? Part III difficult? Part III

Answer:Answer: Miscellaneous data handling problems. Miscellaneous data handling problems.

• Differing data formats.Differing data formats.• Differing sampling rates.Differing sampling rates.• Noise, missing values, etc.Noise, missing values, etc.

We will not focus on these issues here.

Page 5: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

5

What do we want to do with the time series data?What do we want to do with the time series data?

ClusteringClustering ClassificationClassification

Query by Content

Rule Discovery

10

s = 0.5c = 0.3

Motif DiscoveryMotif Discovery

Novelty DetectionNovelty DetectionVisualizationVisualization

Page 6: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

6

All these problems require All these problems require similaritysimilarity matching matching

ClusteringClustering ClassificationClassification

Query by Content

Rule Discovery

10

s = 0.5c = 0.3

Motif DiscoveryMotif Discovery

Novelty DetectionNovelty DetectionVisualizationVisualization

Page 7: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

7

Here is a simple motivation for time series data miningHere is a simple motivation for time series data mining

You go to the doctor because of chest pains. Your ECG looks strange…

You doctor wants to search a database to find similar ECGs, in the hope that they will offer clues about your condition...

Two questions: • How do we define similar?How do we define similar?

• How do we search quickly?

ECG tester

Page 8: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

8

Two Kinds of SimilarityTwo Kinds of Similarity Similarity at the level of

shape

Similarity at the level of

shape

Similarity at the structural

level

Similarity at the structural

level

Page 9: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

9

Defining Distance MeasuresDefining Distance Measures

Definition: Let O1 and O2 be two objects from

the universe of possible objects. The distance (dissimilarity) is denoted by D(O1,O2)

D(A,B) = D(B,A) Symmetry

• D(A,A) = 0 Constancy

• D(A,B) = 0 IIf A= B Positivity

• D(A,B) D(A,C) + D(B,C) Triangular Inequality

What properties are desirable in a distance

measure?

What properties are desirable in a distance

measure?

Page 10: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

10

Why is the Triangular Inequality so Important?Why is the Triangular Inequality so Important?Virtually all techniques to index data require the triangular inequality to hold.

a

bc

Q

Suppose I am looking for the closest point to Q, in a database of 3 objects.

Further suppose that the triangular inequality holds, and that we have precomplied a table of distance between all the items in the database. a b c

a 6.70 7.07b 2.30c

Page 11: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

11

Why is the Triangular Inequality so Important?Why is the Triangular Inequality so Important?Virtually all techniques to index data require the triangular inequality to hold.

a

bc

Q

I find a and calculate that it is 2 units from Q, it becomes my best-so-far. I find b and calculate that it is 7.81 units away from Q.

I don’t have to calculate the distance from Q

to c!

I know D(Q,b) D(Q,c) + D(b,c)D(Q,b) - D(b,c) D(Q,c) 7.81 - 2.30 D(Q,c) 5.51 D(Q,c)

So I know that c is at least 5.51 units away, but my best-so-far is only 2 units away.

a b c

a 6.70 7.07

b 2.30

c

Page 12: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

12

n

iii cqCQD

1

2,Q

C

D(Q,C)

Euclidean Distance MetricEuclidean Distance Metric

About 80% of published work in data mining uses

Euclidean distance

About 80% of published work in data mining uses

Euclidean distance

Given two time series: Q = q1…qn

C = c1…cn

Page 13: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

13

Optimizing the Euclidean Optimizing the Euclidean Distance CalculationDistance Calculation

n

iii cqCQD

1

2,

n

iiisquared cqCQD

1

2,

Euclidean distance and Squared Euclidean distance are equivalent in the sense that they return the same clusterings and classifications

Instead of using theEuclidean distance

we can use the

Squared Euclidean distance

Instead of using theEuclidean distance

we can use the

Squared Euclidean distance

This optimization helps with CPU time, but most

problems are I/O bound.

This optimization helps with CPU time, but most

problems are I/O bound.

Page 14: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

14

In the next few slides we will discuss the 4 most

common distortions, and how to remove them

In the next few slides we will discuss the 4 most

common distortions, and how to remove them

Preprocessing the data before distance calculationsPreprocessing the data before distance calculations

• Offset Translation• Amplitude Scaling• Linear Trend• Noise

This is because Euclidean distance is very sensitive to some “distortions” in the data. For most problems these distortions are not meaningful, and thus we can and should remove them

This is because Euclidean distance is very sensitive to some “distortions” in the data. For most problems these distortions are not meaningful, and thus we can and should remove them

If we naively try to measure the distance between two “raw” time

series, we may get very unintuitive results

If we naively try to measure the distance between two “raw” time

series, we may get very unintuitive results

Page 15: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

15

Transformation I: Offset TranslationTransformation I: Offset Translation

0 50 100 150 200 250 3000

0.5

1

1.5

2

2.5

3

0 50 100 150 200 250 3000

0.5

1

1.5

2

2.5

3

0 50 100 150 200 250 3000 50 100 150 200 250 300

Q = Q - mean(Q)

C = C - mean(C)

D(Q,C)

D(Q,C)

Page 16: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

16

Transformation II: Amplitude ScalingTransformation II: Amplitude Scaling

0 100 200 300 400 500 600 700 800 900 1000 0 100 200 300 400 500 600 700 800 900 1000

Q = (Q - mean(Q)) / std(Q)

C = (C - mean(C)) / std(C)D(Q,C)

Page 17: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

17

Transformation III: Linear TrendTransformation III: Linear Trend

0 20 40 60 80 100 120 140 160 180 200-4

-2

0

2

4

6

8

10

12

0 20 40 60 80 100 120 140 160 180 200-3

-2

-1

0

1

2

3

4

5

Removed offset translation

Removed amplitude scaling

Removed linear trend The intuition behind removing linear trend is…

Fit the best fitting straight line to the time series, then subtract that line from the time series.

Page 18: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

18

Transformation IIII: NoiseTransformation IIII: Noise

0 20 40 60 80 100 120 140-4

-2

0

2

4

6

8

0 20 40 60 80 100 120 140-4

-2

0

2

4

6

8

Q = smooth(Q)

C = smooth(C)D(Q,C)

The intuition behind removing noise is...

Average each datapoints value with its neighbors.

Page 19: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

191

2

3

4

6

5

7

8

9

A Quick Experiment to Demonstrate the A Quick Experiment to Demonstrate the

Utility of Preprocessing the DataUtility of Preprocessing the Data

1

4

7

5

8

6

9

2

3

Clustered using Euclidean distance,

after removing noise, linear trend, offset

translation and amplitude scaling

Clustered using Euclidean distance,

after removing noise, linear trend, offset

translation and amplitude scaling

Clustered using Euclidean

distance on the raw data.

Clustered using Euclidean

distance on the raw data.

Page 20: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

Fixed Time AxisSequences are aligned “one to one”.

“Warped” Time AxisNonlinear alignments are possible.

Dynamic Time WarpingDynamic Time Warping

Page 21: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

DatasetDataset EuclideanEuclidean DTWDTWWord Spotting 4.78 1.10Sign language 28.70 25.93GUN 5.50 1.00Nuclear Trace 11.00 0.00Leaves# 33.26 4.07(4) Faces 6.25 2.68Control Chart* 7.5 0.332-Patterns 1.04 0.00

Results: Error RateResults: Error Rate

Using 1-nearest-neighbor, leaving-one-out evaluation!

Using 1-nearest-neighbor, leaving-one-out evaluation!

Page 22: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

DatasetDataset EuclideanEuclidean DTWDTWWord Spotting 40 8,600 Sign language 10 1,110GUN 60 11,820 Nuclear Trace 210 144,470 Leaves 150 51,830 (4) Faces 50 45,080Control Chart 110 21,9002-Patterns 16,890 545,123

Results: Time (Results: Time (msecmsec ) )

215

110

197

687

345

901

199

32

DTW is two to three orders of magnitude slower than Euclidean distance

DTW is two to three orders of magnitude slower than Euclidean distance

Page 23: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

23

Two Kinds of SimilarityTwo Kinds of Similarity We are done with shape

similarity

We are done with shape

similarity

Let us consider

similarity at the structural

level

Let us consider

similarity at the structural

level

Page 24: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

24

Euclidean Distance

For long time series, shape

based similarity will give very

poor results. We need to measure

similarly based on high level structure

For long time series, shape

based similarity will give very

poor results. We need to measure

similarly based on high level structure

Page 25: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

25

Structure or Model Based SimilarityStructure or Model Based Similarity

ABC

A B CMax Value 11 12 19

Autocorrelation 0.2 0.3 0.5

Zero Crossings 98 82 13

… … … …

FeatureFeature

Time Time SeriesSeries

The basic idea is to extract global

features from the time series, create a feature vector, and use these feature

vectors to measure similarity and/or

classify

The basic idea is to extract global

features from the time series, create a feature vector, and use these feature

vectors to measure similarity and/or

classify

Page 26: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

26

Motivating example revisited…Motivating example revisited…

You go to the doctor because of chest pains. Your ECG looks strange…

Your doctor wants to search a database to find similar ECGs, in the hope that they will offer clues about your condition...

Two questions: •How do we define similar?

•How do we search quickly?How do we search quickly?

ECG

Page 27: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

27

• Create an approximation of the data, which will fit in main memory, yet retains the essential features of interest

• Approximately solve the problem at hand in main memory

• Make (hopefully very few) accesses to the original data on disk to confirm the solution obtained in Step 2, or to modify the solution so it agrees with the solution we would have obtained on the original data

The Generic Data Mining AlgorithmThe Generic Data Mining Algorithm

This only works if the approximation

allows lower bounding

This only works if the approximation

allows lower bounding

Page 28: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

28

What is Lower Bounding?What is Lower Bounding?

S

Q

n

iii sq

1

2D(Q,S)

Lower bounding means that for all Q and S, we have: DLB(Q’,S’) D(Q,S)

Lower bounding means that for all Q and S, we have: DLB(Q’,S’) D(Q,S)

M

i iiii svqvsrsr1

21 ))((DLB(Q’,S’)

DLB(Q’,S’)

Q’

S’

Raw Data

Approximation or

“Representation”

The term (sri-sri-1) is the length of each segment. So long segmentscontribute more to the distance measure.

Page 29: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

29

Exploiting Symbolic Representations of Time Exploiting Symbolic Representations of Time SeriesSeries

• Important properties for representations (approximations) of time series– Dimensionality Reduction– Lowerbounding

• SAX (Symbolic Aggregate ApproXimation) is a lower bounding dimensionality reducing time series representation!

• We have studied SAX in an earlier lecture

Page 30: Mining Time Series. (c) Eamonn Keogh, eamonn@cs.ucr.edu 2 Why is Working With Time Series so Difficult? Part I 1 Hour of ECG data: w 1 Hour of ECG data:

(c) Eamonn Keogh, [email protected]

30

ConclusionsConclusions

• Time series are everywhere!

• Similarity search in time series is important.

• The right representation for the problem at hand is the key to an efficient and effective solution.