NHIỆM VỤ VÀ NỘI DUNG: Nghiên cứu so sánh hiệu quả của hai phương pháp rời rạc hóa SAX và ESAX khi áp dụng vào giải thuật phát hiện motif trên dữ liệu chuỗi thời gian .... Đề tài này tìm
PHÁT BIỂU VẤN ĐỀ
Dữ liệu chuỗi thời gian
Dữ liệu chuỗi thời gian là dữ liệu đo đạc được một cách tuần tự theo thời gian Đối tượng dữ liệu có thể có hai hay nhiều chiều nhưng trong đó phải có một chiều là thời gian Có rất nhiều dữ liệu có yếu tố thời gian như dữ liệu về giá chứng khoán, điện tâm đồ, mực nước, lưu lượng truyền trên mạng, dữ liệu tài chính (Hình
1.1), thiên văn, thời tiết, mức độ ô nhiễm môi trường, …
Hình 1.1 Dữ liệu chuỗi thời gian về giá vàng
Dữ liệu chuỗi thời gian thường được đo đạc liên tục trong thời gian dài nên thường có kích thước rất lớn và gia tăng nhanh Các giải thuật khai phá dữ liệu chuỗi thời gian thường có chi phí rất lớn về thời gian thực thi và tài nguyên bộ nhớ
Do đó việc nghiên cứu các phương pháp hiệu quả để khai phá các dữ liệu chuỗi thời gian rất quan trọng và thu hút rất nhiều sự quan tâm Bên cạnh đó, ta có định nghĩa khác nhau về dữ liệu chuỗi thời gian: Định nghĩa 1: Chuỗi thời gian (Time Series) T = t 1 , t 2 … t m là tập hợp có thứ tự các quan sát đơn biến hoặc đa biến được đo sau những khoảng thời gian bằng nhau theo thời gian (Ta chỉ xem xét với t i là các giá trị thực trong đề tài này)
Việc khai phá dữ liệu chuỗi thời gian đã và hiện thu hút rất nhiều sự nghiên cứu trên thế giới Dữ liệu chuỗi thời gian xuất hiện rất nhiều trong các lĩnh vực trong công nghệ hiện nay, cụ thể là một số lĩnh vực nghiên cứu sau:
Lập chỉ mục (Indexing): cho một chuỗi thời gian truy vấn Q, và một hàm tính độ tương tự hoặc độ sai biệt D(Q,C), tìm những chuỗi thời gian tương tự nhất với Q trong cơ sở dữ liệu nào đó
Gom cụm (Clustering): tìm những sự phân nhóm, gom cụm dữ liệu theo tự nhiên của những chuỗi thời gian trong cơ sở dữ liệu thông qua một hàm tính độ tương tự D(Q,C)
Phân lớp (Classification): cho một dữ liệu chuỗi thời gian chưa gán nhóm Q, gán nó vào một trong những nhóm dữ liệu đã được định nghĩa trước
Tổng hợp (Summarization): cho chuỗi thời gian Q có n điểm dữ liệu trong đó n là con số rất lớn, tạo một sự xấp xỉ của Q để vừa khít theo một giới hạn nào đó (chẳng hạn màn hình máy tính, trang giấy…) sao cho vẫn duy trì những đặc trưng bản chất của nó
Phát hiện bất thường (Abnormaly detection): cho một chuỗi thời gian Q, Khai phá bất thường (anomaly) là tìm một chuỗi con khác biệt nhất với tất cả các chuỗi con khác trong dữ liệu chuỗi thời gian
Phát hiện Motif ( Motif detection ) cho một chuỗi thời gian Q, Motif là chuỗi con chưa biết trước xuất hiện nhiều lần trong một chuỗi dữ liệu chuỗi thời gian dài hơn Khái niệm này được tổng quát hóa thành bài toán tìm kiếm k-motif, với kết quả cần tìm là k nhóm motif đầu tiên Phát hiện motif trong dữ liệu chuỗi thời gian là một công việc quan trọng trong khai phá dữ liệu chuỗi thời gian
Vì dữ liệu chuỗi thời gian là rất lớn, không lưu trữ đủ trong bộ nhớ chính, ta cần rất nhiều lần truy cập bộ nhớ ngoài, gây ra hiện tượng thắt cổ chai cho các nhiệm vụ khai phá dữ liệu (dù là hiện nay tốc độ truy xuất đĩa đã được cải thiện đáng kể, nhưng tốc độ gia tăng kích thước dữ liệu chuỗi thời gian là nhanh hơn rất nhiều lần) Để hạn chế tối đa số lần truy cập đĩa người ta thường xấp xỉ các chuỗi dữ liệu sao cho vừa khớp với bộ nhớ chính Một khung chung để thực hiện các tác vụ khai phá dữ liệu chuỗi thời gian được đề ra ở [1] Cách tiếp cận cơ bản này được chỉ ra trong Bảng 1 như sau:
1 Tạo một sự xấp xỉ dữ liệu để nó vừa khớp với bộ nhớ chính, nhưng vẫn duy trì các đặc trưng cần quan tâm
2 Giải quyết bài toán với dữ liệu xấp xỉ trong bộ nhớ chính
3 Truy cập dữ liệu gốc để sau đó kiểm lời giải ở bước 2, bổ sung lời giải sao cho chính xác với dữ liệu gốc
Bảng 1.1 Cách tiếp cận chung cho các nhiệm vụ khai phá dữ liệu
Hiệu quả của khung chung này phụ thuộc nhiều vào chất lượng của phương pháp mà ta xấp xỉ ở bước 1 Nếu ta xấp xỉ càng gần với dữ liệu gốc thì lời giải mà ta có được trong bộ nhớ chính sẽ càng gần với lời giải có được với dữ liệu gốc và dẫn đến số lần truy cập đĩa ngoài ở bước 3 là càng ít Do vậy nên đã có nhiều nghiên cứu về việc xấp xỉ và để so sánh các phương pháp xấp xỉ.
Khai phá motif trong chuỗi dữ liệu thời gian
Khai phá motif là tìm ra những chuỗi con tương tự nhau xuất hiện lặp đi lặp lại trong dữ liệu chuỗi thời gian (Hình 1.2) Khai phá bất thường (abnormaly) là tìm một chuỗi con khác biệt nhất với tất cả các chuỗi con khác trong dữ liệu chuỗi thời gian (Hình 1.3)
Trong khi khai phá phát hiện bất thường kết quả trả về đòi hỏi phải là kết quả chính xác thì khai phá phát hiện motif kết quả trả về có thể là một kết quả xấp xỉ
Hai hướng tiếp cận chính của các giải thuật khai phá motif là:
Khai phá motif chính xác (exact motif): là việc ta thực hiện trực tiếp trên dữ liệu thô thông qua giải thuật brute-force làm nền tảng từ đó có thể cải tiến giải thuật bằng cách áp dụng một số heuristic nhằm giảm độ phức tạp cho giải thuật cho giải thuật Hầu hết các giải thuật theo hướng này có tính đúng và tính đầy đủ cao tuy nhiên tính hiệu quả không cao và chỉ phù hợp với dữ liệu có kích thước nhỏ
Khai phá motif xấp xỉ (approximate motif): dữ liệu chuỗi thời gian sẽ được xử lý trước khi thực hiện việc khai phá như thu giảm số chiều, rời rạc hóa dữ liệu Trong quá trình khai phá dữ liệu có thể áp dụng một số tính chất dựa trên xác suất, tính ngẫu nhiên Hướng tiếp cận này giúp tăng tính hiệu quả của giải thuật trong khi tính đúng và tính đầy đủ vẫn có thể chấp nhận được đồng thời nó phù hợp với dữ liệu có kích thước lớn
Hình 1.2 Một minh hoạ chuỗi con motif
Hình 1.3 Một minh hoạ chuỗi con bất thường
Mục tiêu và giới hạn của đề tài
Mục tiêu chính của luận văn là tìm hiểu phương pháp rời rạc hóa chuỗi dữ liệu thời gian ở dạng mở rộng ESAX Sau đó, đề xuất một cách ứng dụng ESAX vào bài toán phát hiện motif Cụ thể, đề tài này so sánh tính hiệu quả của hai phương pháp rời rạc hóa chuỗi dữ liệu ESAX (phương pháp gộp xấp xỉ ký hiệu hóa mở rộng) và SAX (phương pháp gộp xấp xỉ ký hiệu hóa) khi áp dụng vào các giải thuật phát hiện motif trên dữ liệu chuỗi thời gian, sau đó so sánh kết quả đạt được của giải thuật phát hiện motif Random Projection trên phép biến đổi ESAX với giải thuật phát hiện motif (Random Projection Algorithm – RP) trên phép biến đổi SAX
Giới hạn của đề tài, sau khi khảo sát các phương pháp biểu diễn, hàm tính độ tương tự, tìm hiểu phương pháp SAX và ESAX và các đặc tính của nó, chúng tôi đề xuất cách ứng dụng ESAX vào bài toán tìm k-motif như sau:
Thu giảm số chiều bằng phương pháp xấp xỉ gộp từng đoạn mở rộng EPAA (Extended Piecewise Aggregate Approximation) do Lkhagva và cộng sự đề nghị [19]
Rời rạc hóa dữ liệu bằng phương pháp xấp xỉ gộp ký hiệu hóa mở rộng
(Extended SAX) do Lkhagva cộng sự đề nghị [19] trên tập dữ liệu đã được thu giảm số chiều ở trên
Chọn hàm tính độ tương tự trong không gian thu giảm là MINDIST_ESAX do Lkhagva cộng sự đề nghị [19] trên tập dữ liệu đã được thu giảm số chiều mở rộng và rời rạc hoá dữ liệu mở rộng
Áp dụng phép biến đổi ESAX, xây dựng giải thuật Random Projection cải tiến để phát hiện motif trên dữ liệu chuỗi thời gian sau khi đã thu giảm số chiều mở rộng EPAA
Thử nghiệm phương pháp đề xuất trên cho nhiều tập dữ liệu khác nhau, dựa trên tiêu chí: số lần gọi hàm tính độ đo tương tự, thời gian thực thi và độ chính xác của giải thuật thông qua khoảng cách Euclid trung bình giữa các thể hiện motif tìm được
So sánh kết quả đạt được từ giải thuật Random Projection cải tiến trên tập dữ liệu đã thu giảm số chiều mở rộng EPAA và rời rạc hoá dữ liệu mở rộng ESAX với giải thuật chiếu ngẫu nhiên (Random Projection Algorithm) trên tập dữ liệu đã thu giảm số chiều PAA và rời rạc hoá dữ liệu SAX.
Những kết quả đạt được
Trong giới hạn thời gian làm luận văn, chúng tôi đã hiện thực hệ thống phát hiện motif dữ liệu chuỗi thời gian, gồm 4 phần chính: phần tiền xử lý dữ liệu, phần rời rạc hoá chuỗi dữ liệu chuỗi thời gian, phần cấu trúc dữ liệu và phần các giải thuật phát hiện motif
Trong phần thứ nhất, dữ liệu gốc sau khi đã được chuẩn hoá và qua phép biến đổi thu giảm số chiều PAA, qua phép biến đổi thu giảm số chiều mở rộng EPAA chúng tôi trích ra các chuỗi con từ tập dữ liệu tập dữ liệu đã được thu giảm đó và tạo thành tập dữ liệu các chuỗi con
Trong phần thứ hai, chúng tôi hiện thực hai phương pháp rời rạc hóa dữ liệu chuỗi thời gian là SAX và ESAX tử tập dữ liệu đã thu giảm số chiều PAA và thu giảm số chiều mở rộng EPAA
Phần thứ ba, chúng tôi tạo các cấu trúc dữ liệu tương ứng với từng phương pháp rời rạc hóa dữ liệu chuỗi thời gian
Phần cuối cùng là các giải thuật dùng để phát hiện motif , chúng tôi hiện thực giải thuật Random Projection trên phép biến đổi SAX, giải thuật Random Projection trên phép biến đổi ESAX để phát hiện motif
Hệ thống của chúng tôi chạy thực nghiệm với các thông số khác nhau cho từng loại dữ liệu khác nhau để đánh giá, so sánh độ hiệu quả giữa giải thuật chiếu ngẫu nhiên với phép biến đổi SAX và phép biến đổi ESAX để áp dụng vào bài toán phát hiện motif Qua thực nghiệm, chúng tôi thấy giải thuật Random Projection trên phép biến đổi ESAX cho kết quả motif chính xác hơn giải thuật Random Projection trên phép biến đổi SAX) với thời gian thực thi tương đương Như vậy, hệ thống của chúng tôi đã đáp ứng những yêu cầu và nhiệm vụ của đề tài.
Cấu trúc của luận văn
Chương 2, trình bày tổng quan các khái niệm cơ bản về dữ liệu thời gian, các công trình liên quan về các hàm tính độ tương tự, các phương pháp thu giảm số chiều, các phương pháp rời rạc hóa dữ liệu chuỗi thời gian, các cấu trúc chỉ mục phổ biến
Chương 3, làm rõ cơ sở lý thuyết nền tảng của các phương pháp biểu diễn và các giải thuật được chọn sau khi khảo sát các công trình có liên quan ở chương 2 Cụ thể, những giải thuật tìm kiếm chuỗi con motif được chọn như giải thuật Random
Projection trên phép biến đổi SAX và giải thuật Random Projection trên phép biến đổi ESAX để phát hiện motif
Chương 4, giới thiệu hệ thống hiện thực hóa phương pháp giải quyết vấn đề cho đề tài
Chương 5, các kết quả thực nghiệm được công bố và so sánh và chạy thực nghiệm hệ thống trên các tập dữ liệu khác nhau
Chương 6, một số kết luận và hướng mở rộng của đề tài.
CƠ SỞ LÝ THUYẾT
Một số khái niệm cơ bản
Dữ liệu chuỗi thời gian là một tổ hợp tuần tự của những mẫu dữ liệu đo đạc được một cách liên tục theo thời gian Một mẫu dữ liệu chuỗi thời gian có thể là một giá trị đơn (là một con số thực), thì ta gọi là chuỗi thời gian một kênh (single- chanel time series) hoặc có thể là một véctơ các giá trị (véc tơ những con số thực), thì được gọi là chuỗi thời gian nhiều kênh (multi-chanel time series) Dữ liệu chuỗi thời gian một kênh ta có thể thấy trong dữ liệu chứng khoán, dữ liệu điện tim đồ, dữ liệu năng lượng Dữ liệu nhiều kênh ta thể thấy trong dữ liệu (motion capture) ghi nhận nhiều góc độ khác nhau của một hành động Trong luận văn này chúng tôi chỉ làm việc trên dữ liệu một kênh, đồng thời giả sử rằng tất cả những mẫu giá trị được đo đạc liên tục tại các thời khoảng bằng nhau
Cho một dữ liệu chuỗi thời gian T có chiều dài là n, một chuỗi con C ( Hình
2.1) trong T có chiều dài w là một mẫu của những giá trị liên tục được trích từ T vậy C = t p ,….,t p+w-1 với 1 ≤ p ≤ n – w + 1
Hình 2.1 Một minh hoạ về chuỗi con
2.1.2 Cửa sổ trượt (Slide window)
Cho một dữ liệu chuỗi thời gian T có chiều dài n, một cửa sổ có kích thước w do người dùng định nghĩa (thường w
2R, với mọi 1 ≤ i ≤ k (Hình 2.3B là minh họa) Định nghĩa này muốn nhấn mạnh rằng các chuỗi con trong tập các motif phải tách biệt nhau Điều này rất quan trọng vì nếu như hai motif mà có những chuỗi con chung thì nó nên được xem là một motif (Hình 2.3A là minh họa)
Hình 2.3 Khoảng cách hai motif < 2R (A); Khoảng cách hai motif > 2R (B) ([9])
Các công trình về độ đo tương tự
Trong các bài toán về dữ liệu chuỗi thời gian, việc tính mức độ tương tự giữa hai chuỗi con đóng vai trò rất quan trọng Khi so sánh hai chuỗi con có tương tự với nhau hay không ta phải dùng một phương pháp để tính mức độ tương tự giữa chúng gọi là hàm khoảng cách Nếu như khoảng cách giữa hai chuỗi con bằng không, ta nói hai chuỗi con là giống hệt nhau Nếu như khoảng cách giữa hai chuỗi con càng lớn (càng xa) thì mức độ khác biệt của hai chuỗi con càng cao Phương pháp tính độ đo trong luận văn này chỉ đề cập những phương pháp tính độ đo trên hai chuỗi con có chiều dài bằng nhau
Hầu hết các công trình đều dựa trên độ đo khoảng cách này Khoảng cách Minkowski được định nghĩa như sau: p n i p i i y x Y)
Tuy p có thể có nhiều giá trị khác nhau nhưng trong các nghiên cứu p thường nhận
Trong luận văn này chúng tôi sẽ sử dụng độ đo Euclid Một số ưu điểm và nhược điểm của phương pháp này:
- Quá trình tính toán đơn giản và dễ dàng
- Phù hợp khi sử dụng các biến đổi DFT, DWT, PAA, APCA, SAX (các phương pháp biến đổi này sẽ được trình bày bên dưới của chương)
- Không hiệu quả với dữ liệu được đo ở nhiều thang đo khác nhau
2.2.2 Độ đo xoắn thời gian động (Dynamic Time Warping- DTW)
Phương pháp DTW do Berndt và các cộng sự đề ra năm 1994 [2] Việc so trùng 2 đườ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) như phương pháp Minkowski 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.4a), 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 2 đường thì kết quả rất khác nhau và kết quả cuối cùng có thể không như mong muốn Để khắc phục, 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 (Hình 2.4b) Phương pháp này gọi là xoắn thời gian động [2] Để tìm DTW của S = s 1 , s 2 ,…,s n và T = t 1 , t 2 ,…,t m , ta sắp xếp 2 chuỗi thời gian này lên mặt phẳng lưới n x m, trong đó mỗi điểm lưới (i ,j) tương ứng với một sự ánh xạ giữa s i và t j Đường đi xoắn W, ánh xạ các thành phần của S và T, để
“khoảng cách” giữa chúng là nhỏ nhất
Trong đó w k tương ứng với điểm (i, j) k như trong Hình 2.5 bên dưới
Có rất nhiều cách tính khoảng cách giữa 2 thành phần s i và t j , có thể tính theo một trong hai cách sau: δ(i, j) = |s i – t j | δ(i, j) = (s i – t j ) 2
, như vậy DTW(S, T) = min w [ ] Để giới hạn không gian tìm kiếm đường đi xoắn, những ràng buộc sau phải được thỏa mãn:
Tính đơn điệu (monotonicity): những điểm ánh xạ phải có thứ tự theo thời gian, tức là i k-1 ≤ i k và j k-1 ≤ j k
Tính liên tục (continuity): những bước chuyển trên lưới chỉ giới hạn ở những điểm lân cận, i k – i k-1 ≤ 1 và j k – j k-1 ≤ 1
Cửa sổ xoắn (warping window): những điểm cho phép ánh xạ phải nằm trong cửa sổ xoắn cho trước, tức là |i k – j k | ≤ ω, trong đó ω là chiều rộng của cửa sổ xoắn (số nguyên dương) (Hình 2.5)
Ngoài ra, còn một số ràng buộc khác cần thỏa mãn để việc tìm kiếm có hiệu quả và nhanh hơn ta có thể tìm kiếm đường đi xoắn theo giải thuật quy hoạch động, dựa trên công thức truy hồi định nghĩa khoảng cách tích lũy λ(i, j), của mỗi điểm λ(i, j) = δ(i, j) + min[λ(i-1, j), λ(i-1, j-1), λ(i, j-1)] Ưu điểm:
Cho kết quả chính xác hơn độ đo Euclid
Cho phép nhận dạng mẫu có hình dạng giống nhau nhưng chiều dài hình dạng về thời gian có thể khác nhau
Nhược điểm: Thời gian chạy lâu Một số ràng buộc được đề ra để tăng tốc độ tìm kiếm ([2])
(a) Tính theo khoảng cách Euclid (b) Tính theo khoảng cách DTW Hình 2.4 Minh hoạ sự khác nhau giữa hai độ đo Euclide và DTW ([13])
Hình 2.5 Một ví dụ đường xoắn ([2])
Các công trình về biểu diễn chuỗi thời gian
Vì dữ liệu chuỗi thời gian là rất lớn, không thể xử lý trong bộ nhớ chính mà phải tốn nhiều lần truy cập đĩa ngoài, chi phí truy cập đĩa ngoài là rất đáng kể so với chi phí tính toán, thường gây ra hiện tượng thắt cổ chai khi thực hiện các nhiệm vụ khai phá dữ liệu Do đó, nhiều phương pháp xấp xỉ chuỗi thời gian được đề xuất để có thể dễ dàng xử lý trong bộ nhớ chính và giảm thiểu số lần truy cập đĩa ngoài
Những phương pháp này thường được gọi là những kỹ thuật thu giảm số chiều
(dimensionality reduction) Một số phương pháp vừa thu giảm số chiều vừa rời rạc hóa dữ liệu chuỗi thời gian được gọi là phương pháp rời rạc hóa (discretization) và phương pháp tổng quát để thu giảm số chiều có thể tóm tắt như sau:
Thiết lập một độ đo tương tự d (hay còn gọi là hàm tính khoảng cách, thường dùng là hàm tính khoảng cách Euclid)
Thiết kế một kỹ thuật thu giảm số chiều để rút trích một đặc trưng có chiều dài k (tức là một đặc trưng gồm k giá trị), với k có thể được xử lý một cách hữu hiệu nhờ một cấu trúc chỉ mục không gian (đa chiều)
Cung cấp một độ đo tương tự d k trên không gian đặc trưng k chiều trên và chứng tỏ rằng nó thỏa điều kiện chặn dưới sau: d k (X’, Y’) ≤ d(X, Y) Điều kiện chặn dưới như trên có nghĩa là hàm khoảng cách tính trên không gian đặc trưng (hay không gian thu giảm) của hai chuỗi thời gian đã được biến đổi
X’, Y’ từ hai chuỗi ban đầu X, Y phải chặn dưới khoảng cách thật của chúng trên không gian nguyên thủy, điều này đảm bảo không xảy ra false dismissal (những đối tượng thỏa điều kiện nhưng bị bỏ sót)
Sau đây là một số phương pháp biểu diễn cụ thể
2.3.1 Phép biến đổi Fourier rời rạc DFT
Phương pháp DFT, do Agrawal và các cộng sự đề nghị năm 1993 [6], biến đổi từ domain thời gian sang domain tần số Sau đó, lập chỉ mục trên một vài tần số đầu tiên, loại bỏ những tần số còn lại dựa trên nhận xét rằng năng lượng của hầu hết các chuỗi thời gian trong thực tế đều tập trung ở một vài tần số đầu tiên [6]
Chuỗi biến đổi X f (f = 0,…,n-1) của chuỗi X t (t = 0,…,n-1) được định nghĩa như sau:
X f là các số phức Hàm tính độ tương tự được đề nghị cho phương pháp này là độ đo Euclid Phương pháp lập chỉ mục đề nghị như F-Index [6], ST-index [1]
Hình 2.6 Các dạng biểu diễn phổ biến nhất cho khai phá dữ liệu chuỗi thời gian
Thu giảm số chiều của dữ liệu gốc
Bảo toàn khoảng cách Euclid sau khi biến đổi dựa vào định lý Parseval [6] và do đó thỏa mãn điều kiện chặn dưới của khoảng cách thực của dữ liệu gốc
Độ phức tạp tính toán O(nlogn) cho phương pháp Fast Fourier Transform (một cải tiến của DFT)
Chỉ áp dụng được với các loại dữ liệu có năng lượng tập trung ở một vài tần số đầu tiên (được định nghĩa là pink noise, brown noise) trong khi sẽ thiếu sót thông tin quan trọng đối với các loại dữ liệu có năng lượng phân bố đều (white noise) hoặc năng lượng tập trung ở các tần số cuối (blue noise, violet noise) [14]
Tính toán phức tạp vì domain thu giảm là các số phức
Không tận dụng được các giải thuật và cấu trúc dữ liệu cho dạng ký tự và bit
Khó giải quyết khi các chuỗi thời gian có chiều dài khác nhau
2.3.2 Phép biến đổi Wavelet rời rạc DWT
Phương pháp DWT, do Chan và Fu đề nghị năm 1999 [15], biểu diễn chuỗi thời gian thành các đường cơ bản khác nhau như: Haar [5], Daubechies, Coiflet, Symmlet [15] Tuy đường Haar không hiệu quả bằng các đường còn lại, nhưng nó được sử dụng khá phổ biến bởi dễ tính toán và đủ tốt cho bài toán khai phá dữ liệu chuỗi thời gian
Ví dụ cho một chuỗi X = (9 7 3 5) Biến đổi Haar Wavelet của chuỗi này như sau: Độ phân giải Trung Bình Hệ số
Như vậy, chuỗi biến đổi của X là X’ = (6 2 1 -1) Để thu giảm số chiều ta chỉ sử dụng một vài hệ số đầu Hàm tính độ tương tự đề nghị là hàm khoảng cách Euclid Cấu trúc chỉ mục là R-tree [5] Ưu điểm:
Khoảng cách Euclid sau phép biến đổi là một chặn dưới của khoảng cách
Euclid của dữ liệu gốc
Giảm số lượng false alarm (số đối tượng không thỏa điều kiện nhưng được phân loại là thỏa) nhờ khoảng cách được tính trên các độ phân giải khác nhau (các hệ số ở các độ phân giải), không như phương pháp DFT chỉ tính trên độ phân giải duy nhất là các hệ số tần số
Độ phức tạp là O(n), nhanh hơn so với Fast Fourier Transform
Chiều dài chuỗi thời gian phải là một số lũy thừa 2 (giống phương pháp Fast Fourier Transform)
2.3.3 Phép xấp xỉ gộp từng đoạn PAA
Phương pháp PAA, do Keogh và các cộng sự đề xuất năm 2001[3], tuần tự xấp xỉ k giá trị liền kề nhau thành một giá trị, là giá trị trung bình cộng của k giá trị đó Quá trình bắt đầu từ đầu chuỗi thời gian đến cuối chuỗi Kết quả của phép biến đổi là đường thẳng có dạng bậc thang (Hình 2.7) Cho (với j = 1,…,n) là một chuỗi dữ liệu thời gian sẽ được thu giảm về một chuỗi con
( với i = 1,…,w), biết rằng w là số chiều thu giảm của nó được tính theo công thức sau:
Hình 2.7 Phương pháp biểu diễn PAA với n = 128, w=8 ([4])
Phương pháp PAA rất trực quan và đơn giản trong tính toán nhưng nó đã được chứng minh là rất hữu hiệu, thích hợp và hỗ trợ các phương pháp tính khoảng cách khác như: khoảng cách Euclid, DTW, Minkowski Ngoài ra, một phương pháp đo khoảng cách được đề xuất như sau trên không gian thu giảm số chiều sau khi qua phép biến đổi PAA:
Trong đó là hai chuỗi biến đổi xấp xỉ của hai chuỗi dữ liệu thời gian Phương pháp này không phụ thuộc vào cấu trúc chỉ mục cụ thể nào, có thể sử dụng F-index, R-tree… Ưu điểm:
Thời gian tính toán nhanh và dễ dàng
Hỗ trợ câu truy vấn có chiều dài khác nhau
Hàm khoảng cách được đề nghị có giá trị chặn dưới chặt so với dữ liệu gốc
TỔNG THUẬT CÁC CÔNG TRÌNH LIÊN QUAN
Phát hiện 1-Motif dựa vào giải thuật Brute Force
Giải thuật phát hiện Motif chân phương (Brute Force) (bảng 3) 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 toán cũng là O(m 2 ) với m là số chuỗi con trong tập dữ liệu
Với dữ liệu có kích thước lớn, số chuỗ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 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 quá trình tính toá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
Algorithm Find-1-Motif-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;
Bảng 3.1 Giải thuật Brute Force phát hiện 1- Motif [9]
Phát hiện Motif dựa vào giải thuật Random Projecttion
Do những hạn chế của các giải thuật khai phá motif chính xác, nhiều công trình nghiên cứu khai phá motif xấp xỉ đã được biết đến vì tính hiệu quả của nó Các giải thuật khai phá 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 [10] được biết như là một giải thuật rất hiệu quả trong khai Ý 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 chuỗ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 (Hình 3.1)
Hình 3.1 Bảng chứa tất cả các chuỗi con từ cửa sổ trượt
Từ bảng (Hình 3.1) ta chiếu ngẫu nhiên lên hai cột bất kì và sau đó băm (hash) các giá của nó trị trên từng hàng của hai cột được chiếu vào các thùng băm (bucket) Kiểm tra các thùng băm đó nếu có hai chuỗi con bất kì thuộc cùng một thùng băm thì ta cập nhật giá trị vào ô tương ứng của ma trận vuông Quá trình này được lặp lại i lần (i do người dùng định nghĩa) trên các cột chiếu khác nhau (Hình 3.2) Sau đó chọn ô có giá trị lớn nhất trên ma trận , chỉ số mà ta nhận được dựa vào hàng và cột tương ứng với ô này chính là chỉ số của motif ứng viên Trong (Hình 3.3) bên dưới đây với i = 2 thì ta có hai ứng viên motif là hai chuỗi con 1 và 58
Ta thấy chuỗi con ứng viên được chọn từ ma trận xung đột chưa chắc là 1- Motif vì giá trị chứa trong ma trận phụ thuộc vào quá trình chiếu ngẫu nhiên Do đó motif tìm được là motif xấp xỉ
Giải thuật cần m 2 (với m là số chuỗi con) các số nguyên cho ma trận xung đột
Khi dữ liệu kích thước lớn m tăng nhanh thì không gian lưu trữ là rất lớn nên không khả thi
Trong mỗi lần lặp, tại mỗi lần lặp chi phí để tổ chức cấu trúc dữ liệu bảng băm và cập nhật ma trận xung đột là ((f * m) + ((m/f) 2 /2)) với f là số khóa trung bình trong bảng băm Do đó nếu i lớn chi phí này sẽ tăng đáng kể
Chi phí duyệt qua ma trận xung đột để tìm motif ứng viên là (m 2 /2)
Hình 3.2 Minh họa việc chiếu ngẫu nhiên lên cột 1 và 2, cập nhật vào
Hình 3.3 Minh họa việc chiếu ngẫu nhiên lên cột 2 và 4, cập nhật vào
Kết luận
Dựa trên các công trình nghiên cứu trên, chúng tôi nhận thấy mỗi công trình nhiên với ý tưởng tìm kiếm nhanh và cho kết quả motif xấp xỉ thì giải thuật Random Projection dựa vào kỹ thuật băm là một lựa chọn, tuy nhiên do áp dụng trên phép biến đổi SAX nên kết quả có thể chưa chính xác do mất một số thông tin quan trọng và hàm tính độ đo khoảng cách MINDIST giữa các ký tự của hai chuỗi con sẽ cho kết quả không chặt so với dữ liệu gốc nên các chuỗi con motif không khớp chính xác với nhau Vì vậy khi áp dụng phép biến đổi ESAX vào giải thuật Random Projection ta sẽ cho kết quả motif chính xác hơn giải thuật Random Projection trên phép biến đổi SAX (do ESAX là phép biến đổi cho kết quả tìm kiếm chính xác hơn SAX [19]) với cùng thời gian thực thi Chúng tôi sẽ trình bày phương pháp phát hiện motif này ở chương 4.
PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ
Dùng cửa sổ trượt rút trích các chuỗi con
Các chuỗi con sẽ được rút trích bởi cửa sổ trượt trên tập dữ liệu gốc sau khi đã được chuẩn hoá dữ liệu.
Thu giảm số chiều mỗi chuỗi con theo phép biến đổi EPAA (xem 2.3.4)
Các chuỗi con sau khi được rút trích từ phần 4.1 sẽ được thu giảm số chiều theo hệ số PAA_Ratio cho trước theo phép biến đổi xấp xỉ gộp từng đoạn mở rộng (Extended PAA) Nếu PAA_Ratio = 1 thì ta có lại được không gian gốc nguyên thuỷ ban đầu, tuy nhiên như vậy thì giải thuật phát hiện motif sẽ rất chậm (do chúng ta phải làm việc trên không gian gốc nguyên thuỷ nên độ đo cần xét giữa các chuỗi con là Euclid)
Nếu dữ liệu đầu vào không có quá nhiều biến động, ta sẽ chọn hệ số PAA_Ratio càng lớn, dẫn đến số chiều sẽ càng thu giảm thì giải thuật phát hiện motif sẽ nhanh hơn rất nhiều do có thể thực hiện rời rạc hoá dữ liệu ESAX và dùng độ đo MINDIST trên hai chuỗi con đã được thu giảm số chiều và rời rạc hoá dữ liệu ESAX.
Rời rạc hoá dữ liệu mỗi chuỗi con theo phép biến đổi ESAX (xem 2.3.6)
Các chuỗi con sau khi qua phép biến đổi thu giảm số chiều mở rộng EPAA ở trên sẽ được rời rạc hoá dữ liệu và tạo ra các ký tự ESAX Mỗi ký tự ESAX trong các chuỗi con sẽ được biểu diễn bằng ba ký tự đã rời rạc hoá dựa vào bảng Breakpoint thông qua phép biến đổi ESAX (Extended SAX).
Xây dựng giải thuật Random Projection theo phép biến đổi ESAX
Như đã trình bày ở chương 3 Ý 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 chuỗi con bởi cửa sổ trượt sẽ được xử lý thu giảm số chiều EPAA (phần 4.2) và rời rạc ký hiệu hóa ESAX (phần 4.3), tất cả các chuỗi con sẽ lưu vào bảng (Hình 4.1) Tuy nhiên mỗi một điểm trong mỗi chuỗi con bây giờ là một biểu diễn ESAX (nghĩa là có ba ký tự rời rạc hoá dữ liệu bên trong một điểm biểu diễn ESAX của một chuỗi con)
Hình 4.1 Bảng chứa tất cả các chuỗi con rút trích từ cửa sổ trượt và sau đó xử lý rời rạc hoá dữ liệu ESAX
Từ bảng ta chiếu ngẫu nhiên lên hai cột bất kì và sau đó băm (hash) các giá của nó trị trên từng hàng của hai cột được chiếu vào các thùng băm (bucket) (mỗi một giá trị trên cột chiếu là một ESAX được biểu diễn bởi ba ký tự sau khi đã rời rạc hoá bằng phương pháp ESAX nên kết quả băm sẽ chặt và chính xác hơn so với việc chỉ so trùng một ký tự như phương pháp SAX) Kiểm tra các thùng băm đó nếu có hai chuỗi con bất kì thuộc cùng một thùng băm thì ta cập nhật giá trị vào ô tương ứng của ma trận xung đột vuông (Hình 4.1)
Quá trình này được lặp lại i lần (i do người dùng định nghĩa) trên các cột chiếu khác nhau (Hình 4.2) Sau đó, chọn ô có giá trị lớn nhất trên ma trận xung đột , chỉ số mà ta nhận được dựa vào hàng và cột tương ứng với ô này chính là chỉ số index vị trí của chuỗi con là motif ứng viên Trong (Hình 4.3) bên dưới đây với i = 2 thì ta có hai ứng viên motif là hai chuỗi con 1 và 58
Ta thấy các chuỗi con ứng viên được chọn từ ma trận xung đột chưa chắc là 1- motif vì giá trị chứa trong ma trận xung đột phụ thuộc vào quá trình chiếu ngẫu nhiên Do đó motif tìm được cũng là motif xấp xỉ
(nhưng các thể hiện motif tìm được bằng phép biến đổi ESAX sẽ chính xác hơn các thể hiện motif tìm được bằng phép biến đổi SAX)
Giải thuật cần m 2 (với m là số chuỗi con) các số nguyên cho ma trận xung đột
Cũng giống như phương pháp SAX, khi dữ liệu kích thước lớn m tăng nhanh thì không gian lưu trữ là rất lớn nên không khả thi
Trong mỗi lần lặp, tại mỗi lần lặp chi phí để tổ chức cấu trúc dữ liệu bảng băm và cập nhật ma trận xung đột là ((f * m) + ((m/f) 2 /2)) với f là số khóa trung bình trong bảng băm Do đó nếu i lớn chi phí này cũng sẽ tăng đáng kể
Chi phí duyệt qua ma trận xung đột để tìm motif ứng viên là (m 2 /2)
Hình 4.2 Minh họa việc chiếu ngẫu nhiên lên cột 1 và 2, cập nhật vào
Hình 4.3 Minh họa việc chiếu ngẫu nhiên lên cột 2 và 4, cập nhật vào
Từ ma trận xung đột , chúng tôi tiến hành xác nhận lại các ứng viên motif thông qua việc so trùng không tầm thường và độ đo MINDIST trên các ứng viên motif đó, do độ đo sử dụng là MINDIST trên hai chuỗi con có biểu diễn ESAX nên kết quả chặt hơn so với việc chỉ tính độ đo trên biểu diễn SAX nên kết quả motif nhận được sẽ chính xác hơn và phần hậu kiểm các ứng viên motif trên ma trận xung đột sẽ ít hơn, kết quả giải thuật phát hiện motif trên phép biến đổi ESAX sẽ chính xác hơn so với giải thuật Random Projection làm việc trên phép biến đổi SAX với thời gian thực thi tương đương
Trong hàm tính độ đo MINDIST trên hai chuỗi con được biểu diễn thông qua phép biến đổi ESAX, chúng tôi sử dụng kỹ thuật từ bỏ sớm của tác giả Nguyễn Thanh Sơn và Dương Tuấn Anh [20] nhằm làm giảm thời gian tính toán cho hàm khoảng cách trong phần hậu kiểm các ứng viên motif , được gọi là hàm
Dis_Early_Aban (vì độ đo giữa hai chuỗi con trên phép biến đổi ESAX cho kết quả gần với độ đo Euclid hơn so với độ đo giữa hai chuỗi con trên phép biến đổi SAX)
Tại thời điểm mà hàm MINDIST giữa hai chuỗi con trên phép biến đổi ESAX có giá trị lớn hơn Rmax thì ta có thể kết thúc sớm việc tính toán (nghĩa là không cần tính tiếp các điểm còn lại trong chuỗi con đó) và trả về kết quả cho hàm MINDIST mà không bỏ sót các trường hợp đúng Trên nền ý tưởng của hàm Dis_Early_Aban [20], chúng tôi hiện thực hàm MINDIST trên hai chuỗi con ESAX như sau:
DIS_EARLY_ABAN(x, y) sum = 0; bestsofar = Rmax * Rmax* n/k
For (i = 0; i < x.length and sum ≤ bestsofar; i++) sum = sum + dist(x i, y i ) * dist(x i, y i ) return square_root(sum) * square_root(n/k)
Trong đó n là số chiều của hai chuỗi con x, y gốc, k là số chiều mở rộng của hai chuỗi con x, y sau khi được biểu diễn bằng phép biến đổi ESAX Do lúc này k có giá trị gần bằng n hơn (so với trường hợp x, y khi chỉ biểu diễn bằng phép biến đổi SAX) nên hàm MINDIST giữa hai chuỗi con ESAX cho kết quả gần với độ đo Euclid hơn
Random Projection làm việc trên tập dữ liệu ESAX sẽ cho kết quả chính xác (vì độ đo chặt hơn và tìm kiếm chính xác hơn, được kiểm tra thông qua khoảng cách Euclid trung bình giữa các thể hiện motif tìm được) nhưng vẫn còn tuỳ thuộc vào tập dữ liệu đầu vào và số lần random lấy cột chiếu ngẫu nhiên như ở phương pháp
SAX Kết quả motif nhận được từ giải thuật đề xuất trên tập dữ liệu ESAX cho kết quả chính xác hơn giải thuật Random Projection làm việc trên tập dữ liệu SAX với thời gian thực thi tương đương.
THỰC NGHIỆM
Thực nghiệm các giải thuật đã hiện thực trên tập dữ liệu
Trong phần này chúng tôi sẽ chạy thực nghiệm chương trình lần lượt trên các tập dữ liệu chuỗi thời gian sau: dữ liệu điện tim đồ (ECG), dữ liệu điện não đồ (EEG), dữ liệu MEMORY, dữ liệu năng lượng (POWER), dữ liệu chứng khoán (STOCK).Trên mỗi tập dữ liệu chúng tôi chạy tuần tự các giải thuật theo thứ tự: giải thuật chiếu ngẫu nhiên (RP) trên phép biến đổi SAX, giải thuật chiếu ngẫu nhiên (RP) trên phép biến đổi ESAX Các thành phần giao diện chính của chương trình minh hoạ như trong (Hình 5.1) và các chú thích chi tiết trong bảng bên dưới (Bảng 4).
Hình 5.1 Giao diện chương trình 1
1 Nút lệnh đọc dữ liệu từ file txt hoặc file dat và chuẩn hóa dữ liệu
2 Tên của file dữ liệu đầu vào
3 Kích thước của chuỗi dữ liệu gốc
4 Chọn hệ số thu giảm paa_ratio cho PAA và EPAA (paa_ratio = n/w)
5 Chọn số ký tự sử dụng rời rạc hóa dữ liệu cho SAX và ESAX (a)
6 Số chuỗi con sau khi rút trích và đã rời rạc hóa PAA_SAX/EPAA_ESAX
7 Nút lệnh thực hiện thu giảm số chiều và rời rạc hóa (SAX_ESAX) trên các chuỗi con rút trích từ tập dữ liệu gốc
8 Kích thước của cửa sổ trượt w (chiều dài của chuỗi con sau khi đã rời rạc hoá SAX_ESAX)
9 Ngưỡng (bán kính) Rmax tìm ra motif
10 Nút lệnh thực thi khai phá ( motif ) tùy vào giải thuật được chọn
11 Thời gian thực thi của quá trình khai phá motif
12 Cửa sổ hiển thị trực quan biểu diễn chuỗi dữ liệu gốc
13 Số lần gọi hàm khoảng cách MINDIST theo phép biến đổi SAX và ESAX
14 Bảng hiển thị trực quan các biểu diễn của các thể hiện motif (nếu có)
15 Thông số tùy chọn: Số lần lặp i trong chiếu ngẫu nhiên (RP)
16 Chiều dài chuỗi con gốc (n= paa_ratio*w)
17 Khoảng cách Euclid trung bình giữa các chuỗi con motif tìm được
Bảng 5.1 Chú thích các chức năng trong giao diện chương trình
Các thông số đầu vào của các giải thuật phát hiện motif được thiết lập trong bảng 5 sau:
THÔNG SỐ ECG EEG ERP MEMORY POWER STOCK
PAA_Ratio 16 10 16 16 15 20 a(Alphabetsize) 6 6 6 6 6 8 w(cửa sổ trượt) 25 25 20 20 45 20
Ngưỡng Rmax 0.1 0.1 0.1 0.1 0.1 0.1 i(số lần lặp) default default default default default default
Bảng 5.2 Thông số đầu vào cho tập dữ liệu dùng trong thực nghiệm Để đánh giá độ chính xác của motif được phát hiện bởi giải thuật chúng tôi căn cứ vào khoảng cách Euclid trung bình giữa các thể hiện của motif , cách tính này được thực hiện như sau:
Lấy ngẫu nhiên một thể hiện motif tìm được làm phần tử đại diện
Sau đó tính khoảng cách Euclid trung bình giữa các thể hiện motif còn lại đối với phần tử motif đại diện
Khoảng cách trung bình này càng nhỏ thì kết quả motif càng tốt, nghĩa là các thể hiện motif tìm được càng chính xác
5.1.1 Dữ liệu điện tâm đồ (ECG) 7.000 điểm a Giải thuật RP trên SAX cho kết quả như trong Hình 5.2
Hình 5.2 Kết quả của giải thuật RP_SAX của dữ liệu ECG 7.000 điểm b Giải thuật RP trên ESAX cho kết quả như trong Hình 5.3
Hình 5.3 Kết quả của giải thuật RP_ESAX của dữ liệu ECG 7.000 điểm
5.1.2 Dữ liệu điện tâm đồ (ECG) 10.000 điểm a Giải thuật RP trên SAX cho kết quả như trong Hình 5.4
Hình 5.4 Kết quả của giải thuật RP_SAX của dữ liệu ECG 10.000 điểm b Giải thuật RP trên ESAX cho kết quả như trong Hình 5.5
Hình 5.5 Kết quả của giải thuật RP_ESAX của dữ liệu ECG 10.000 điểm
5.1.3 Dữ liệu điện não đồ (EEG) 12.137 điểm a Giải thuật RP trên SAX cho kết quả như trong Hình 5.6
Hình 5.6 Kết quả của giải thuật RP_SAX của dữ liệu EEG 12.137 điểm b Giải thuật RP trên ESAX cho kết quả như trong Hình 5.7
Hình 5.7 Kết quả của giải thuật RP_ESAX của dữ liệu EEG 12.137 điểm
5.1.4 Dữ liệu doanh nghiệp (ERP) 10.120 điểm a Giải thuật RP trên SAX cho kết quả như trong Hình 5.8
Hình 5.8 Kết quả của giải thuật RP_SAX của dữ liệu ERP 10.120 điểm b Giải thuật RP trên ESAX cho kết quả như trong Hình 5.9
Hình 5.9 Kết quả của giải thuật RP_ESAX của dữ liệu ERP 10.120 điểm
5.1.5 Dữ liệu MEMORY 12.000 điểm a Giải thuật RP trên SAX cho kết quả như trong Hình 5.10
Hình 5.10 Kết quả của giải thuật RP_ SAX của dữ liệu MEMORY 12.000 điểm b Giải thuật RP trên ESAX cho kết quả như trong Hình 5.11
Hình 5.11 Kết quả của giải thuật RP_ESAX của dữ liệu MEMORY 12.000 điểm
5.1.6 Dữ liệu năng lượng (POWER) 12.000 điểm a Giải thuật RP trên SAX cho kết quả như trong Hình 5.12
Hình 5.12 Kết quả của giải thuật RP_SAX của dữ liệu POWER 12.000 điểm b Giải thuật RP trên ESAX cho kết quả như trong Hình 5.13
Hình 5.13 Kết quả của giải thuật RP_ESAX của dữ liệu POWER 12.000 điểm
5.1.7 Dữ liệu chứng khoán (STOCK) 5.056 điểm a Giải thuật RP trên SAX cho kết quả như trong Hình 5.14
Hình 5.14 Kết quả của giải thuật RP_SAX của dữ liệu STOCK 5.056 điểm b Giải thuật RP trên ESAX cho kết quả như trong Hình 5.15
Hình 5.15 Kết quả của giải thuật RP_ESAX của dữ liệu STOCK 5.056 điểm
So sánh các giải thuật dựa trên kết quả thực nghiệm
Số lần gọi hàm khoảng cách
Khoảng cách Euclid trung bình giữa các thể hiện của motif
Bảng 5.3 Bảng so sánh kết quả giải thuật RP_SAX và giải thuật RP_ESAX dựa trên kết quả thực nghiệm
Hình 5.16 Biểu đồ so sánh thời gian chạy của giải thuật Random Projection trên
ESAX và giải thuật Random Projection trên SAX
Hình 5.17 Biểu đồ so sánh số lần gọi hàm khoảng cách của giải thuật Random Projection trên ESAX và giải thuật Random Projection trên SAX
Hình 5.18 Biểu đồ so sánh khoảng cách Euclid trung bình giữa các thể hiện motif tìm được của giải thuật Random Projection trên ESAX và giải thuật Random
Nhận xét
Thông qua thực nghiệm, chúng tôi nhận thấy các thể hiện motif trong giải thuật
Random Projection trên phép biến đổi ESAX cho kết quả chính xác hơn giải thuật Random Projection trên phép biến đổi SAX (các thể hiện motif của
RP_ESAX khá tương tự với nhau hơn so với các thể hiện motif của RP_SAX thông qua khoảng cách Euclid trung bình giữa các thể hiện motif tìm được) Do phép biến đổi ESAX cho kết quả tìm kiếm chính xác hơn nên các thể hiện motif là chính xác dẫn đến sẽ có ít lần cập nhật trên ma trận xung đột và phần hậu kiểm so trùng không tầm thường và tính hàm khoảng cách ít các ứng viên motif hơn nên giảm thời gian cho phần gọi hàm khoảng cách
Trong hàm khoảng cách MINDIST trên phép biến đổi ESAX, chúng tôi còn sử dụng kỹ thuật từ bỏ sớm [20] giúp cho việc kết thúc nhanh quá trình tính toán hàm khoảng cách trên hai chuỗi con được biểu diễn ESAX
Kết quả là giải thuật Random Projection trên phép biến đổi ESAX phát hiện motif chính xác hơn giải thuật Random Projection trên phép biến đổi SAX với thời gian thực thi tương đương (trong điều kiện có cùng số lần lặp)
Với các tập dữ liệu KOSKI, EEG, ERP thì giải thuật Random Projection phát hiện motif trên phép biến đổi ESAX chính xác hơn so với giải thuật Random
Projection trên phép biến đổi SAX (thông qua độ đo khoảng cách Euclid trung bình giữa các thể hiện motif tìm được) Riêng với tập dữ liệu POWER, sự chênh lệch về độ hiệu quả của hai giải thuật không nhiều do sự chênh lệch giữa các giá trị trong hàm độ đo khoảng cách không nhiều và sự chênh lệch về các thể hiện motif cũng không nhiều Còn đối với tập dữ liệu STOCK thì kết quả motif được tìm thấy ở giải thuật RP trên ESAX chính xác và nhanh hơn so với giải thuật RP trên SAX vì hàm độ đo khoảng cách giữa các chuỗi con trong hai phép biểu diễn chênh lệch nhiều nên thu giảm được thời gian tính toán trong hàm MINDIST giữa hai chuỗi con ESAX
Như vậy, nhìn chung phương pháp rời rạc hóa ESAX cho kết quả motif chính xác hơn phương pháp rời rạc SAX khi áp dụng vào bài toán phát hiện motif nhưng nó vẫn ít nhiều phụ thuộc vào dữ liệu Do đó khi áp dụng ESAX cho một loại dữ liệu nào khác, ta phải tinh chỉnh thông số phù hợp với loại dữ liệu đó để ESAX có thể hoạt động một cách hiệu quả nhất.