Tìm kiếm tƣơng tự trên dữ liệu chuỗi thời gian

Một phần của tài liệu Khai thác dữ liệu chuỗi thời gian dựa vào rút trích đặc trưng bằng phương pháp điểm giữa và kỹ thuật xén = time series data mining based on feature extraction with middle points and clipping method (Trang 45)

2.5.1 Ý tưởng tổng quát.

Faloutsos (1994) [35] đƣa ra những tính chất mà một phƣơng pháp tìm kiếm tƣơng tự cho dữ liệu chuỗi thời gian nên có:

1. Nó nên nhanh hơn việc quét tuần tự. 2. Tổng phí về không gian nhỏ.

3. Cho phép các câu truy vấn có chiều dài khác nhau.

4. Cho phép thực hiện các thao tác chèn và xóa mà không phải xây dựng lại chỉ mục. 5. Không xảy ra lỗi tìm sót (false dismissals).

Để đạt hiệu quả cao, số lỗi tìm sai (false alarms) cũng nên thấp.

Vì vậy, để việc tìm kiếm tƣơng tự hữu hiệu trên không gian đặc trƣng, một phƣơng pháp thu giảm số chiều nên đƣợc kết hợp với một cấu trúc chỉ mục đa chiều nào đó.

2.5.2 So trùng toàn chuỗi và so trùng chuỗi con.

Bài toán tìm kiếm tƣơng tự trên dữ liệu chuỗi thời gian đƣợc phân làm hai loại:

so trùng toàn chuỗi (whole sequence matching) và so trùng chuỗi con (subsequence

matching).

 Trong trƣờng hợp so trùng toàn chuỗi: Sau khi các chuỗi thời gian trong cơ sở dữ liệu và chuỗi truy vấn đƣợc biến đổi vào không gian đặc trƣng bằng một phƣơng pháp thu giảm số chiều nào đó, quá trình tìm kiếm sẽ đƣợc thực hiện trong không gian đặc trƣng dựa vào một cấu trúc chỉ mục đa chiều. Các chuỗi tƣơng tự với chuỗi truy vấn đƣợc tìm thấy trong không gian đặc trƣng sẽ đƣợc hậu kiểm trong không gian gốc để loại bỏ những chuỗi tìm sai. Trong trƣờng hợp này, các chuỗi thời gian đƣợc giả định là có chiều dài bằng nhau.

 Trong trƣờng hợp so trùng chuỗi con: Thủ tục so trùng chuỗi con thực hiện theo các bƣớc sau:

1. Chúng ta dùng một cửa sổ có kích thƣớc w trƣợt qua từng vị trí trên chuỗi thời

gian nguồn. Tại mỗi vị trí nhƣ vậy ta trích đƣợc đặc trƣng của một chuỗi con bên trong cửa sổ. Đặc trƣng của chuỗi con trích đƣợc hình thành một điểm trong không gian đặc trƣng. Mỗi điểm nhƣ vậy hầu nhƣ tƣơng tự với điểm ngay trƣớc nó

28

vì chuỗi con nằm trong cửa sổ luôn thay đổi rất chậm. Tất cả các điểm này sẽ hình thành một vệt (trail) trong không gian đặc trƣng.

2. Các vệt đƣợc chia thành các vệt con (subtrail) và mỗi vệt con đƣợc biểu diễn bằng một hình chữ nhật bao nhỏ nhất (Minimum Bounding Rectangle – MBR).

3. Các vùng bao MBR này có thể đƣợc lƣu trong một cấu trúc chỉ mục đa chiều nhƣ R*-tree nhằm giúp tìm kiếm tƣơng tự hữu hiệu.

Để tìm các chuỗi con tƣơng tự với chuỗi truy vấn Q có chiều dài w, sau khi Q

đƣợc biến đổi thành một điểm qf trong không gian đặc trƣng, ta có thể tìm đƣợc các vệt con mà vùng bao MBR của chúng giao với vùng truy vấn có tâm là qf và bán kính là ngƣỡng tƣơng tự . Cuối cùng, chúng ta tiến hành hậu kiểm trên các chuỗi con tƣơng ứng của chuỗi thời gian nguồn để loại bỏ các chuỗi tìm sai.

2.5.3 Độ đo khoảng cách nhóm và điều kiện chặn dưới nhóm.

Khi thực hiện tìm kiếm tƣơng tự sử dụng chỉ mục đa chiều, ta cần xác định một độ đo giữa chuỗi truy vấn Q và vùng bao R gắn với một nút U trong cấu trúc chỉ mục

(ký hiệu là Dregion(Q, R)). Dregion(Q, R) đƣợc gọi là độ đo khoảng cách nhóm. Tƣơng tự nhƣ khi tìm kiếm trong không gian đặc trƣng, để không xảy ra lỗi tìm sót khi tìm kiếm dựa vào chỉ mục đa chiều thì Dregion(Q, R) phải là chặn dƣới của độ đo khoảng cách trong không gian gốc giữa chuỗi truy vấn Q với các chuỗi thời gian C đƣợc bao trong vùng bao R, nghĩa là Dregion(Q, R)≤ D(Q, C), với mọi C đƣợc bao trong vùng bao R. Tính chất này đƣợc gọi là điều kiện chặn dưới của nhóm ( [39], [49]).

2.5.4 Các phương pháp tìm kiếm tương tự liên quan.

Trong những năm qua, nhiều phƣơng pháp tìm kiếm tƣơng tự trên dữ liệu chuỗi thời gian đã đƣợc đề xuất. Năm 2000, Keogh và các cộng sự sử dụng phƣơng pháp PAA kết hợp với phƣơng pháp chỉ mục GEMINI (GEneric Multimedia INdexIng) để thực hiện bài toán truy vấn tầm (range query) và k lân cận gần nhất (k-nearest neigh- bors (k-NN)) [38]. Năm 2001, các tác giả này đề xuất phƣơng pháp APCA kết hợp với một cấu trúc chỉ mục đa chiều (R-tree) để thực hiện hai bài toán truy vấn trên chuỗi thời gian [39]. Năm 2005, Ratanamahatana và các cộng sự thực hiện bài toán tìm kiếm tƣơng tự trên dữ liệu chuỗi thời gian bằng phƣơng pháp xén [27]. Năm 2009, Assent và các cộng sự thực hiện bài toán tìm kiếm tƣơng tự trên dữ liệu chuỗi thời gian sử

29

dụng phƣơng pháp xoắn thời gian động đƣợc cải tiến dựa trên một chặn dƣới đƣợc tiên liệu trƣớc [52]. Trong năm 2010, Kawagoe và các cộng sự đã sử dụng mô hình động trong tin sinh học (bioinformatics) để thực hiện bài toán tìm kiếm tƣơng tự trên dữ liệu chuỗi thời gian [53]; Nang và các cộng sự đề xuất phƣơng pháp dựa trên chỉ mục bit- map phân cấp (Hierarchical Bitmap Index) để tìm kiếm tƣơng tự trong cơ sở dữ liệu đa phƣơng tiện có số chiều cao [54]; Suntinger và các cộng sự đề xuất phƣơng pháp thu giảm số chiều dựa trên xu hƣớng di chuyển của chuỗi thời gian (lên, xuống hay ngang) trong từng khoảng thời gian và sử dụng phƣơng pháp này vào bài toán tìm kiếm tƣơng tự [55]. Năm 2012, Yang và các cộng sự thực hiện bài toán tìm kiếm tƣơng tự sử dụng phƣơng pháp thu giảm số chiều dựa trên xu hƣớng kết hợp với độ đo có trọng số [56].

2.6 Tìm kiếm tƣơng tự trên chuỗi thời gian dạng luồng.

Tìm kiếm tƣơng tự trên dữ liệu chuỗi thời gian dạng luồng (streaming time se-

ries) đã và đang đƣợc quan tâm nghiên cứu trong những năm gần đây. So với dữ liệu chuỗi thời gian tĩnh, dữ liệu chuỗi thời gian dạng luồng có hai tính chất đặc biệt quan trọng sau đây:

- Dữ liệu mới đƣợc cập nhật thƣờng xuyên vào vị trí cuối chuỗi thời gian dạng luồng

- Do sự cập nhật thƣờng xuyên nên ta khó có thể lƣu trữ toàn bộ dữ liệu tại bộ nhớ chính hoặc trên đĩa cứng. Việc tóm tắt dữ liệu và các giải thuật trên dữ liệu phải duyệt qua dữ liệu chỉ một lần (one pass scan) nhằm đem lại một đáp ứng thời gian thực.

Nhiều thuật toán đã đƣợc đề xuất để xử lý dữ liệu chuỗi thời gian dạng luồng dựa trên dữ liệu quá khứ gần của các luồng dữ liệu bằng cách sử dụng cửa sổ trƣợt trên các luồng dữ liệu [57], [4], [5], [58], [59], [60], [61], [62], [63]. Cách tiếp cận chung của các phƣơng pháp này là chỉ sử dụng W giá trị cuối cùng của từng luồng dữ liệu cho

việc tìm kiếm tƣơng tự.

Trong [64], [65], [66], [67], Gao và các cộng sự đã đề xuất phƣơng pháp tìm kiếm tƣơng tự trên dữ liệu chuỗi thời gian dạng luồng dựa trên dự báo và các phiên bản cải tiến của phƣơng pháp này để thực hiện bài toán tìm kiếm toàn chuỗi trên dữ liệu chuỗi thời gian dạng luồng. Trong trƣờng hợp này, dữ liệu chuỗi thời gian là tĩnh còn chuỗi truy vấn thay đổi theo thời gian. Cách tiếp cận dựa vào dự đoán đƣợc dùng

30

để xử lý câu truy vấn. Các tác giả giải quyết vấn đề bằng cách áp dụng phép biến đổi Fourier nhanh (FFT) để tính toán mối tƣơng quan của chuỗi truy vấn dự đoán và các chuỗi thời gian trong cơ sở dữ liệu. Khoảng cách giữa chuỗi truy vấn và các chuỗi trong cơ sở dữ liệu đƣợc tính toán dựa trên các giá trị dự đoán. Khi dữ liệu truy vấn thực tới, lỗi dự đoán cùng với khoảng cách dự đoán đƣợc dùng để loại bỏ những chuỗi tìm sai.

Năm 2005, Wu và các cộng sự đã đề xuất một phƣơng pháp so trùng chuỗi con trên dữ liệu dạng luồng dựa trên độ đo tƣơng tự các chuỗi con có sử dụng trọng số [68].

Năm 2008, Lian và Chen đề xuất xử lý truy vấn trên dữ liệu chuỗi thời gian dạng luồng dựa trên dự báo bằng ba cách tiếp cận: dùng đa thức, biến đổi Fourier rời rạc, và xác suất để dự báo các giá trị chƣa biết và thực hiện truy vấn dựa trên các dữ liệu dự báo này [69].

Vì phƣơng pháp đƣợc đề xuất trong luận án này dựa trên ý tƣởng tính toán gia tăng và cập nhật trì hoãn tƣơng tự nhƣ phƣơng pháp chỉ mục IDC nên chúng tôi trình bày chi tiết hơn về phƣơng pháp chỉ mục IDC này ở phần dƣới.

Năm 2004, Kontaki và các cộng sự giới thiệu một cấu trúc chỉ mục gọi là chỉ mục IDC (Incremental DFT Computation Index) sử dụng cho bài toán tìm kiếm tƣơng tự trên dữ liệu chuỗi thời gian dạng luồng [4], [5]. Chỉ mục này dựa trên cấu trúc chỉ mục đa chiều R*-tree kết hợp với chính sách cập nhật chỉ mục trì hoãn (deferred up- date policy) và cách tính toán gia tăng (incremental computation) của phép biến đổi

DFT. Chính sách cập nhật chỉ mục trì hoãn và phƣơng pháp tính gia tăng sẽ làm giảm đáng kể chi phí cần để cập nhật chỉ mục và tính toán thu giảm số chiều các chuỗi mới trong cơ sở dữ liệu chuỗi thời gian dạng luồng. Với chỉ mục IDC, các tác giả đã giải quyết bài toán truy vấn tầm và tìm k lân cận gần nhất, trong đó cả chuỗi truy vấn và chuỗi dữ liệu đều thay đổi theo thời gian.

Trong cách tiếp cận của chỉ mục IDC, các chuỗi thời gian dạng luồng đƣợc thu giảm số chiều theo phƣơng pháp DFT và cấu trúc chỉ mục đa chiều R*-tree dựa trên MBR đƣợc sử dụng cho việc tìm kiếm tƣơng tự. Để đáp ứng các yêu cầu của môi trƣờng luồng dữ liệu, tác giả đã áp dụng phƣơng pháp tính toán gia tăng của kỹ thuật DFT nhằm giảm chi phí tính toán lại DFT mỗi khi có giá trị dữ liệu mới tới và sử dụng

31

chính sách cập nhật chỉ mục trì hoãn nhằm tránh sự suy biến của hệ thống do sử dụng cấu trúc chỉ mục và số lần cập nhật cao.

Hình 2.16 minh họa khung thức (framework) tìm kiếm tƣơng tự trên chuỗi thời gian dạng luồng do Kontaki và các cộng sự đề xuất.

Hình 2.16 Minh họa khung thức do Kontaki và các cộng sự đề xuất [5].

Theo khung thức này, W giá trị cuối cùng của mỗi luồng dữ liệu đƣợc lƣu trên

đĩa. Mỗi luồng dữ liệu sau khi đƣợc thu giảm số chiều theo phƣơng pháp DFT sẽ đƣợc chèn vào chỉ mục. Khung thức sử dụng hai con trỏ: (1) trỏ từ biểu diễn DFT ở nút lá của chỉ mục tới luồng dữ liệu tƣơng ứng của nó và (2) trỏ theo chiều ngƣợc lại. Con trỏ thứ nhất đƣợc sử dụng để lấy luồng dữ liệu gốc cần sử dụng trong quá trình hậu kiểm. Khi có một giá trị mới của luồng dữ liệu tới, W giá trị cuối của luồng sẽ đƣợc

cập nhật. Các giá trị đặc trƣng mới của luồng đƣợc tính toán lại theo phƣơng pháp tính toán gia tăng của DFT. Các đặc trƣng mới này sẽ đƣợc thay thế cho các đặc trƣng cũ của luồng trong chỉ mục bằng cách dùng con trỏ thứ hai. Chính sách cập nhật chỉ mục trì hoãn sẽ quyết định chỉ mục có cần đƣợc cập nhật không.

Phƣơng pháp tính toán gia tăng theo DFT đƣợc tính theo công thức ( [5]):

Trong đó, S = (S(0), S(1), …, S(W-1)) là chuỗi thời gian dạng luồng có chiều dài

W, DFT0(S), DFT1(S), …, DFTW-1(S) là các hệ số Fourier của S, T(1), T(2), …, T(W) là (2.7)   i n W n n W DFT S S T W e W T DFT ( ) 1 . . ( ) (0) ( ). 2 / , 0 ≤ n ≤ W - 1

Các luồng đƣợc lƣu trên đĩa

Luồng 1 Luồng 2 Luồng 3 Chỉ mục trong bộ nhớ Rút trích đặc trƣng theo phƣơng pháp tính toán gia tăng

Con trỏ từ “luồng tới nút lá” Con trỏ từ “nút

lá tới luồng”

Luồng truy vấn Rút trích đặc trƣng theo phƣơng pháp tính toán gia tăng Tìm kiếm tƣơng tự dựa vào chỉ mục Luồng dữ liệu 1 Luồng dữ liệu 2 Luồng dữ liệu 3 Các luồng dữ liệu tới

32

chuỗi giá trị mới khi có dữ liệu mới tới, trong đó S(i) = T(i), với 1≤ i ≤ W-1 và T(W) là giá trị mới.

Chính sách cập nhật chỉ mục trì hoãn đƣợc thực hiện nhƣ sau: Khi có một giá trị mới tới, một chuỗi mới đƣợc hình thành. Nếu khoảng cách giữa véc tơ DFT cũ và mới vƣợt quá ngƣỡng Δ cho trƣớc (Δ dùng để kiểm soát số lần cập nhật) thì R*-tree đƣợc cập nhật, ngƣợc lại sẽ không đƣợc cập nhật. Cái giá phải trả cho cách tiếp cận này là cấu trúc chỉ mục có thể không phản ánh đúng sự phân bố dữ liệu. Các tác giả đã chứng minh việc thực hiện truy vấn với chuỗi truy vấn Q và ngƣỡng ɛ đƣợc mở rộng thêm

với giá trị Δ thì không xảy ra lỗi tìm sót (nghĩa là MinDist(DFT(Q), MBRLB) ≤ ɛ+ Δ).

2.7 Phát hiện motif trên chuỗi thời gian.

2.7.1 Các khái niệm cơ bản về motif.

Năm 2002, trong [70] Lin và các cộng sự đã trình bày các định nghĩa về motif trong chuỗi thời gian nhƣ sau:

Định nghĩa 2.1. Một chuỗi thời gian là một chuỗi giá trị thực theo thời gian có

chiều dài n. Nghĩa là nếu T là một chuỗi thời gian thì T = (t1, t2…, tn) trong đó ti là một số thực.

Trong khai phá dữ liệu chuỗi thời gian, các chuỗi con của một chuỗi thời gian thƣờng đƣợc xem xét. Các chuỗi con này có đƣợc bằng cách dùng một cửa sổ trƣợt có chiều dài bằng chiều dài chuỗi con quét lần lƣợt qua từng điểm của chuỗi thời gian. Chuỗi con trong một chuỗi thời gian dài hơn đƣợc định nghĩa nhƣ sau:

Định nghĩa 2.2. Cho một chuỗi thời gian T = (t1, …, tn), một chuỗi con có chiều

dài m của T là một chuỗi S = (ti, …, ti+m-1) với 1 ≤ i ≤ n – m +1.

Trong phát hiện motif chúng ta cần xác định xem một chuỗi con đƣợc cho có tƣơng tự với các chuỗi con khác không. Sự tƣơng tự này đƣợc định nghĩa nhƣ sau.

Định nghĩa 2.3. Cho một số thực dƣơng R và một chuỗi thời gian T. Một chuỗi con

Ci của T bắt đầu tại vị trí i và một chuỗi con Cj của T bắt đầu tại vị trí j, nếu

33

Hình 2.17 Một ví dụ về các chuỗi tương tự tầm thường ( [70]).

Hiển nhiên, các chuỗi con tƣơng tự nhất với một chuỗi con Ci là các chuỗi con bắt đầu tại các vị trí lệch một hay hai điểm về bên trái hay bên phải so với vị trí bắt đầu của chuỗi con Ci. Các trƣờng hợp này đƣợc gọi là so trùng tầm thường. Hình 2.17 là một ví dụ về trƣờng hợp này và nó đƣợc định nghĩa nhƣ sau:

Định nghĩa 2.4. Cho một chuỗi thời gian T, một chuỗi con Ci của T bắt đầu tại vị

trí i và một chuỗi con tƣơng tự Cj của Ci bắt đầu tại vị trí j. Cj đƣợc gọi là so trùng tầm thƣờng (trivial match) của Ci nếu i = j hoặc không tồn tại một chuỗi con Ck bắt đầu tại vị trí k mà DISTANCE(Ci, Ck) > R và i < k < j hoặc j < k < i.

Một cách trực giác, bất kỳ định nghĩa nào về motif đều cần phải loại trừ khả năng đếm gộp cả những so trùng tầm thƣờng.

Motif bậc k trong một chuỗi thời gian đƣợc định nghĩa nhƣ sau.

Định nghĩa 2.5. Cho một chuỗi thời gian T, một chuỗi con có chiều dài n và một số

thực dƣơng R, motif bậc nhất trong T (đƣợc gọi là 1-motif) là chuỗi con C1 có số chuỗi con tƣơng tự không tầm thƣờng nhiều nhất. Motif bậc k trong T (đƣợc gọi là k-motif) là chuỗi con Ck có số chuỗi con tƣơng tự không tầm thƣờng nhiều thứ k và thỏa

DISTANCE(Ci, Ck) > 2R, với mọi 1≤ i < k.

Trong luận án này, Định nghĩa 2.5 còn đƣợc gọi là định nghĩa căn bản của motif. Chú ý là Định nghĩa 2.5 qui định một chuỗi con không thể cùng lúc thuộc về hai motif khác nhau. Điều này thể hiện qua điều kiện DISTANCE(Ci, Ck) > 2R, với mọi 1≤ i < k. Hình 2.18 là một ví dụ minh họa cho trƣờng hợp này.

Năm 2009, trong [71] Mueen và các cộng sự đã đƣa ra khái niệm về motif nhƣ một cặp chuỗi thời gian giống nhau nhất trong cơ sở dữ liệu chuỗi thời gian hay cặp chuỗi con giống nhau nhất trong một chuỗi thời gian dài hơn. Các khái niệm này đƣợc định nghĩa nhƣ sau.

34

Hình 2.18 (A) Một ví dụ về hai motif có chung một số đối tượng và (B) minh họa hai motif thỏa DISTANCE(Ci, Ck) > 2R ( [70]).

Định nghĩa 2.6. Một cơ sở dữ liệu chuỗi thời gian S là một tập các chuỗi thời gian

không theo thứ tự và có thể có chiều dài khác nhau.

Một phần của tài liệu Khai thác dữ liệu chuỗi thời gian dựa vào rút trích đặc trưng bằng phương pháp điểm giữa và kỹ thuật xén = time series data mining based on feature extraction with middle points and clipping method (Trang 45)