CHƯƠNG 1: PHÁT BIỂU VẤN ĐỀ 1. 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.
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: 1 Định nghĩa 1: Chuỗi thời gian (Time Series) T = t1, t2… tm 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 ti 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 đó. 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.
2 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. Giải quyết bài toán với dữ liệu xấp xỉ trong bộ nhớ chính. 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. 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. 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.
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à: 3 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. Một minh hoạ chuỗi con motif Hình 1. Một minh hoạ chuỗi con bất thường 4 1.
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.
5 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 6 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.