Hiện thực giải thuật phát hiện motif trên dữ liệu chuỗi thời gian mà không cần xác định trước thông số chiều dài của motif.. Đồng thời luận văn cũng đưa ra một kỹ thuật cải tiến đó là áp
PHÁT BIỂU VẤN ĐỀ
Giới thiệu đề tài
Các vấn đề liên quan đến xác định vị trí một cách hiệu quả các mẫu (pattern) đã được biết trước trong một cơ sở dữ liệu chuỗi thời gian (ví dụ, truy vấn theo nội dung) đã nhận được nhiều sự chú ý và hiện nay phần lớn có thể được coi như là một vấn đề đã được giải quyết [8, 10, 11, 12, 13, 14, 15, 16]
Tuy nhiên, từ quan điểm khám phá tri thức, một vấn đề thú vị hơn là liệt kê các mẫu thường xuyên xuất hiện mà chưa được biết trước Các mẫu như vậy được gọi là motif, bởi có vì sự tương đồng chặt chẽ với các mẫu rời rạc trong tính toán sinh học bằng máy tính [17, 18, 19, 20, 21]
Một thuật toán phát hiện motif hiệu quả cho chuỗi thời gian sẽ hữu ích như là một công cụ tổng hợp, hình ảnh hóa cơ sở dữ liệu chuỗi thời gian đồ sộ Ngoài ra, nó có thể được sử dụng như một chương trình con trong các tác vụ khai thác dữ khác nhau, bao gồm cả việc khám phá ra các luật kết hợp, gom cụm và phân loại Ví dụ, tạo các trung tâm cụm ban đầu cho việc gom cụm dữ liệu chuỗi thời gian trong giải thuật K-means bằng các motif thay vì chọn trung tâm cụm một cách ngẫu nhiên có thể làm cho độ hội tụ của giải thuật nhanh hơn Hình 1.1 minh hoạ một ví dụ của một motif được phát hiện trong một cơ sở dữ liệu thiên văn
Tuy nhiên, việc phát hiện motif không được biết trước, đặc biệt là motif không biết trước chiều dài, vẫn còn là một thử thách lớn Và hiện này, vấn đề này đang thu hút nhiều sự quan tâm của các nhà nghiên cứu Đây cũng chính là mục tiêu mà luận văn này sẽ thực hiện
Hình 1.1 Chuỗi thời gian thiên văn (ở trên) chứa 3 chuỗi con gần tương đồng nhau Bên dưới là hình phóng lớn của 3 chuỗi con ở trên [1]
Mục đích nghiên cứu
Hiện nay, đối với vấn đề phát hiện motif thì cũng đã có khá nhiều giải thuật để giải quyết vấn đề này Các phương pháp được ứng dụng trong bài toán này thường được dùng là Brute-Force được J.Lin và các cộng sự đề xuất năm 2002 [1], phương pháp chiếu ngẫu nhiên được B.Chiu và các cộng sự giới thiệu năm 2003 [2], giải thuật MK của Mueen và các cộng sự đưa ra năm 2009 [6] Tuy nhiên khi áp dụng các phương pháp trên thì gặp phải các nhược điểm sau
• Phải xác định trước chiều dài của motif
• Không thích hợp khi chuỗi dữ liệu lớn
• Cả ba phương pháp này không thể phát hiện được các motif có chiều dài khác nhau.
Vì vậy mục đích nghiên cứu của luận văn là nhằm hiện thực được một giải thuật để giải quyết được ba vấn đề hạn chế trên Hay nói cách khác luận văn này sẽ
Nguyễn Văn Nhất_10070490 Trang 3 giải quyết vấn đề ‘ Nh ậ n d ạ ng motifs trên d ữ li ệ u chu ỗ i th ờ i gian không c ầ n xác đị nh thông s ố chi ề u dài ’.
Những kết quả đạt được
Luận văn đã đạt được một số kết quả sau đây
• Hiện thực thành công giải thuật phát hiện motif (motif discovery - MD) dựa vào nguyên lý MDL do Tanaka, Iwamoto và Uehara đề xuất 2005 [5] Giải thuật này chỉ cho phép phát hiện các motif có chiều dài bằng nhau
• Hiện thực thành công giải thuật mở rộng (extended motif discovery - EMD) dựa vào nguyên lý MDL kết hợp với độ đo xoắn thời gian động (EMD|DTW) do Tanaka, Iwamoto và Uehara đề xuất 2005 [5] Giải thuật này cho phép phát hiện các motif có chiều dài khác nhau
Luận văn đề xuất giải thuật EMD|HT, cải tiến từ EMD|DTW bằng cách kết hợp phép vị tự (HT) và độ đo Euclid Trong giải thuật EMD|HT, phép vị tự thay thế độ đo DTW để thống nhất độ dài của hai chuỗi thời gian Phép vị tự biến đổi hai chuỗi thời gian có độ dài khác nhau thành hai chuỗi có độ dài bằng nhau, tạo điều kiện thực hiện so sánh trực tiếp.
Sau đó, dùng độ đo Euclid để tính khoảng cách giữa hai chuỗi này Kết quả thực nghiệm cho thấy, giải thuật EMD|HT cũng cho phép phát hiện các motif có chiều dài khác nhau và có thời gian thực thi nhanh hơn rất nhiều lần so với giải thuật EMD|DTW Đồng thời chất lượng các motif phát hiện được bởi EMD|HT cũng tốt hơn so với giải thuật EMD|DTW.
Cấu trúc của luận văn
Cấu trúc của luận văn gồm năm chương và nội dung của mỗi chương như sau
• Chương 1 giới thiệu tóm tắt vấn đề, mục tiêu nghiên cứu của luận văn và những kết quả mà luận văn đã đạt được
• Chương 2 giới thiệu cơ sở lý thuyết và các công trình liên quan đến phát hiện motif Chương này sẽ giới thiệu về các phương pháp về độ đo tương tự giữa
Trong bài viết này, chúng ta sẽ cùng khám phá về dữ liệu chuỗi thời gian, một kiểu dữ liệu đặc biệt với các điểm dữ liệu được sắp xếp theo thứ tự thời gian Chúng ta sẽ tìm hiểu về các đặc điểm chính, các phương pháp thu giảm số chiều và rời rạc hóa, cũng như các giải thuật phát hiện motif phổ biến trên dữ liệu chuỗi thời gian, bao gồm Giải thuật Brute-Fore, Giải thuật chiếu ngẫu nhiên, Giải thuật MK, Giải thuật MD và Giải thuật EMD|DTW.
• Chương 3 sẽ tập trung vào phương pháp thực hiện giải thuật phát hiện motif theo một cách tiếp cận mới bằng cách dựa vào nguyên lý MDL do Tanaka,
Iwamoto và Uehara đề xuất năm 2005 [5] Tiếp theo, chương này sẽ trình bày về một kỹ thuật để cải tiến giải thuật EMD|DTW mà ba tác giả này đã đề xuất Đó là áp dụng phép vị tự kết hợp với độ đo Euclid để tăng hiệu suất thời gian thực thi của giải thuật mà chất lượng motif phát hiện được cũng rất tốt Giải thuật cải tiến này được gọi là EMD|HT
• Chương 4 hiện thực giải thuật MD, EMD|DTW do Tanaka, Iwamoto và Uehara đề xuất và giải thuật cải tiến EMD|HT Tiếp theo, chương này cũng trình bày các thực nghiệm của các giải thuật này và giải thuật chiếu ngẫu nhiên đối với các tập dữ liệu thời gian khác nhau như dữ liệu điện tâm đồ
(ECG), dữ liệu điện não đồ (EEG), dữ liệu Memory, dữ liệu Power và dữ liệu ERP So sánh và đánh giá kết quả thu được bao gồm thời gian thực thi, độ chính xác và khả năng đáp ứng với chuỗi dữ liệu lớn giữa các giải thuật trên Ngoài ra chương này cũng trình bày tính hiệu quả (efficiency) của giải thuật EMD|HT đối với các tập dữ liệu được thực nghiệm
• Chương 5 trình bày một số kết quả đạt được và hướng phát triển của luận văn.
CƠ SỞ LÝ THUYẾT VÀ CÁC CÔNG TRÌNH LIÊN QUAN
Các độ đo tương tự
Có nhiều độ đo tương tự đã được sử dụng để tính độ tương tự giữa hai chuỗi thời gian Việc chọn một độ đo tương tự là tùy thuộc rất nhiều vào miền ứng dụng và trong nhiều trường hợp thì một độ đo thuộc chuẩn L p đơn giản như độ đo Euclid là đủ tốt để dùng Tuy nhiên trong nhiều trường hợp thì độ đo Euclid lại quá cứng nhắc vì không thích nghi được với những phép biến đổi như tịnh tiến (shifting), co giãn biên độ (scaling) hay xoắn trục thời gian (time warping) Nhiều phương pháp tìm kiếm tương tự mới hơn dựa vào những độ đo tương tự mềm dẻo và vững chắc hơn như độ đo xoắn thời gian động (Dynamic Time Warping - DTW), độ đo chuỗi con chung dài nhất
Đo khoảng cách cho dữ liệu chuỗi thời gian là một khái niệm quan trọng trong lĩnh vực phân tích dữ liệu Trong số các phép đo khoảng cách khác nhau, phép đo Euclid là phép đo phổ biến nhất.
Cho 2 chuỗi thời gian Q và C có cùng chiều dài n, công thức 2.1 định nghĩa khoảng cách Euclid của chúng và Hình 2.1 minh hoạ cho độ đo trực quan này
Hình 2.1 Minh hoạ độ đo Euclid giữa hai chuỗi thời gian [1]
2.1.2 Độ đo xoắn thời gian động
Việc so trùng hai đường biểu diễn dữ liệu bằng cách tính khoảng cách từng cặp điểm 1-1 (điểm thứ i của đường thứ I so với điểm thứ i của đường thứ II) là không phù hợp trong trường hợp hai đường này không hoàn toàn giống nhau nhưng hình dạng biến đổi rất giống nhau Như trong Hình 2.2, hai đường biểu diễn rất giống nhau về hình dạng nhưng lệch nhau về thời gian Trong trường hợp này, nếu tính khoảng cách bằng cách ánh xạ 1-1 giữa hai đường thì kết quả rất khác nhau và có thể dẫn đến kết quả cuối cùng không giống như mong muốn
Vì vậy để khắc phục nhược điểm này, thì một điểm có thể ánh xạ với nhiều điểm và ánh xạ này không thẳng hàng (xem Hình 2.2) Phương pháp này gọi là xoắn thời gian động (DTW) được đề xuất bởi Bern và Clifford, 1994 [9]
Khoảng cách giữa hai chuỗi thời gian có thể tính như sau
Cho hai chuỗi th xoắn (warping window
|i-j|≤w Dữ liệu ra là tổ
Cách tính đơn gi Khi đó D ij = d(x i , y i ) T n) thoả mãn ràng buộc sau
• Không được đi qua trái hay
Biểu đồ hình 2.3 minh họa cách xác định thời gian X và Y và thông số khung warp cho điểm i và j Hai điểm này phải nằm trong khoảng cách cho phép của các điểm được ánh xạ.
2.2 Cách ánh xạ trong tính độ đo xoắn thời gian động [9] đơn giản DTW là xây dựng một ma trận D mxn
Từ ma trận D tiến hành duyệt qua ma trận t c sau đi qua trái hay đi xuống i liên tục thuộc đường đi phải thoả |i – j| ≤ w ô đi từ ô (0, 0) đến ô (m, n) thoả mãn những đ
# minh hoạ phương pháp tính khoảng cách theo DTW. c xác định độ tương tự giữa hai chuỗi thờ
Trang 7 w gọi là khung cửa sổ ánh xạ với nhau nếu c ánh xạ với nhau ng [9] mxn với m=|X| và n=|Y| n từ ô (0,0) đến ô (m, ng điều kiện trên, khi
2.2 ng cách theo DTW Phương pháp ời gian có hình dạng
Nguyễn Văn Nhất_10070490 Trang 8 giống nhau nhưng chiều dài hình dạng về mặt thời gian khác nhau Phương pháp này cho kết quả chính xác hơn phương pháp tính khoảng cách Euclid, đặc biệt trong các bài toán có dữ liệu nhỏ, bài toán phân loại (classification) hay các bài toán gom cụm (clustering), …
Hình 2.3 Minh hoạ cách tính khoảng cách theo DTW [9]
Tuy nhiên nhược điểm lớn nhất của phương pháp này là thời gian chạy, có thể gấp hàng trăm hoặc nghìn lần phương pháp độ đo Euclid Giải thuật DTW lúc đầu đưa ra thông số w = n (chiều dài dữ liệu), khi đó độ phức tạp thuật toán là
O(n 2 ) Do đó để độ phức tạp của thuật toán giảm xuống còn O(wn) thì thông số w thường được chọn sao cho w rất nhỏ so với n.
Phương pháp thu giảm số chiều xấp xỉ gộp từng đoạn PAA
Dữ liệu chuỗi thời gian thường có kích thước rất lớn Trên cơ sở đó, một số phương pháp đã được sử dụng để chuẩn hóa lại dữ liệu thu thập thành một tập dữ liệu nhỏ hơn đặc trưng cho dữ liệu đó Bằng phương pháp này, thay vì thao tác truy vấn trên dữ liệu chuỗi thời gian ban đầu, thì có thể thao tác trên dữ liệu chuỗi thời gian được
Nguyễn Văn Nhất_10070490 Trang 9 chuẩn hóa để giảm chi phí thời gian thao tác và khi cần cũng có thể chuyển dữ liệu chuỗi thời gian đã chuẩn hóa này thành chuỗi thời gian ban đầu Phương pháp này gọi là phương pháp thu giảm số chiều dữ liệu Một trong những phương pháp thu giảm số chiều phổ biến nhất là phương pháp xấp xỉ gộp từng đoạn (Piecewise
Phương pháp PAA do E.Keogh và cộng sự đề nghị năm 2001 [8] Phương pháp này cho phép một chuỗi thời gian có độ dài bất kỳ n có thể được thu giảm thành một chuỗi có chiều dài bất kỳ w, (w < n, thường w 2 Bảng sau đây tóm tắt các ký hiệu được dùng trong phương pháp này
C Một chuỗi thời gian C = c 1 ,…,c n ̅ Một PAA của một chuỗi thời gian ̅ = ̅1,…, ̅w
% Một dạng biểu diễn ký hiệu của chuỗi thời gian % = ̂1,… ̂w w Số thành phần của chuỗi thời gian được biểu diễn bởi PAA hay từ A Kích thước bản ký tự (ví dụ, cho bảng chữ cái = {a, b, c}, a = 3)
Một chuỗi thời gian C có chiều dài n có thể được biểu diễn trong một không gian w-chiều bằng một vector ̅ = ̅1,…, ̅w Thành phần thứ i của ̅ được tính toán bởi công thức sau
Phát biểu một cách đơn giản, để giảm chuỗi thời gian từ n-chiều thành w- chiều, dữ liệu được chia thành w khung (frame) có kích thước bằng nhau Giá trị có nghĩa của dữ liệu sẽ rơi vào khung được tính toán và vector của những giá trị này trở thành sự biểu diễn dữ liệu được rút giảm Sự biểu diễn này có thể được minh
Nguyễn Văn Nhất_10070490 Trang 10 hoạ như là một sự cố gắng xấp xỉ chuỗi thời gian ban đầu với một sự kết hợp tuyến tính các chức năng cơ bản như Hình 2.4
Hình 2.4 Dạng biểu diễn PAA có thể được minh hoạ cũng như cố gắng mô hình hoá một chuỗi với sự kết hợp tuyến tính của các hàm căn bản Trong trường hợp này, một chuỗi có chiều dài 128 được thu giảm thành 8 [1]
Những chỉ số phức tạp trong hàm 2.3 đảm bảo rằng chuỗi ban đầu được chia thành những khung có kích thước và số liệu đúng
Phương pháp thu giảm số chiều PAA trực quan và dễ hiểu So với các phương pháp khác, PAA có nhiều ưu điểm nổi bật như khả năng tính toán nhanh chóng, tương thích với nhiều hàm khoảng cách khác nhau, bao gồm cả hàm khoảng cách có trọng số Các đặc tính này giúp PAA trở thành một phương pháp hiệu quả trong việc thu giảm số chiều dữ liệu.
Phương pháp rời rạc hoá xấp xỉ gộp ký hiệu SAX
Lin, Keogh và các cộng sự [3] đã đề xuất một phương pháp rời rạc hóa có tên là xấp xỉ gộp ký hiệu hóa (Symbolic Aggregate Approximation – SAX) mà dựa trên phương pháp thu giảm số chiều PAA và giả sử dữ liệu thu giảm số chiều đã được chuẩn hóa SAX là quá trình ánh xạ biểu diễn PAA của chuỗi thời gian thành một chuỗi ký tự rời rạc
Một dữ liệu chuỗi thời gian có thể được chuyển đổi sang dạng PAA Sau đó, áp dụng phương pháp SAX lên dạng PAA này để thu được một sự biểu diễn rời rạc hoá Điều này có thể thực hiện được vì chuỗi thời gian đã được chuẩn hoá có sự phân bố Gauss Điều này có thể được minh hoạ như sau, tiến hành rút trích một chuỗi con chiều dài 128 từ 8 chuỗi thời gian khác nhau và được đồ thị hoá bằng đồ thị phân bố xác suất chuẩn như Hình 2.5
Hình 2.5 Biểu đồ phân bố xác suất chuẩn của sự phân bố giá trị từ các chuỗi con có chiều dài 128 từ 8 tập dữ liệu khác nhau Đường tuyến tính của đồ thị chỉ ra rằng dữ liệu có được là từ sự phân bố Gauss [1]
Cho một chuỗi thời gian được chuẩn hoá với phân bố Gauss cao, các điểm cắt (breakpoint) được xác định sẽ sinh ra các khu vực có kích thước bằng nhau theo đường cong Gauss
Điểm cắt là một danh sách được sắp xếp các số B = β 1 , …, β a-1 sao cho diện tích dưới đường cong Gauss a N(0,1) từ β i đến β i+1 = 1/a (β 0 và β a được định nghĩa tương ứng là -∞ và ∞).
Những điểm cắt này có thể được xác định bằng cách tìm chúng trong bảng thống kê Ví dụ, Hình 2.6 đưa ra các điểm cắt đối với giá trị a từ 3 tới 10 a βi 3 4 5 6 7 8 9 10 β1 -0.43 -0.67 -0.84 -0.97 -1.07 -1.15 -1.22 -1.28 β2 0.43 0 -0.25 -0.43 -0.57 -0.67 -0.76 -0.84 β3 0.67 0.25 0 -0.18 -0.32 -0.43 -0.52 β4 0.84 0.43 0.18 0 -0.14 -0.25 β5 0.97 0.57 0.32 0.14 0 β6 1.07 0.67 0.43 0.25 β7 1.15 0.76 0.52 β8 1.22 0.84 β9 1.28
Hình 2.6 Bảng tìm kiếm chứa các điểm cắt mà được chia theo phân bố Gauss của vùng từ 3 tới 10 [1]
Dãy ký tự biểu diễn chuỗi con được gọi là từ Sau khi xác định điểm cắt, chuỗi thời gian có thể được rời rạc hóa bằng cách chuyển sang dạng biểu diễn PAA Các hệ số của dạng PAA nhỏ hơn điểm cắt nhỏ nhất được ánh xạ sang ký tự 'a' Các hệ số lớn hơn hoặc bằng điểm cắt nhỏ nhất và nhỏ hơn điểm cắt nhỏ nhất thứ 2 được ánh xạ sang ký tự 'b' Quá trình này được minh họa trong Hình 2.7.
Hình 2.7 Một chuỗi thời gian được rời rạc hoá bằng cách đầu tiên chuyển chuỗi thời gian sang dạng PAA tương ứng và sau đó dùng các điểm cắt xác định trước để ánh xạ các hệ số PAA vào các ký hiệu
Trong ví dụ trên, với n = 128, w = 8 và a = 3, chuỗi thời gian được ánh xạ thành từ baabccbc [1] Định nghĩa: Từ: một chuỗi con C có chiều dài n có thể được biểu diễn như một từ
% = ̂1,… ̂w như sau Gọi alpha i là thành phần thứ i của bảng ký tự, ví dụ, alpha 1 = a và alpha 2 = b Thì sự ánh xạ từ dạng PAA sang một từ % như sau ̂i = alpha i , nếu và chỉ nếu β j-1 < + ≤β j (2.4)
Một số định nghĩa
2.4.1 Chuỗi thời gian Định nghĩa: Một chuỗi thời gian (time serries) T = t 1 ,…,t m là một tập có thứ tự gồm m biến giá trị số thực
Chuỗi thời gian có thể rất dài, đôi khi chứa hàng tỷ quan sát Các thuộc tính toàn cục của một chuỗi thời gian thường không được quan tâm, thay vào đó, các chuyên viên khai thác dữ liệu thường giới hạn quan tâm của họ tới các phần con của chuỗi thời gian, được gọi là các chuỗi con (subsequence)
2.4.2 Chuỗi con Định nghĩa: Cho một chuỗi thời gian T có chiều dài m, một chuỗi con C của T là một dãy bất kì chiều dài n < m của các giá trị liên tục của T, đó là, C = t p , ,t p+n-1 cho 1 ≤ p ≤ m - n+ 1
Nhiệm vụ thường gặp liên quan đến chuỗi con là xác định xem chuỗi con này có trùng khớp, giống với các chuỗi con khác hay không Điều này thể hiện qua định nghĩa về chuỗi con trùng khớp.
2.4.3 Chuỗi con so trùng Định nghĩa: Cho một số thực dương R (được gọi là phạm vi), và một chuỗi thời gian T có chứa một chuỗi con C bắt đầu tại vị trí p và một chuỗi con M bắt đầu từ q, nếu D(C, M) ≤ R, vậy thì M được gọi là chuỗi con so trùng của C
Ba định nghĩa trên được tóm tắt trong Hình 2.8, minh họa một chuỗi thời gian có chiều dài 500, và hai chuỗi con có chiều dài 128.
Hình 2.8 Minh hoạ trực quan chuỗi thời gian T (nét nhỏ), một chuỗi con C (nét đậm, màu đen) và một chuỗi con so trùng M (nét đậm màu xám) [1] Định nghĩa của chuỗi con so trùng là khá rõ ràng và trực quan, nhưng nó là cần thiết cho định nghĩa của chuỗi con so trùng tầm thường (trivial match)
Người ta có thể quan sát thấy rằng các chuỗi con so trùng tốt nhất cho một chuỗi con (ngoài chính bản thân nó) có xu hướng là một chuỗi con mà bắt đầu ở chỉ
Nguyễn Văn Nhất_10070490 Trang 15 một vài điểm ở phía bên trái hoặc bên phải của chuỗi con đang xem xét Hình 2.9 minh họa ý tưởng này
Hình 2.9 Đối với hầu hết các chuỗi con C trong một chuỗi thời gian, chuỗi con so trùng tốt nhất là những chuỗi con thông thường ngay bên trái và bên phải của C [1]
2.4.4 Chuỗi con so trùng tầm thường Định nghĩa: Cho một chuỗi thời gian T, có chứa một chuỗi con C bắt đầu tại vị trí p và một chuỗi con so trùng M bắt đầu tại q, M được gọi là một chuỗi con so trùng tầm thường của C nếu một trong hai điều kiện sau đây thỏa mãn p = q hoặc không tồn tại một chuỗi con M bắt đầu tại q' sao cho D(C, M')>R, và hoặc là q