1 Online Data Mining for Co-Evolving Time Sequences B.-K. Yi 1 N.D. Sidiropoulos 2 T. Johnson 3 H.V. Jagadish 4 C. Faloutsos 5 A. Biliris 6 October 19...

Author:
Kenneth Copeland

0 downloads 13 Views 290KB Size

N.D. Sidiropoulos2 H.V. Jagadish4 C. Faloutsos5

T. Johnson3 A. Biliris6

October 1999 CMU-CS-99-171

School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 To appear in ICDE 2000

Dept. of CS, Univ. of Maryland, [email protected] Dept. of EE, Univ. of Virginia ([email protected]) 3 AT&T Labs ([email protected]) 4 Dept. of EECS, Univ. of Michigan ([email protected]). On leave from AT&T Labs. 5 School of Computer Science, CMU ([email protected]) 6 AT&T Labs, ([email protected]) This material is based upon work supported by the National Science Foundation under Grants No. IRI9625428, DMS-9873442, IIS-9817496, and IIS-9910606, and by the Defense Advanced Research Projects Agency under Contract No. N66001-97-C-8517. Additional funding was provided by donations from NEC and Intel. Any opinions, ndings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily re ect the views of the National Science Foundation, DARPA, or other funding parties. 1 2

Keywords: Data bases, Data mining, time sequences

Abstract In many applications, the data of interest comprises multiple sequences that evolve over time. Examples include currency exchange rates, network trac data, and demographic data on multiple variables. We develop a fast method to analyze such co-evolving time sequences jointly to allow (a) estimation/forecasting of missing/delayed/future values, (b) quantitative data mining, discovering correlations (with or without lag) among the given sequences, and (c) outlier detection. Our method, MUSCLES, adapts to changing correlations among time sequences. It can handle inde nitely long sequences eciently using an incremental algorithm and requires only small amount of storage so that it works well with limited main memory size and does not cause excessive I/O operations. To scale for a large number of sequences, we present a variation, the Selective MUSCLES method and propose an ecient algorithm to reduce the problem size. Experiments on real datasets show that MUSCLES outperforms popular competitors in prediction accuracy up to 10 times, and discovers interesting correlations. Moreover, Selective MUSCLES scales up very well for large numbers of sequences, reducing response time up to 110 times over MUSCLES, and sometimes even improves the prediction quality.

1 Introduction In many applications, the data of interest comprises multiple sequences that each evolve over time. Examples include currency exchange rates, network trac data from dierent network elements, demographic data from multiple jurisdictions, patient data varying over time, and so on. These sequences are not independent: in fact, they frequently exhibit high correlations. Therefore, much useful information is lost if each sequence is analyzed individually. What we desire is to study the entire set of sequences as a whole, where the number of sequences in the set can be very large. For example, if each sequence represents data recorded from a network element in some large network, then the number of sequences could easily be in the several thousands, and even millions. To make our task even more challenging, it is typically the case that the results of analysis are most useful if they are available immediately, based upon the portion of each sequence seen so far, without waiting for \completion" of data streams. In fact, these sequences can be inde nitely long, and may have no predictable termination in the future. What we require is the capability to \repeat" our analysis over and over as the next element (or batch of elements) in each data sequence is revealed, so that accurate estimations of delayed/missing elements and/or up-to-date correlations are available quickly. And we have to do this on potentially very long sequences, indicating a need for analytical techniques that have low incremental computational complexity. Table 1 illustrates a typical setting: Suppose that we have k time sequences, and that we obtain the value of each at every time-tick (say, every minute). Suppose that one of the time sequences, say, s , is delayed or missing. Our goal is to do our best prediction for the last \current" value of this sequence, given all the past information about this sequence, and all the past and current information for the other sequences. We wish to be able to do this at every point of time, given all the information up to that time. More generally, given a delayed or missing value in some sequence, we would like to estimate it as best as we can, using all other information available to us from this and other related sequences. Using the same machinery, we can also nd \unexpected values" when the actual observation diers greatly from its estimate computed as above. Such an \outlier" may be indicative of an interesting event in the speci c time series aected. Another problem to solve is the derivation of (quantitative) correlations; e.g., \the number 1

1

sequence s1 s2 s3 s4 time packets-sent packets-lost packets-corrupted packets-repeated 1 50 20 10 3 2 55 20 10 10 .. .. .. .. .. . . . . . N ,1 73 25 18 12 N ?? 25 18 18

Table 1: Snapshot of a set of co-evolving time sequences. Goal: predict the delayed value of s . 1

of packets-lost is perfectly correlated with the number of packets corrupted", or \the number of packets-repeated lags the number of packets-corrupted by several time-ticks". This type of information can be used for various purposes such as tracking of the source of cascaded network fault or overload, or discovering unknown relationships between bank/credit accounts to spot suspected criminal behaviors. In light of the preceding discussion, our goal is to seek a technique which satis es the following requirements.

It should provide all the machinery to solve both problems we introduced earlier. It should be on-line and scalable, operating in time that is independent of the number, N , of past time-ticks. It should scale up well with the number of time sequences, k. It should also be capable of adapting quickly to the change of trends.

This is a challenging task because direct application of the standard mathematical/statistical methods such as the linear regression model may fail to meet the above requirements. Hence our focus lies on the development of an elaborated technique such that it satis es all of our requirement and veri es its eectiveness through extensive experimental evaluations.

Applications: We embarked upon this work motivated by a network management application

similar to the one described below. However, we soon discovered that our concepts applied equally to any collection of co-evolving time sequences. Sample applications include the following: 2

Network management: Time sequences are measurements (for example, number of packets

lost, sent, and received for a collection of nodes). Then, we want to (a) ll in missing/delayed values;(b) spot outliers; (c) group \alarming" situations together;(d) possibly, suggest the earliest of the alarms as the cause of the trouble.

Sales data: Given, say, AT&T customers and their calling patterns over time, spot outliers; these may be indicators of fraud or a change in customer behavior. Also, correlations between geographic regions may be of interest.

Web and intra-net management: For each site, consider the time sequence of the number of hits per minute; try to nd correlations between access patterns, to help forecast future requests (prefetching and caching); try to detect outliers, to spot intruders/malicious users.

Law enforcement: A large collection of bank accounts owned by criminal suspects and

their associates can be continuously monitored so that money laundering or other illegal activities can be uncovered as soon as they occur.

Related Work: Time series forecasting has been a major focus for research in other elds.

In particular, valuable tools for forecasting and time series processing appear in statistics and signal processing. The traditional, highly successful methodology for forecasting is the so-called Box-Jenkins methodology, or Auto-Regressive Integrated Moving Average (ARIMA for short) [6, 8]. Variations of it have been used for voice compression, under the name of Linear Predictive Coding (LPC) [20]. ARIMA falls under the class of linear time-series forecasting, because it postulates a linear dependency of the future value on the past values. More recent, non-linear forecasting methods, constitute an open research area [7, 23]. DeCoste [10] proposed a technique based on linear regression and neural network for multivariate time sequences. It is, however, limited to outlier detection and does not scale well for large set of dynamically growing time sequences. The closest related database work concerns similarity searching in time sequences: When the distance is the Euclidean metric, we have proposed an indexing method using the rst few Discrete Fourier Transform (DFT) coecients, for matching full sequences [1], as well as for sub-pattern matching [13]. This technique has been extended by Goldin and Kanellakis [14] for matching time sequences, so that it allows for shifts and scalings. In a previous paper [16], we 3

developed a general framework for posing queries based on similarity. The framework enables a formal de nition of the notion of similarity for an application domain of choice, and then its use in queries to perform similarity-based search. Both we [11] and Agrawal et al [5] developed indexing methods to search for sequences that are similar, despite gaps, translation and scaling. In [24], we developed ecient indexing techniques for similar time sequences under time warping distance. Das et al [9] considered a problem of nding rules relating patterns in a time sequence to patterns in other sequences as well as itself. They used clustering of similar subsequences within sliding windows. Data mining in large databases is also related: Agrawal et al [2] proposed an interval classi er method for large databases; in [4, 3] they proposed fast algorithms to search for association rules in binary matrices, by detecting large itemsets. To the best of our knowledge, however, there were no database work that attempted to address the types of data mining problems we try to solve in this paper.

Organization of the paper In the rest of the paper, we describe proposed methods in detail and report experimental results with real datasets in Section 2 and 3. Section 4 concludes this paper and presents future research direction. Appendices provide mathematical details of the proposed methods.

2 MUSCLES Here we describe the rst version of the proposed method, MUSCLES(MUlti-SequenCe LEast Squares). Table 2 gives a list of acronyms and symbols used in the rest of this paper. The rst problem we want to investigate is concerned with delayed sequences. We formulate it as follows:

Problem 1 (Delayed sequence) Consider k time sequences s ; : : : ; s , being updated at every 1

k

time-tick. Let one of them, say, the rst one s1, be consistently late (e.g., due to a time-zone dierence, or due to a slower communication link). Make the best guess for sc1 [t], given all the information available.

Our proposed solution is to set up the problem as a multi-variate linear regression, by using two sources of information: (1) the past of the given time sequence s , i.e., s [t , 1]; s [t , 2]; : : :; 1

1

4

1

1

Symbol De nition MUSCLES Multi-Sequence Least Squares v number of independent variables in multi-variate regression k number of co-evolving sequences y the dependent variable, that we try to estimate estimate of the dependent variable y yb y the column vector with all samples of the dependent variable x y [j ] the j -th sample of the dependent variable y x the i-the independent variable x [j ] the j -th sample of the variable x x the column vector with all the samples of the variable x x[j ] the row vector with j -th samples of all variables x w span of tracking window b count of `best' ind. variables, used for Sel. MUSCLES forgetting factor (1, when we don't forget the past) i

i

i

i

i

i

Table 2: List of symbols and acronyms (2) the past and present of the other time sequences s ; s ; : : : ; s . Next, we describe the way to achieve this set up: For the given stream s , we try to estimate its value as a linear combination of the values of the same and the other time sequences within a window of size w. We refer to w as the tracking window. Mathematically, we have the following equation: 2

3

v

1

c s1 [t] = a2;0s2 [t]+

, 1] + : : : + a s [t , 1] + : : : + a

[t , w] + s [t , w] +

a1;1s1 [t

1;w s1

a2;1

2;w 2

2

::: ak;0sk [t]+

ak;1 sk [t

, 1] + : : : + a

k;w

sk [t

, w];

for all t = w +1; : : : ; N . We de ne the delay operator D (:) as follows. d

1

The details of the multi-variate linear regression model can be found elsewhere, such as [19].

5

(1)

De nition 1 For a sample s[t] from a time sequence s = (s[1]; : : : ; s[N ]), the delay operator Dd (:)

delays it by d time steps, that is, Dd (s[t])

s[t , d];

d +1

t N:

(2)

Then, Eq. 1 is a collection of linear equations for t = w+1; : : : ; N , with s [t] being the dependent variable (\y"), and 1

D1 (s1 [t]); : : : ; Dw (s1[t]); s2[t]; D1 (s2[t]); : : : ; Dw (s2 [t]); : : : ; sk [t]; D1 (sk [t]); : : : ; Dw (sk [t])

the independent variables. The least square solution of this system|a 's which minimize the sum of (s [t] , c s [t]) is given by the multi-variate regression. Each a is called a regression coecient. Notice that the number of independent variables is v = k (w +1) , 1: With this set up, the optimal regression coecients are given by i;j

1

1

2

i;j

a = (X X), (X y) 1

T

(3)

T

where each column of the matrix X consists of sample values of the corresponding independent variable in Eq. 1, and each row is observations made at time t. y is a vector of desired values(s [t]). 1

Eciency Although Eq. 3 gives the best regression coecients, it is very inecient in terms of both storage requirement and computation time. First, we need O(N v) storage for the matrix X. Since, in our setting, the number of samples N is not xed and can grow inde nitely, we may have to store X in secondary storage such as disks. The number of disk blocks required is d e, N

v

d

B

where B is the capacity of a disk block and d is the size of oating number representation. With limited main memory, the computation of (X X) may require quadratic disk I/O operations very much like a Cartesian product in relational databases. A brute-force solution to this problem could be reduce the size of the matrix, but it creates other problems such as follows: T

How often do we discard the matrix? How large a portion of it do we discard? Even with enough main memory to keep the matrix X, the computational cost for Eq. 3 is O(v (v + N )) and we have to repeat it as new data sample is available. We propose to avoid all these problems, by taking advantage of a useful mathematical result called matrix inversion lemma [17]. Thanks to its special form, the lemma holds for the matrix 2

6

X. Let X denote X with the rst N = n samples and de ne G as (X X ), . Then, G can be calculated using G , as follows (see Appendix A for the details): n

n

T

n

n

G = G , , (1 + x[n] G , x[n] ), (G , x[n] ) (x[n] G , ); n

n

1

n

n

1

1

n

T

1

1

n

T

1

n

1

n>

1 (4)

where x[n] is a row vector of the n-th sample values. The above equation has some desirable properties. First, the inside of the inversion is just a scalar and, hence, no matrix inversion is required in the above equation. Second, G is much smaller than X because N = n v. Its size is xed and independent of the number of samples. Also, we don't need to keep the original matrix X explicitly. Therefore, it is more likely that we can keep G in main memory. Using Eq. 4, the computational cost for updating regression coecients a is only O(v ) for each new sample. Even when it is not possible to keep G in main memory, we only need d 2 e disk blocks to store it. It is sucient to scan the blocks at most twice, reducing I/O cost signi cantly. As a reference point, for a modest dataset of 100 sequences with 10000 samples each, Eq. 3 takes almost 84 hours to do the estimation on a Sun UltraSparc-1 workstation. On the other hand, for a larger dataset of 100 sequences with 100000 samples each ( 80MB), Eq. 4 takes only about 1 hour on the same workstation. Note that the dataset is 10 times larger, but the computation is 80 times faster! n

n

n

n

2

n

v

d

B

Adaptiveness In addition to its fast execution time, MUSCLES is able to adapt to changes

over time: Consider the case where there is a change in the underlying processes that cause multiple sequences to be correlated (such as a trade treaty between two countries, aecting their currency exchange rates). When this happens, formulae derived based on old observed values will no longer be correct. Even worse, they can aect future estimations inde nitely. What we would like to do is to adapt the prediction coecients so that they re ect the new rather than historical reality. It turns out that our MUSCLES can be slightly modi ed to \forget" older samples gracefully. We call the method Exponentially Forgetting MUSCLES. That is, let 0 < 1 be the forgetting factor, which determines how fast the eect of older samples fades away. Then we try to nd the optimal regression coecient vector a to minimize min a

X N

i=1

(N ,i) (y [i]

7

, yb[i])

2

(5)

For < 1, errors for old values are downplayed by a geometric factor, and hence it permits the estimate to adapt as sequence characteristics change. The formulae for exponentially forgetting MUSCLES are given in Appendix A. It is clear that we can apply this set up for any delayed sequence, as opposed to the rst only. That is, we can solve the following problem:

Problem 2 (Any Missing Value) Consider k time sequences s ; : : : ; s , being updated at ev1

v

ery time-tick. Let one value, s [t], be missing. Make the best guess for sb [t], given all the information available. i

i

The solution for this is no dierent than for Problem 1 { we simply have to keep the recursive least squares going for each choice of i. Then, at time t, one is immediately able to reconstruct the missing or delayed value, irrespective of which sequence i it belongs to.

2.1 Making the most out of MUSCLES We have described how to estimate a missing value in a time sequence, using MUSCLES. Here we justify our initial claim that the solution to this problem (Problem 2) can help us meet all the data mining goals listed in the introduction. The trick is to pretend as if all the sequences were delayed and apply MUSCLES to each of the sequences. Speci cally: Correlation detection: A high absolute value for a regression coecient means that the corresponding variable is highly correlated to the dependent variable (or current status of a sequence) as well as it is valuable for the estimation of the missing value. Note that the regression coecients should be normalized w.r.t. the mean and the variance of the sequence. Practically, it can be done by keeping track of them within a sliding window. The appropriate window size is 1=(1 , ), which is approximately the length of memory imposed by the forgetting factor. On-line outlier detection: Informally, an outlier is a value that is very dierent from what we expected. In our case, if we assume that the estimation error follows a Gaussian distribution with standard deviation , then we label as \outlier" every sample of s that is 2 away from its estimated value. The reason is that, in a Gaussian distribution, 95% of the probability mass is within 2 from the mean. 1

8

Corrupted data and back-casting: If a value is corrupted or suspected in our time sequences, we can treat it as \delayed", and forecast it. We can even estimate past (say, deleted) values of the time sequences, by doing back-casting: in this case, we express the past value as a function of the future values, and set up a multi-sequence regression model.

2.2 Experimental Set-up We performed experiments on several real datasets

CURRENCY: exchange rates of k=6 currencies Hong-Kong Dollar (HKD), Japanese

Yen (JPY), US Dollar (USD), German Mark (DEM), French Franc (FRF), and British Pound (GBP) w.r.t. Canadian Dollar (CAD). There are N =2561 daily observations for each currency.

MODEM: modem trac data from a pool of k=14 modems. N =1500 time-ticks, reporting the total packet trac for each modem, per 5-minute intervals.

INTERNET: internet usage data for several states. We have four data streams per site,

measuring dierent aspects of the usage (e.g., connect time, trac and error in packets etc.) For each of the data streams, N =980 observations were made.

The experiments were designed to address the following questions: Prediction accuracy: how well can we ll in the missing values, compared with straightforward heuristics? Following the tradition in forecasting, we use the RMS (root mean square) error. Correlation detection: can MUSCLES detect hidden yet interesting correlation patterns among sequences? Adaptability to changes: how well can MUSCLES adapt to changes in correlation pattern over time?

2.3 Accuracy We used a window of width w=6 unless speci ed otherwise. As mentioned, the choice of the window is outside the scope of this paper; textbook recommendations include AIC, BIC, MDL, etc.[6, 21]. 9

0.14

12 MUSCLES Yesterday Autoregression

0.12

10

MUSCLES Yesterday Autoregression

1.4 1.2

0.08 0.06

8

Absolute Error

Absolute Error

0.1

Absolute Error

1.6 MUSCLES Yesterday Autoregression

6 4

0.04

1 0.8 0.6 0.4

2 0.02

0.2 0

0 0

5

10 15 Time Ticks

20

25

(a) US Dollar (CURRENCY)

0 0

5

10 15 Time Ticks

20

25

(b) 10-th modem (MODEM)

0

5

10 15 Time Ticks

20

(c) 10-th stream (INTERNET)

Figure 1: Absolute estimation error as time evolves for the selected sequences.

We also used two popular, successful prediction methods:

\yesterday": s^[t] = s[t , 1], that is, choose the latest value as the estimate for the missing value. It is the typical straw-man for nancial time sequences, and actually matches or outperforms much more complicated heuristics in such settings as shown in [18].

Single-sequence AR (auto-regressive) analysis. This is a special case of the traditional, very successful, Box-Jenkins ARIMA methodology, which tries to express the s[t] value as a linear combination of its past w values. 2

Figure 1 shows the absolute estimation error of MUSCLES and its competitors, for three sequences, one from each dataset, for the last 25 time-ticks. In all cases, MUSCLES outperformed the competitors. It is interesting to notice that, for the US Dollar, the \yesterday" heuristic and the AR methodology gave very similar results: This is understandable, because the \yesterday" heuristic is a special case of the \AR" method, and, for currency exchange rates, \yesterday" is extremely good. However, our MUSCLES method does even better, because it exploits information not only from the past of the US Dollar, but also from the past and present of other currencies. Figure 2 shows the RMS error for some sequences of the three real datasets, CURRENCY, MODEM and INTERNET. For each of the datasets, the horizontal axis lists the source, that is, the \delayed" sequence, s . We can observe several things. First, MUSCLES outperformed all alternatives, in all cases, except for just one case, the 2nd modem. The explanations is that in 1

We have chosen AR over ARIMA, because ARIMA requires that an external input source (moving-average term) be speci cally designated beforehand and it is impossible in our setting since we are oblivious on speci c relationship among sequences. 2

10

25

0.1

4 MUSCLES Yesterday Autoregression

0.09 0.08

1.2

RMSE

0.05 0.04 0.03 0.02 0.01 0 HKD

RMSE

2.5

0.06

2

USD DEM Currency

FRF

(a) CURRENCY

GBP

1 0.8

1.5

0.6

1

0.4

0.5

0.2

0 JPY

MUSCLES Yesterday Autoregression

1.4

3

0.07

RMSE

1.6

MUSCLES Yesterday Autoregression

3.5

0 1

2

3

4

5

6 7 8 9 10 11 12 13 14 Modem Number

(b) MODEM

1

2

3

4

5

6 7 8 9 10 11 12 13 14 15 Stream Number

(c) INTERNET

Figure 2: RMS error comparisons of several alternatives.

the 2nd modem, the trac for the last 100 time-ticks was almost zero; and in that extreme case, the \yesterday" heuristic is the best method. For CURRENCY, the \yesterday" and the AR methods gave practically identical errors, con rming the strength of the \yesterday" heuristic for nancial time sequences. In general, if the MUSCLES method shows large savings for a time sequence, the implication is that this time sequence is strongly correlated with some other of the given sequences. The \yesterday" and AR methods are oblivious to the existence of other sequences, and thus fail to exploit correlations across sequences.

2.4 Correlation detection - Visualization As we mentioned earlier, a high absolute value for a regression coecient means that the corresponding variable is highly correlated to the dependent variable (or current status of a sequence) as well as it is valuable for the estimation of the missing value. As we will show in Theorem 1, the correlation coecient picks the single best predictor for a given sequence. The correlation coecient ranges from -1 to 1, where high absolute values show strong correlations. We can turn it into a dis-similarity function, and apply FastMap [12] to obtain a low dimensionality scatter plot of our sequences. Figure 3 does that for the currencies. We took 100 samples back from the last 6 time-ticks (t; t , 1; : : : ; t , 5) for each currency and calculated the dis-similarity based on mutual correlation coecients. Closely located sequences mean they are highly correlated. We can see that HKD and USD are very close at every time-tick and so are DEM and FRF. GBP is the most remote from the others and evolves toward the opposite direction. JPY is also

11

1 DEM FRF GBP HKD JPY USD

FRF(t)

0.8

DEM(t) FRF(t-5)

0.6

DEM(t-5)

JPY(t)

0.4 USD(t)

HKD(t)

JPY(t-5)

0.2

0

HKD(t-5)

USD(t-5)

GBP(t-5)

-0.2 GBP(t)

-0.4 -0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

Figure 3: FastMap-based visualization: CURRENCY relatively independent of others. By applying MUSCLES to USD, we found that d t] = 0:9837 HKD[t] + 0:6085 USD[t , 1] , 0:5664 HKD[t , 1] USD[

(6)

after ignoring regression coecients less than 0.3. The result con rms that the USD and the HKD are closely correlated and perfectly agrees with Figure 3 as well as Figure 2 (a).

2.5 Adapting to Change To demonstrate the adaptability of MUSCLES, we created a synthetic dataset in the following way:

SWITCH(\switching sinusoid") 3 sinusoids s ; s ; s with N =1,000 time-ticks each; 1

2

3

= s [t] + 0:1 n[t] = s [t] + 0:1 n0[t] s [t] = sin(2t=N ) s [t] = sin(2 3t=N ) s1 [t]

500

2

t

3

t>

500

2 3

where n[t]; n0[t] are white noise that is, Gaussian, with zero mean and unit standard deviation. Thus, s switches at t = 500, and tracks s , as opposed to s . This switch could happen, e.g., in currency exchange rates, due to the signing of an international treaty between the involved nations. 1

3

2

We tested the eect of the forgetting factor () on the synthetic SWITCH dataset. Recall that s tracks s for the rst half of the time, and then suddenly switches and tracks s . Figure 4 shows the absolute error versus time-ticks, with = 1 and = 0:99. 1

2

3

12

1.5 Switching Sinusoid 1

Log Absolute Error

0.5

Value

Lambda=1.00 Lambda=0.99

1

0 −0.5 −1 −1.5 0

100 200 300 400 500 600 700 800 900 1000 Time Ticks

0

(a) Switching sinusoid

100 200 300 400 500 600 700 800 900 1000 Time Ticks

(b) Prediction errors with = 1 and = 0:99

Figure 4: The eect of dierent forgetting factor () for the SWITCH dataset. Notice that the MUSCLES method without \forgetting" does not adapt so quickly to the change: there is a big surge at t = 500, as expected, but MUSCLES with =0.99 recovers faster from the shock. The regression equations after t = 1000 when w = 0 are, c1 [t] = 0:499 s

s [t] + 0:499 s [t] 2

3

( = 1)

(7)

( = 0:99)

(8)

for the \non-forgetting" version and c s1[t] = 0:0065 s2 [t] + 0:993 s3[t]

for the \forgetting" one. That is, the \forgetting" version of MUSCLES has eectively ignored the rst 500 time-ticks, and has identi ed the fact that s has been tracking s closely. In contrast, the non-forgetting version gives equal weight ( 0:5) to s and s alike, as expected. 1

3

2

3

3 Scaling-up: Selective MUSCLES In case we have too many time sequences (e.g., k=100,000 nodes in a network, producing information about their load every minute), even the incremental version of MUSCLES will suer. The solution we propose is based on the conjecture that we do not really need information from every sequence to make a good estimation of a missing value { much of the bene t of using multiple sequences may be captured by using only a small number of carefully selected other sequences. Thus, we propose to do some preprocessing of a training set, to nd a promising subset of sequences, and to apply MUSCLES only to those promising ones (hence the name Selective MUSCLES). 13

Following the running assumption, sequence s is the one notoriously delayed, which needs to be estimated. For a given tracking window span w, among the v independent variables, we have to choose the ones that are most useful in estimating the delayed value of s . 1

1

Problem 3 (Subset selection) Given v independent variables x ; x ; : : : ; x and a dependent 1

2

v

variable y with N samples each, nd the best b(< v) independent variables to minimize the mean-square error for yb for the given samples. We need a measure of goodness to decide which subset of b variables is the best we can choose. Ideally, we should choose the best subset that yields the smallest estimation error in the future. Since, however, we don't have future samples, we can only infer the expected estimation error (EEE for short) from the available samples as follows:

EEE(S ) =

X N

(y[i] , yc [i]) S

i=1

2

where S is the selected subset of variables and yc [i] is the estimation based on S for the i-th sample. Note that, thanks to Eq. 4, EEE(S ) can be computed in O(N jS j ) time. Let's say that we are allowed to keep only b = 1 independent variable - which one should we choose? Intuitively, we could try the one that has the highest (in absolute value) correlation coecient with y. It turns out that this is indeed optimal: (to satisfy the unit variance assumption, we will normalize samples by the sample variance within the window.) Theorem 1 Given a dependent variable y, and v independent variables with unit variance,the best single variable to keep to minimize EEE(S ) is the one with the highest absolute correlation coecient with y . Proof: See Appendix B. QED S

2

The question is how we should handle the case when b > 1. Normally, we should consider all the possible groups of b independent variables, and try to pick the best. This approach explodes combinatorially; thus we propose to use a greedy algorithm (see Algorithm 1). At each step s, we select the independent variable x that minimizes the EEE for the dependent variable y, in light of the s , 1 independent variables that we have already chosen in the previous steps. Bottleneck of the algorithm is clearly the computation of EEE. Since it computes EEE approximately O(v b) times and each computation of EEE requires O(N b ) in average, the overall complexity mounts to O(N v b ). To reduce the overhead, we observe that intermediate results produced for EEE(S ) can be re-used for EEE(S [ fxg). s

2

3

14

algorithm Selection S

:=

R

:=

fg; fx1; : : : ; xv g;

while (

/* Set of selected variables */ /* Set of remaining variables */

contains less than

S

foreach

x

in

S

[ fxg;

with minimum EEE;

x

remove

variables )

R

Compute EEE for pick

b

x

from

R

and add to

S;

end while report variables in

S;

end algorithm

Algorithm 1: Algorithm to select b variables

Theorem 2 The complexity of Algorithm 1 is O(N v b ). Proof: Let S be S [ fxg. The core in computing EEE(S [ x) is the inverse of D + = (X + X + ). Thanks to block matrix inversion formula [17, p. 656] and the availability of D, from the previous iteration step, it can be computed in O(N jS j + jS j ). Hence, summing it up over v , jS j remaining variables for each b iteration, we have O(N v b + v b ) complexity. Since N b, it reduces to O(N v b ). See Appendix B for more detail. QED 2

+

T S

S

1

S

S

2

2

3

2

We envision that the subset-selection will be done infrequently and o-line, say every N = W time-ticks. The optimal choice of the reorganization window W is beyond the scope of this paper. Potential solutions include (a) doing reorganization during o-peak hours, (b) triggering a reorganization whenever the estimation error for yb increases above an application-dependent threshold etc. Also, by normalizing the training set, the unit-variance assumption in Theorem 1 can be easily satis ed.

3.1 Experiments One obvious question that arises is how much faster the Selective MUSCLES method is than MUSCLES, and at what cost in accuracy. We ran experiments with the datasets described in Section 2.2. 15

Yesterday

b=1

Autogression

10

b=3 1

Full MUSCLES b=10

Log Relative RMSE

Log Relative RMSE

b=2

Yesterday

Yesterday Autoregression

b=2

1

b=10

Full MUSCLES

b=1

Autogression

Log Relative RMSE

10

b=1 b=2 Full MUSCLES

1 b=10

0.1 Log Relative Computation Time

1

0.01

0.1 Log Relative Computation Time

1

0.01 0.1 Log Relative Computation Time

1

(a) US Dollar (CURRENCY) (b) 10-th modem (MODEM) (c) 10-th stream (INTERNET) Figure 5: The relative RMS error vs. relative computation time, for several values of b `bestpicked' independent variables. proposed(3) with varying b, Full MUSCLES(+), yesterday (), and auto-regression(2). Figure 5 shows the speed-accuracy trade-o for Selective MUSCLES. It plots the RMS error versus the computation time with varying number of independent variables (b = 1; : : : ; 10), in double logarithmic scale. The computation time adds the time to forecast the delayed value, plus the time to update the regression coecients. The reference point is the MUSCLES method on all v (referred to as the Full MUSCLES in this subsection). For ease of comparison across several datasets, we normalize both measures (the RMS error as well as the computation time), by dividing by the respective measure for the Full MUSCLES. For each set-up, we vary the number b of independent variables picked. The Figure shows the error-time plot for the same three sequences (the US Dollar from CURRENCY, the 10-th modem from MODEM, and the 10-th stream from INTERNET). For every case, we have close to an order of magnitude (and usually much more) reduction in computation time, if we are willing to tolerate up to a 15% increase in RMS error. We also observe that in most of the cases b=3-5 best-picked variables suce for accurate estimation. The Figure also shows our Selective MUSCLES is very eective, achieving up to 2 orders of magnitude speed-up (INTERNET, 10-th stream), with small deterioration in the error, and often with gains.

4 Conclusions and Future Research We have presented fast methods to build analytical models for co-evolving time sequences, like currency exchange rates and network trac data to name a few. The proposed methods (MUS16

CLES and Selective MUSCLES) have the following advantages: (1) they are useful for data mining and discovering correlations (with or without lag); (2) they can be used for forecasting of missing/delayed values; (3) they can be made to adapt to changing correlations among time sequences; and (4) they scale up well for a large number of sequences which can grow inde nitely long. We showed that the proposed methods are mathematically sound as well as computationally ecient. They require much less storage overhead so that even with limited main memory, they do not cause excessive I/O operations as a naive method does. We suggested how the proposed methods could be used for various data mining tasks in co-evolving time sequences. Experiments on real datasets show that our methods outperform some popular successful competitors in estimation accuracy up to 10 times, and they discover interesting correlations (e.g., USD and HKD). The Selective MUSCLES scales up very well for a large number of sequences, in a variety of real-world settings (currency exchange rates, network trac data, and internet usage data), reducing response time up to 110 times over MUSCLES, and sometimes even improves estimation accuracy. For future research, the regression method called Least Median of Squares [22] is promising. It is more robust than the Least Squares regression that is the basis of MUSCLES, but also requires much more computational cost. The research challenge is to make it scale up for a massive database environment. Another interesting research issue in time sequence databases is an ecient method for forecasting of non-linear time sequences such as chaotic signals [23].

A Appendix: Incremental Computation Given N samples, (x [i]; x [i]; : : : ; x [i]; y[i]); i = 1; : : : ; N , our goal is to nd the values a ; : : : ; a that give the best estimations for y in the sense of least squares error. That is, we look for the a ; : : : ; a that minimize 1

1

2

1

v

v

v

minv 1

a ;:::;a

X N

(y[i] , a x [i] , : : : , a x [i]) 1

i=1

1

v

v

2

(9)

Using matrix notation, the solution to Eq. 9 is given compactly by [19, pp. 671{674]:

a = (X X), (X y) 1

T

17

T

(10)

where the super-scripts T and ,1 denote the transpose and the inverse of a matrix, respectively; denotes matrix multiplication; y is the column vector with the samples of the dependent variable; a is the column vector with the regression coecients. The matrix X is the N v matrix with the N samples of the v independent variables. That is: 2 3 x [1] x [1] : : : x [1] 66 7 66 x [2] x [2] : : : x [2] 7 7 7 X = 66 .. 7 (11) . . . . . : : : . 775 64 . x [N ] x [N ] : : : x [N ] Recall that x [i] denotes the i-th sample of the j -th independent variable. Let X be the matrix with all the independent variables, but with only the rst n samples. Thus, its dimensions are n v. Let D = X X , where D stands for \data". The goal is to invert the matrix D = D . Notice that its dimensions are v v, and its inversion would normally take O(v ) time. Since the construction of D takes O(n v ), the total computation time is O(n v + v ). From a database point of view, this is acceptable only when the number of data samples is xed and small. However, it is not suitable for applications where there are large number of data samples and new samples are added dynamically, because the new matrix D and its inverse should be computed whenever a new set of samples arrive. Thanks to its special form and thanks to the so-called matrix inversion lemma [15, 17], (D ), can be incrementally computed using previous value (D , ), . This method is called Recursive Least Square (RLS) and its computation cost is reduced to O(v ). Next we present the nal formulas for the solution; the proofs are in e.g., [15]. Following the notation in the statistics literature, the inverse G = (D ), is called the gain matrix. Let x[i] be a row vector, denoting the i-th sample (row) of X. That is x[i] = (x [i]; x [i]; : : : ; x [i]) Also, let y[i] be the i-th sample of y. Then, we can compute G (n = 1; : : :) recursively, as follows: 1

2

v

1

2

v

1

2

v

j

n

T

n

n

n

n

3

2

2

3

1

n

n

1

1

2

n

1

n

1

2

v

n

G = G , , (1 + x[n] G , x[n] ), (G , x[n] ) (x[n] G , ); n > 1 (12) with G = , I, where is a small positive number (e.g., 0.004), and I is the identity matrix. The coecient vector a after the n-th sample has arrived, can also be updated incrementally a = a , , G x[n] (x[n] a , , y[n]) n > 1 (13) and a = 0, where a is the vector of regression coecients when we consider the rst n samples only, and 0 is a column vector of v zeros. Notice that Eq. 12 needs only matrix multiplications n

n

0

1

n

1

T

1

n

T

1

n

1

n

n

0

n

1

T

n

n

n

18

1

1

with complexity O(v ), a function of v only. If we repeat this for N sample arrivals, the total computation cost becomes O(N v ). In addition to its lower complexity, it also allows for graceful \forgetting" of the older samples. More speci cally, we wish to have the eect of each samples diminished by a factor of (0 < 1) at each time-tick, thus allow exponential forgetting. In this setting, G now can be computed by the following equation: 2

2

n

G = , G , , , ( + x[n] G , x[n] ), (G , x[n] ) (x[n] G , ); 1

n

n

1

1

T

1

n

1

n

T

1

1

n

n > 1:

(14)

Of course, it agrees with Eq. 12 when =1 (i.e., no \forgetting"). The a is still given by Eq. 13. n

B Appendix: Subset Selection Here we present the formulas for the solution of Problem 3, that is, we describe the procedure to select the b best independent variables to estimate y, given the past N time-ticks. As a basis, we must choose the rst variable to regress on. For each independent variable x , let a scalar a be the least-squares solution of Eq. 9. Then, EEE(fx g) can be expressed by matrix notation as follows: EEE(fx g) = ky , ax k = (y , ax ) (y , ax ) = kyk , 2a(y x ) + a kx k Let d and p denote kx k and (x y), respectively. Since a = d, p, i

i

i

i

i

2

i

2

2

T

i

T

2

i

i

2

1

T

EEE(fx g) = kyk , 2p d, + p d, = kyk , p d, 2

i

2

2

2

1

2

1

1

To minimize the error, we must choose x which maximize p and minimize d. Assuming unitvariance (d = 1), such x is the one with the biggest correlation coecient to y. This proves Theorem 1. Now suppose we have chosen a subset of variables, say S , and try to select one more variable. Let X denote a matrix of column vectors x which correspond to variables x in S . We de ne D as (X X ) and P as (X y). We assume that (D ), is available from the previous selection step. We consider one of the remaining variables in R, say x . If we denote S [ fx g 2

i

i

S

S

i

T S

S

S

i

T S

S

1

j

19

j

by S , then, +

EEE(S ) = ky , yb + k = ky , X + a + k = kyk , 2(P + a + ) + (a + D + a + ) where a + is the optimal regression coecient vector for variables in S w.r.t. Eq. 9, and given by, a + = (D + ), P + : +

2

S

S

2

S

2

T

T

S

S

S

S

S

+

S

S

1

S

S

Thus, the expected estimation error becomes, EEE(S ) = kyk , 2(P + D,+ P + ) + (D,+ P + ) D + (D,+ P + ) = kyk , (P + D,+ P + ): +

2

1

T S

2

1

S

S

1

T

S

S

S

S

S

1

T S

S

S

Now we show how to compute (D + ), eciently without explicit matrix inversion. Thanks to block matrix inversion formula [17, p. 656], we can avoid explicit inversion. The general form of this formula is as follows: 1

S

2 64

3,1

A D 75 C B

2 6 4

=

A, + E , F ,E , ,, F , 1

1

1

1

1

3 7 5

where = B , C A, D, E = A, D, and F = C A, . Since 1

1

1

2 6 4

D+ = S

X X X x x X x x T

S

S

T

S

j

T

j

S

T

3 7 5;

j

j

we substitute A, , E, and F as follows:

A E F

= = = =

X X = D kx k , x X D, X x D, X x x X D, T S

S

2

j

1

1

S

T S

j

j

1

S

j

S

T S

S

T

S

T j

S

Note that is essentially a scalar and D, is available from the previous step. The complexity of D,+ computation is O(N jS j + jS j ). We compute EEE(S [ x ) for each remaining variable x and select the one with the minimum value. We repeat these steps until we select all b variables. Given N , v, and b, the total computational complexity is O(N v b + v b ). Since N b, we nally have O(N v b ). This proves Theorem 2. 1

S

1

2

j

S

j

2

2

20

3

References [1] R. Agrawal, C. Faloutsos, and A. Swami. Ecient similarity search in sequence databases. In Fourth Int. Conf. on Foundations of Data Organization and Algorithms (FODO), pages 69{84, Evanston, IL, Oct 1993. [2] R. Agrawal, S. Ghosh, T. Imielinski, B. Iyer, and A. Swami. An interval classi er for database mining applications. VLDB Conf. Proc., pages 560{573, Aug 1992. [3] R. Agrawal, T. Imielinski, and A. Swami. Database mining: a performance perspective. IEEE Trans. on Knowledge and Data Engineering, 5(6):914{925, 1993. [4] R. Agrawal, T. Imielinski, and A. Swami. Mining association rules between sets of items in large databases. Proc. ACM SIGMOD, pages 207{216, May 1993. [5] R. Agrawal, K.-I. Lin, H. S. Sawney, and K. Shim. Fast similarity search in the presence of noise, scaling and translation in time-series databases. Proc. of VLDB, pages 490{501, September 1995. [6] G. Box, G. Jenkins, and G. Reinsel. Time Series Analysis: Forecasting and Control. Prentice Hall, Englewood Clis, NJ, 1994. 3rd Edition. [7] M. Castagli and S. Eubank. Nonlinear Modeling and Forecasting. Addison Wesley, 1992. Proc. Vol. XII. [8] C. Chat eld. The Analysis of Time Series: an Introduction. Chapman and Hall, London & New York, 1984. [9] G. Das, K.-I. Lin, H. Mannila, G. Renganathan, and P. Smyth. Rule Discovery from Time Series. In Proc. of KDD'98, Aug 1998. [10] Dennis DeCoste. Minig Multivariate Time-Series Sensor Data to Discover Behavior Envelopes. In Proc. of KDD'97, Aug 1997. [11] C. Faloutsos, H.V. Jagadish, A. Mendelzon, and T. Milo. A signature technique for similarity-based queries. In Proceedings of SEQUENCES97, Salerno, Italy, Jun 1997. IEEE Press. [12] C. Faloutsos and K.-I. Lin. Fastmap: a fast algorithm for indexing, data-mining and visualization of traditional and multimedia datasets. Proc. of ACM-SIGMOD, pages 163{174, May 1995. [13] C. Faloutsos, M. Ranganathan, and Y. Manolopoulos. Fast subsequence matching in time-series databases. Proc. ACM SIGMOD, pages 419{429, May 1994.

21

[14] D. Goldin and P. Kanellakis. On similarity queries for time-series data: Constraint speci cation and implementation. Int. Conf. on Principles and Practice of Constraint Programming (CP95), Sep 1995. [15] S. Haykin. Adaptive Filter Theory. Prentice Hall, Englewood Clis, New Jersey, 1996. [16] H.V. Jagadish, A. Mendelzon, and T. Milo. Similarity-based queries. Proc. ACM SIGACTSIGMOD-SIGART PODS, pages 36{45, May 1995. [17] T. Kailath. Linear Systems. Prentice Hall, Englewood Clis, New Jersey, 1980. [18] B. LeBaron. Nonlinear forecasts for the s\&p stock index. In M. Castagli and S. Eubank, editors, Nonlinear Modeling and Forecasting, pages 381{393. Addison Wesley, 1992. Proc. Vol. XII. [19] W. Press, S. Teukolsky, W. Vetterling, and B. Flannery. Numerical Recipes in C. Cambridge University Press, 1992. 2nd Edition. [20] L. Rabiner and B.-H. Juang. Fundamentals of Speech Recognition. Prentice Hall, 1993. [21] J. Rissanen. Minimum description length principle. In S. Kotz and N. L. Johnson, editors, Encyclopedia of Statistical Sciences, volume V, pages 523{527. John Wiley and Sons, New York, 1985. [22] P. Rousseeuw and A. Leroy. Robust Regression and Outlier Detection. John Wiley, New York, 1987. [23] A. Weigend and N. Gerschenfeld. Time Series Prediction: Forecasting the Future and Understanding the Past. Addison Wesley, 1994. [24] B.-K. Yi, H.V. Jagadish, and C. Faloutsos. Ecient Retrieval of Similar Time Sequences under Time Warping. In IEEE Proc. of ICDE, Feb 1998.

22

Contents 1 Introduction

1

2 MUSCLES

4

2.1 2.2 2.3 2.4 2.5

Making the most out of MUSCLES : Experimental Set-up : : : : : : : : : Accuracy : : : : : : : : : : : : : : : : Correlation detection - Visualization Adapting to Change : : : : : : : : :

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

3 Scaling-up: Selective MUSCLES 3.1 Experiments :

8 9 9 11 12

13

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

15

4 Conclusions and Future Research

16

A Appendix: Incremental Computation

17

B Appendix: Subset Selection

19

i

Our partners will collect data and use cookies for ad personalization and measurement. Learn how we and our ad partner Google, collect and use data. Agree & Close