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

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 47 - 50)

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 (adsbygoogle = window.adsbygoogle || []).push({});

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) ≤ ɛ+ Δ).

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 47 - 50)