Cán bộ chấm nhận xét 2: TS Phạm Văn Chung
5. Uỷ viên: PGS TS Dương Tuấn Anh
2.6 Các cơng trình liên quan
2.6.2 Giải thuật phát hiện motif MK
Một trong những phương pháp nhận diện motif chính xác được Mueen và các cộng sự đưa ra năm 2009 [6] được cải tiến từ phương pháp Brute-Force là giải thuật MK. Giải thuật MK này ứng dụng phương pháp kết thúc sớm và phương pháp điểm tham chiếu để tăng tốc độ của giải thuật Brute-Force.
Giải thuật Brute-Force ở Hình 2.15 khá đơn giản. Sử dụng hai vịng lặp i, j để tính tất cả khoảng cách giữa các chuỗi con, từ đó xác định được hai chuỗi con
gần nhất. Thơng thường cơng thức tính độ tương tự Euclid thường được sử dụng.
Việc tính tốn khoảng cách các chuỗi con ở dòng 4 của giải thuật Brute-Force là
hồn tồn có độ phức tạp là O(n2). Tuy nhiên, trong quá trình tìm kiếm hai chuỗi
con gần, có thể áp dụng kỹ thuật kết thúc sớm việc tính khoảng cách này ngay khi nhận thấy khoảng cách d(Di, Dj) lớn hơn best-so-far. Giải thuật này có thể được tóm
Chương 2: Cơ sở lý thuyết và các cơng trình liên quan GVHD: PSG. TS. Dương Tuấn Anh
Nguyễn Văn Nhất_10070490 Trang 21
Algorithm Brute Force Motif Discovery
Procedure [L1,L2] = BruteForce_Motif(D)
In: D: Database of Time Series
Out: L1,L2: Locations for a Motif
1. best-so-far = INF 2. for i = 1 to m 3. for j = i + 1 to m 4. if d(Di,Dj)<best-so-far 5. best-so-far = d(Di,Dj) 6. L1 = i, L2 = j
Hình 2.15 Giải thuật tìm kiếm motif dữ liệu chuỗi thời gian Brute-Force [6]
Cho hai chuỗi X và Y có chiều dài n và một khoảng cách R cho trước. Khoảng cách Euclid của X và Y được định nghĩa như sau
2, 3 2 − 3 2.5
Để kiểm tra khoảng cách Euclid giữa X và Y có lớn hơn giá trị R hay khơng,
chỉ cần tính D(X, Y, k) với
2, 3, 5 2 − 3 6
7ớ9 5 1 … ∗ 2.6
Rõ ràng D(X,Y) ≥ D(X,Y,k). Do đó, khơng cần tính D(X,Y) mà chỉ cần dùng
Chương 2: Cơ sở lý thuyết và các cơng trình liên quan GVHD: PSG. TS. Dương Tuấn Anh
Nguyễn Văn Nhất_10070490 Trang 22
Giải thuật Brute-Force cần phải tính tất cả < <! khoảng cách, chiều dài mỗi chuỗi con có độ dài là n, do vậy độ phức tạp của giải thuật là O(m2n). Điều này
cho thấy giải thuật Brute-Force không hiệu quả.
Ý tưởng của giải thuật này có thể được mơ tả tóm tắt như sau: Giả sử một
chuỗi con tham chiếu ref (có thể chọn là chuỗi con của chuỗi dữ liệu ban đầu), Di và
Dj là hai chuỗi con. Khi đó, ta có bất đẳng thức tam giác =9> , ?≅Α − =9>Β +, ?≅ΑΧ ≤ =9> , +
Do đó, có thể xem =9> , ?≅Α − =9>Β +, ?≅ΑΧ như là chặn dưới của =9> , + . Nếu chặn dưới này vẫn lớn hơn best-so-far thì rõ ràng =9> , + >best-so-far, do đó sẽ khơng cần tính =9> , + . Ngược lại, khoảng cách =9> , + sẽ được quan tâm.
Mặc dù giải thuật MK đã cải thiện được tốc độ đáng kể so với giải thuật
Brute-Force nhưng nó vẫn còn hạn chế về mặt thời gian thực thi khi áp dụng trên dữ liệu chuỗi thời gian lớn và cũng cần phải chỉ ra trước chiều dài motif mà giải thuật MK muốn phát hiện.
Đầu tiên, chọn một chuỗi con để tham chiếu. Hình 2.16 mơ tả việc chọn
chuỗi D1 là chuỗi con tham chiếu và sắp xếp các chuỗi con theo thứ tự của các khoảng cách tham chiếu D1.
Bước tiếp theo, sẽ bắt đầu tiến hành tính khoảng cách thực giữa hai điểm liền kề nhau. Hình 2.17 mơ tả quá trình này.
Để ý rằng, chỉ có khoảng cách từ điểm tham chiếu (ở đây là D1) đến các điểm còn lại là khoảng cách thực, còn lại chỉ là chặn dưới. Ví dụ như trong Hình
2.17, khoảng cách giữa {D8,D6} là 3 nhưng dis(D8,D6) là 42.
Giả sử, cần xem xét khoảng cách giữa D8 và D3 lớn hơn hay nhỏ hơn best-so-
Chương 2: Cơ sở lý thuyết và các cơng trình liên quan GVHD: PSG. TS. Dương Tuấn Anh
Nguyễn Văn Nhất_10070490 Trang 23
best-so-far. Hình 2.18 mơ tả việc ứng dụng phương pháp này trong việc cải tiến giải
thuật Brute-Force.
Hình 2.16 Chặn dưới của các chuỗi con [6]
Chương 2: Cơ sở lý thuyết và các cơng trình liên quan GVHD: PSG. TS. Dương Tuấn Anh
Nguyễn Văn Nhất_10070490 Trang 24
Algorithm Speed up Brute Force Motif Discovery
Procedure [L1,L2] = SpeedUp_Motif (D)
1. best-so-far = INF
2. ref = a randomly chosen time series Dr from D
3. for j = 1 to m
4. Distj = d(ref, Dj)
5. if Distj< best-so-far
6. best-so-far = Disti, L1 = r, L2 = j
7. find an ordering I of the indices to the time series in D such that DistI(j) ≤ DistI(j+1)
8. offset = 0, abandon = false
9. while abandom = false
10. offset = offset + 1, abandom = true
11. for j = 1 to m – offset
12. if DistI(j) – DistI(j+offset)< best-so-far
13. abandom = false
14. if d(DI(j), DI(j+offset)) < best-so-far
15. best-so-far = d(DI(j), DI(j+offset))
16. L1 = I(j), L2 = I(j + offset)
Hình 2.18 Tăng tốc giải thuật Brute-Force với một điểm tham chiếu [6]
Để có thể đạt được chặn dưới tốt hơn (nhỏ hơn), Mueen và các cộng sự đã
cải tiến giải thuật bằng cách tạo ra nhiều điểm tham chiếu bằng cách chọn ngẫu
nhiên từ D. Số lượng các điểm tham chiếu R là một thông số của giải thuật. Khoảng cách của các chuỗi con đến các điểm tham chiếu sẽ tạo thành ma trận R x m. Do đó cực đại của các chặn dưới được sử dụng vì nếu một chặn dưới lớn hơn best-so-far
Chương 2: Cơ sở lý thuyết và các cơng trình liên quan GVHD: PSG. TS. Dương Tuấn Anh
Nguyễn Văn Nhất_10070490 Trang 25
thì cực đại cũng sẽ lớn hơn best-so-far, do đó chuỗi con tương ứng cũng sẽ lớn hơn
best-so-far. Hình 2.19 trình bày giải thuật MK.
Algorithm MK Motif Discovery
Procedure [L1,L2] = MK_Motif (D,R)
1. best-so-far = INF
2. for i = 1 to R
3. refi = a randomly chosen time series Dr from D
4. for j = 1 to m
5. Disti,j = d(refi, Dj)
6. if Disti,j< best-so-far
7. best-so-far = Disti,j, L1 = r, L2 = j
8. Si = standard_deviation(Disti)
9. find an ordering Z of the indices to the reference time series in ref
such that SZ(i) ≥ SZ(i+1)
10. find an ordering I of the indices to the time series in D such that DistZ(I),I(j) ≤ DistZ(I),I(j+1)
11. offset = 0, abandon = false
12. while abandom = false
13. offset = offset + 1, abandom = true
14. for j = 1 to m 15. reject = false
16. for i = 1 to R
17. lower_bound - |DistZ(I),I(j) – DistZ(I),I(j+offset)|
18. if lower_bound > best-so-far
19. reject = true, break
20. else if i = 1
21. abandon = false
22. if reject = false
23. if d(DI(j), DI(j+offset)) < best-so-far
24. best-so-far = d(DI(j), DI(j+offset))
25. L1 = I(j), L2 = I(j + offset)
Chương 2: Cơ sở lý thuyết và các cơng trình liên quan GVHD: PSG. TS. Dương Tuấn Anh
Nguyễn Văn Nhất_10070490 Trang 26
2.6.3 Giới thiệu sơ lược giải thuật phát hiện motif của Tanaka, Iwamoto và Uehara
Giải thuật phát hiện motif trên chuỗi dữ liệu thời gian không cần xác định thông số chiều dài được Tanaka, Iwamoto và Uehara đề xuất vào năm 2005 [5].
Trước tiên, ba tác giả này giới thiệu giải thuật phát hiện motif (motif discovery - MD) dựa vào cách tiếp cận nguyên lý MDL cho phép phát hiện motif mà không cần xác định thông số chiều dài. Tuy nhiên giải thuật này chỉ cho phép
phát hiện được những motif có chiều dài bằng nhau. Sau đó, ba tác giả này lại đề
xuất những thay đổi để mở rộng giải thuật này (extended motif discovery - EMD)
có thể phát hiện được những motif có chiều dài khác nhau. Chi tiết của hai giải
thuật MD và EMD được trình bày trong phần 3.2 và 3.3. Sau đây là phần giới thiệu sơ lược của hai giải thuật này
Giải thuật phát hiện motif MD
Giải thuật MD được thực hiện tuần tự theo các bước như sau
• Chuỗi dữ liệu thời gian ban đầu sẽ được chuyển sang một chuỗi các ký hiệu hành vi. Các bước thực hiện cụ thể như sau, trước tiên sử dụng một cửa sổ
phân tích (analysis window) với một chiều dài xác định trượt trên chuỗi thời
gian ban đầu. Mỗi chuỗi con thu được khi trượt cửa sổ phân tích sẽ được
chuyển sang dạng biểu diễn PAA. Sau đó chuỗi PAA này tiếp tục được
chuyển sang dạng biểu diễn SAX. Chuỗi SAX này tiếp tục được chuyển sang dạng biểu diễn ký hiệu hành vi (behavior symbol – BS). Khi cửa sổ phân tích
được dịch chuyển tới cuối chuỗi thời gian thì thu được một chuỗi các ký hiệu
hành vi.
• Đánh giá các mẫu (pattern) rút trích được dựa vào nguyên lý MDL. Mẫu nào
có hàm đánh giá MDL nhỏ nhất được gọi là mẫu MDL và được xem là motif của chuỗi thời gian. Phần này sẽ được trình bày chi tiết ở mục 3.2.3.
Chương 2: Cơ sở lý thuyết và các cơng trình liên quan GVHD: PSG. TS. Dương Tuấn Anh
Nguyễn Văn Nhất_10070490 Trang 27
• Phát hiện motif từ chuỗi BS. Dịch chuyển cửa sổ phân tích với một chiều dài cho trước trên chuỗi BS sẽ thu được các chuỗi con BS mà chiều dài của
chúng bằng với chiều dài cửa sổ phân tích. Sau đó rút trích các chuỗi con
thường xuyên xuất hiện trong chuỗi BS và xem như là một mẫu. Tất cả các chuỗi con của mẫu phải thoả mãn ràng buộc khoảng cách. Tiếp theo đánh giá các mẫu này dựa vào nguyên lý MDL. Mẫu nào có hàm đánh giá MDL nhỏ
nhất được xem là một ứng viên của motif. Sau đó lại tăng chiều dài cửa sổ
phân tích và lại tiếp tục xác định ứng viên motif tương tự như trên. Q trình phân tích trên được dừng lại khi khơng tìm thêm được mẫu nào. Khi đó, mẫu nào có hàm đánh giá MDL nhỏ nhất được xem là motif của chuỗi thời gian.
Giải thuật mở rộng phát hiện motif EMD
Để giải thuật MD có thể phát hiện được các motif có chiều dài khác nhau, ba tác giả
này đã đề xuất hai sự chỉnh sửa và giải thuật này được gọi là giải thuật mở rộng
EMD. Hai sự chỉnh sửa đó là chỉnh sửa chuỗi ký hiệu hành vi BS và cần một định nghĩa mới cho chiều dài mô tả chuỗi dữ liệu thời gian.
• Chỉnh sửa chuỗi ký hiệu hành vi. Trước tiên, từ chuỗi hành vi BS dị tìm các chuỗi con BS mà chỉ chứa các ký hiệu BS giống nhau xuất hiện lặp lại và
đếm số lượng của ký hiệu BS này, con số này được gọi là chiều dài BS. Sau đó, chuyển đổi chuỗi con BS này thành một ký hiệu BS duy nhất có chiều
dài BS bằng số lần xuất hiện của ký hiệu BS. Chuỗi ký hiệu BS sau khi được thực hiện chuyển đổi này được gọi là chuỗi ký hiệu BS đã được chỉnh sửa.
Bằng cách rút trích các mẫu BS từ chuỗi BS đã được chỉnh sửa, giải thuật có thể dị tìm được các mẫu có chiều dài khác nhau. Tuy nhiên mỗi cặp chuỗi
con của hai mẫu khác nhau khơng thể được tính khoảng cách bằng độ đo
Euclid do chiều dài của chúng có thể khác nhau. Vì vậy để giải quyết vấn đề này phải dùng độ đo xoắn thời gian động.
• Định nghĩa mới của chiều dài mơ tả chuỗi dữ liệu thời gian. Vì giải thuật có
Chương 2: Cơ sở lý thuyết và các cơng trình liên quan GVHD: PSG. TS. Dương Tuấn Anh
Nguyễn Văn Nhất_10070490 Trang 28
giải thuật MD khơng cịn chính xác nữa. Vì vậy tác giả đã đưa ra một định
nghĩa mới của chiều dài mô tả cho chuỗi ký hiệu hành vi BS đã được chỉnh
sửa. Định nghĩa mới cho chiều dài mô tả của chuỗi thời gian gồm ba chi phí,
chi phí mã hố dữ liệu (data encoding cost), chi phí mã hố thông số
(parameter encoding cost) và chi phí phân đoạn (segmentation cost). Chi tiết
tính chiều dài mơ tả mới này sẽ được trình bày ở mục 3.3.3.