.12 Quy trình thực hiện giải thuật tìm kiếm xấp xỉ

Một phần của tài liệu So sánh tìm kiếm motif trên chuỗi thời gian của hai giải thuật sequitur và hashing (luận văn thạc sĩ) (Trang 32 - 39)

Xác định chiều dài chuỗi con và cắt chuỗi Phương pháp chuẩn hóa trung bình Zero-Mean

Phát hiện motif bằng thuật tốn Hashing và Sequitur Ch̃i dữ liệu thời gian

Bắt đầu

19

CHƯƠNG 3 GIẢI THUẬT TÌM KIẾM MOTIF TRÊN CH̃I THỜI GIAN

3.1 Chuẩn hóa dữ liệu

Phương pháp chuẩn hóa trung bình Zero-Mean (Zero-mean Normalization) nhằm đảm bảo các giá trị trung bình của dữ liệu ch̃i thời gian sau khi được chuẩn hóa sẽ tiến về 0. Chuẩn hóa dữ liệu được thực hiện như sau:

Ch̃i 𝑄 sẽ được biến đổi thành chuỗi 𝑄′ theo công thức sau đây:

𝑄′[𝑖] = (𝑄[𝑖] − 𝑚𝑒𝑎𝑛(𝑄))/𝑣𝑎𝑟(𝑄)

Trong đó, 𝑚𝑒𝑎𝑛(𝑄) là giá trị trung bình của 𝑄, 𝑣𝑎𝑟(𝑄) là đợ lệch chuẩn của 𝑄

[15].

Hình 3.1 Chuẩn hóa dữ liệu bằng phương pháp chuẩn hóa trung bình Zero [15]

3.2 Thu giảm số chiều

3.2.1 Phương pháp thu giảm số chiều với PAA

Dữ liệu chuỗi thời gian sau khi được chuẩn hóa sẽ tiến hành thu giảm số chiều theo phương pháp gộp từng đoạn xấp xỉ (Piecewise Aggregate Approximation - PAA) [4].

Thực hiện tuần tự xấp xỉ k giá trị liền kề thành mợt giá trị. Đây là giá trị trung bình của k giá trị đó. Kết quả của phương pháp này là mợt đường thẳng có dạng bậc thang (Hình 3.2) và q trình được thực hiện từ đầu ch̃i dữ liệu thời gian đến cuối

20

ch̃i.

Hình 3.2 Phương pháp xấp xỉ gợp từng đoạn với n = 128 và w = 8 [11]

Một chuỗi 𝐶 = 𝑐1, 𝑐2, … . , 𝑐𝑛 với j = 1,...,n đây là chuỗi dữ liệu thời gian sẽ được tiến hành thu giảm về chuỗi con 𝐶 = 𝑐1, 𝑐2, … . . , 𝑐𝑤 với i = 1,...,w. Trong đó, 𝑤 là

số chiều thu giảm được tính theo cơng thức sau đây:

[11]

Phương pháp gộp từng đoạn xấp xỉ rất trực quan và đơn giản trong q trình tính tốn và hỡ trợ các phương pháp tính khoảng cách như khoảng cách Euclid,...

3.2.2 Thu giảm số chiều bằng phương pháp EPAA

Phương pháp xấp xỉ gộp từng đoạn mở rộng (Extended Piecewise Aggregate Approximation - EPAA) cũng giống như phương pháp PAA nhưng có điểm khác nhau đó là mỡi đoạn dữ liệu sẽ được minh họa bằng ba giá trị nhỏ nhất (min), trung

21

bình và lớn nhất (max). Sau đây là thứ tự và vị trí của ba giá trị được biểu diễn như sau: < 𝑆1, 𝑆2, 𝑆3 >= {< 𝑆𝑚𝑎𝑥, 𝑆𝑚𝑖𝑑, 𝑆𝑚𝑖𝑛 > 𝑖𝑓 𝑃𝑚𝑎𝑥 < 𝑃𝑚𝑖𝑑 < 𝑆𝑚𝑖𝑛 < 𝑆𝑚𝑖𝑛, 𝑆𝑚𝑖𝑑, 𝑆𝑚𝑎𝑥 > 𝑖𝑓 𝑃𝑚𝑖𝑛 < 𝑃𝑚𝑖𝑑 < 𝑆𝑚𝑎𝑥 < 𝑆𝑚𝑖𝑛, 𝑆𝑚𝑎𝑥, 𝑆𝑚𝑖𝑑 > 𝑖𝑓 𝑃𝑚𝑖𝑛 < 𝑃𝑚𝑎𝑥 < 𝑆𝑚𝑖𝑑 < 𝑆𝑚𝑎𝑥, 𝑆𝑚𝑖𝑛, 𝑆𝑚𝑖𝑑 > 𝑖𝑓 𝑃𝑚𝑎𝑥 < 𝑃𝑚𝑖𝑛 < 𝑆𝑚𝑖𝑑 < 𝑆𝑚𝑖𝑑, 𝑆𝑚𝑎𝑥, 𝑆𝑚𝑖𝑛 > 𝑖𝑓 𝑃𝑚𝑖𝑑 < 𝑃𝑚𝑎𝑥 < 𝑆𝑚𝑖𝑛 < 𝑆𝑚𝑖𝑑, 𝑆𝑚𝑖𝑛, 𝑆𝑚𝑎𝑥 > 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒}

Công thức sau đây:

𝑝𝑚𝑖𝑑 =𝑆𝑘 + 𝐸𝑘 2

Trong đó, 𝑆𝑘, 𝐸𝑘 là vị trí đầu và vị trí cuối của đoạn cần tính trên EPAA [14].

Hình 3.3 Các vị trí Pmin, Pmax, Pmid được minh họa chi tiết [14]

3.3 Rời rạc hóa dữ liệu ch̃i thời gian

3.3.1 Phương pháp rời rạc hóa dữ liệu với SAX

Sau khi thực hiện thu giảm số chiều bằng phương pháp PAA, dữ liệu chuỗi thời gian sẽ tiếp tục được rời rạc hóa với phương pháp thu gộp xấp xỉ ký tự (Symbolic Aggregate Approximation - SAX) [11]. Dữ liệu chuỗi thời gian đã chuẩn hóa

22

thường tn theo mợt quy tắc phân bố Gauss. Khi được phân bố như vậy cần xác định những điểm ngắt (Breakpoint). Từ đây sẽ sinh ra a những vùng có diện tích bằng nhau bên dưới đường cong Gauss.

Điểm ngắt (Breakpoint) là danh sách có thứ tự 𝐵 = 𝛽1, . . . , 𝛽𝑎−1bên dưới mật độ phân bố của đường cong Gauss. Giá trị 𝛽𝑖 đến 𝛽𝑖+1 = 1/𝑎, 𝛽0 = −∞,𝛽𝑎 = ∞.

Hình 3.4 Bảng thống kê để tra điểm ngắt theo phân bố Gauss với vùng phân bố từ 3 đến 10 [11]

Tiếp tục biểu diễn các vùng đó thành ký tự được gọi là từ (word). Xác định được tập các điểm ngắt, chuỗi dữ liệu thời gian sẽ được rời rạc hóa bằng cách sau. Tất cả giá trị của PAA nếu nhỏ hơn giá trị điểm ngắt nhỏ nhất sẽ được ánh xạ thành ký tự là a. Nếu giá trị của PAA lớn hơn hoặc bằng giá trị điểm ngắt nhỏ nhất và nhỏ hơn giá trị điểm ngắt nhỏ thứ hai thì ánh xạ thành ký tự là b. Tiến hành lần lượt như vậy cho đến khi hết chuỗi dữ liệu thời gian.

Hình 3.5 Minh họa về việc rời rạc hóa ch̃i ký tự có có chiều dài n = 128, w = 8 [11]

3.3.2 Rời rạc hóa dữ liệu bằng phương pháp ESAX

Sau khi tiến hành thu giảm dữ liệu bằng phương pháp EPAA mở rộng, dữ liệu chuỗi thời gian tiếp tục được rời rạc hóa bằng phương pháp xấp xỉ gợp ký hiệu hố mở

23

rộng (Extended Symbolic Aggregate approXimation - ESAX). Xét về cơ bản thì phương pháp ESAX thực hiện cũng tương tự như SAX. Mỗi chuỗi dữ liệu con sẽ được biểu diễn bằng 3 ký tự tương ứng với tập dữ liệu đã có ở EPAA và được biểu diễn thơng qua bảng điểm ngắt (Breakpoint) [14].

Phương pháp xấp xỉ gợp ký hiệu hố mở rợng cho kết quả tìm kiếm motif chặt chẽ và chính xác hơn phương pháp SAX. Sau đây là minh họa cho thấy các chuỗi dữ liệu tìm kiếm được thể hiện qua SAX và ESAX.

Hình 3.6 Minh họa tìm kiếm qua hai phương pháp rời rạc hóa dữ liệu là SAX và ESAX

Trong đó, với (a) là ch̃i dữ liệu cần tìm kiếm, (b) và (c) là các kết quả được tìm thấy bởi phương pháp ESAX. Còn (d), (e), (f), (i), (j) là những kết quả thể hiện cho phương pháp SAX [14].

3.4 Giải thuật tìm kiếm motif

3.4.1 Giải thuật Brute Force

Giải thuật phát hiện motif chân phương (Brute Force) (bảng 3.1) là một giải thuật đơn giản và trực quan. Giải thuật so sánh một chuỗi con với tất cả những chuỗi con khác trong tập dữ liệu để tìm láng giềng gần nhất của nó, và khơng trùng khớp khơng tự thân do đó đợ phức tạp tính tốn cũng là O(m2) với m là số chuỗi con trong

24

tập dữ liệu. Với dữ liệu có kích thước lớn, số ch̃i con tăng thì giải thuật Brute- Force là khơng khả thi.

Tuy nhiên Brute_Force là giải thuật nền tảng cho nhiều giải thuật cải tiến với một số heuristic giúp cho độ phức tạp giảm đi đáng kể tiêu biểu nhất là giải thuật MK do Mueen, Keogh cùng các cộng sự đề xuất năm 2009 [14] sử dụng tính chất bất đẳng thức tam giác, tính khơng âm của hàm khoảng cách nhằm kết thúc sớm q trình tính tốn khơng cần thiết.

Motif tìm thấy trong giải thuật Brute – Force là motif chính xác.

Bảng 3.1 Giải thuật Brute Force phát hiện Motif Giải thuật Brute-Force (T, n, R) Giải thuật Brute-Force (T, n, R)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 best_motif_count_so_far = 0; best_motif_location_so_far = null; for i = 1 to length (T) – n + 1 count = 0; pointers = null; for j = 1 to length (T) – n + 1

if non_trivial_match( C[i: i+n-1], C[j: j+n-1], R ) count = count + 1; pointers = append(pointers , j); end; end; if count > best_motif_count_so_far best_motif_count_so_far = count; best_motif_location_so_far = i; motif_matches = pointers; end; end;

25

3.4.2 Giải thuật Random Projecttion

Do những hạn chế của các giải thuật khai thác motif chính xác, nhiều cơng trình

nghiên cứu khai thác motif xấp xỉ đã được biết đến vì tính hiệu quả của nó. Các giải thuật khai thác motif xấp xỉ thường cải thiện tốc độ một cách đáng kể và có khả

năng làm việc trên tập dữ liệu lớn nhưng vẫn cho kết quả khá tốt. Tiêu biểu và rất nổi tiếng là giải thuật chiếu ngẫu nhiên (Random Projection) do Chiu và các cộng sự đưa ra vào năm 2003 được biết như là một giải thuật rất hiệu quả trong khai thác

motif xấp xỉ.

Ý tưởng của giải thuật chiếu ngẫu nhiên là dữ liệu sau khi đã rút trích thành các ch̃i con thơng qua cửa sổ trượt sẽ được xử lý thu giảm số chiều và rời rạc hóa SAX sẽ được lưu vào bảng 𝑆̂ (coi hình 3.1).

Một phần của tài liệu So sánh tìm kiếm motif trên chuỗi thời gian của hai giải thuật sequitur và hashing (luận văn thạc sĩ) (Trang 32 - 39)

Tải bản đầy đủ (PDF)

(73 trang)