Trong phần này chúng ta sẽ tập trung vào giải thuật k-means để gom cụm trên các dãy xu hướng Ứng dụng việc dùng các dãy xu hướng đặc trưng vào hổ trợ việc gom cụm dữ liệu chuỗi thời g
PHÁT BIỂU VẤN ĐỀ
Dữ liệu chuỗi thời gian
Chuỗi dữ liệu thời gian hay chuỗi thời gian là sự quan sát các dữ liệu theo thời gian tuần tự Đối với loại dữ liệu này, cấu trúc dữ liệu có thể là hai hay nhiều chiều trong đó có chiều thời gian, tức là dữ liệu được theo dõi và ghi lại tại một thời điểm nhất định Tuy nhiên trong hầu hết các ứng dụng thực tế, dữ liệu được đo cách nhau trong một khoảng thời gian cố định nên để đơn giản hóa quá trình lưu trữ cũng như độ phức tạp của dữ liệu, người ta chỉ lưu lại thứ tự các giá trị dữ liệu theo một trình tự thời gian nhất định có dạng X= trong đó x i là dữ liệu được đo ở thời điểm thứ i
Ví dụ ta có chuỗi thời gian theo dõi quá trình đo nhiệt độ như sau:
Hình 1.1: Minh họa về dữ liệu chuỗi thời gian theo dõi quá trình đo nhiệt độ
Trong các úng dụng thực tế, có rất nhiều loại dữ liệu chuỗi thời gian như sự theo dõi biến đổi giá của chứng khoán, dữ liệu đo điện tim đồ, dữ liệu theo dõi mực nước sông hay là sự ghi lại việc truy cập các trang web của người dùng Thông thường, các loại dữ liệu chuỗi thời gian này là rất lớn, được đo và lưu trữ lại trong một khoảng thời gian dài cho nên việc lưu trữ và khai phá dữ liệu này thường tốn kém chi phí thời gian Do đó việc sử dụng các công cụ khai phá dữ liệu này được áp dụng trên nền máy tính đã thu hút sự quan tâm, nghiên cứu và ứng dụng trong rất nhiều các lĩnh vực trong những năm gần đây
Hình 1.2: Đường biễu diễn dữ liệu chuỗi thời gian
Một số vấn đề khi nghiên cứu chuỗi thời gian:
Một trong những đặc trưng của chuỗi thời gian là dữ liệu rất lớn Ví dụ khi đo đạc dữ liệu điện tâm đồ trong 1 giờ khoảng 1 Gigabyte Đây là một trong những vấn đề thách thức trong quá trình phân tích, tính toán và xử lý dữ liệu chuỗi thời gian trong việc tạo ra kết quả được chính xác trong thời gian hợp lý
Phụ thuộc yếu tố chủ quan
Trong thực tế, các kết quả dữ liệu chuỗi thời gian thu được chịu ảnh hưởng yếu tố chủ quan của người đo dữ liệu, điều kiện và các công cụ đo…
Dữ liệu không đồng nhất
Quá trình thu thập dữ liệu chuỗi thời gian được đo trên những định dạng khác nhau, số lượng và tần số lấy mẫu không đồng nhất cũng ảnh hưởng đến tính toàn vẹn của dữ liệu Thêm vào đó quá trình đo đạc không chính xác do nhiễu, thiếu một vài giá trị hay dữ liệu không sạch.
Bài toán gom cụm dữ liệu chuỗi thời gian
Bài toán gom cụm dữ liệu (clustering) là một trong những công tác khai phá dữ liệu chuỗi thời gian rất phổ biến hiện nay Ý tưởng của phương pháp này là sắp xếp các giá trị của dữ liệu có liên quan với nhau thuộc về một nhóm cụ thể mang đặc trưng chung của nhóm Một trong những kỹ thuật gom cụm dữ liệu phổ biến hiện này là dùng giải thuật k-means Ý tưởng của thuật toán k-means là cho trước một số nguyên k với k là số cụm cần gom Đầu tiên, ta chọn ngẫu nhiên k giá trị trong không gian dữ liệu làm trung tâm cụm ban đầu, sau đó ta duyệt qua tất cả các đối tượng của tập dữ liệu, dựa vào hàm tính khoảng cách để đưa giá trị dữ liệu tương ứng về cụm gần nó nhất Sau khi duyệt qua tập dữ liệu này, ta tính lại trung tâm cụm, quá trình này cứ tiếp diễn cho đến khi trung tâm cụm không thay đổi theo một tiêu chuẩn đánh giá cụ thể Khi đó giải thuật k-means sẽ dừng
Trong một số ứng dụng thực tế có nhu cầu gom cụm để đưa ra đánh giá dữ liệu Ví dụ gom các loại dữ liệu chứng khoán Việt Nam mà có độ tương tự nhau, tìm những con sông trong một vùng có mực nước lên xuống giống nhau…
Bằng phương pháp phổ biến trên, ta sẽ có được các cụm dữ liệu được gom tương ứng Tuy nhiên, khi áp dụng gom cụm trên chuỗi thời gian gặp phải hai nhược điểm sau: o Dữ liệu chuỗi thời gian có đặc điểm là rất lớn nên việc gom cụm dữ liệu bằng phương pháp trên sẽ tốn chi phí thời gian và tài nguyên o Việc gom cụm dữ liệu chuỗi thời gian là chọn ngẫu nhiên các trung tâm cụm ban đầu dẫn đến quá trình thực hiện gom cụm xảy ra không được hiệu quả về mặt thời gian vì có thể làm tăng quá trình tính toán trung tâm cụm
Hướng giải quyết Để khắc phục nhược điểm đầu tiên trong hai nhược điểm khi gom cụm chuỗi thời gian như trên, chúng ta có thể vận dụng dùng các dãy xu hướng đại diện dữ liệu chuỗi thời gian vào việc hỗ trợ gọm cụm dữ liệu chuỗi thời gian, bao gồm các bước sau:
Chuyển đổi các chuỗi thời gian thành các dãy xu hướng (trend sequence):
Từ các các chuỗi thời gian riêng biệt ta biến đổi thành các dãy xu hướng đặc trưng cho từng dữ liệu chuỗi thời gian này
Gom cụm trên các dãy xu hướng này : Thực hiện gom cụm trên các dãy xu hướng đại diện tương ứng với các chuỗi thời gian này bằng giải thuật k- means.
Mục tiêu và giới hạn của đề tài
Mục tiêu nghiên cứu đề tài trên cơ sở dữ liệu chuỗi thời gian tập trung vào hai vấn đề chính:
Nghiên cứu phương pháp chuyển đổi dữ liệu chuỗi thời gian thành dãy xu hướng
Trong cơ sở dữ liệu chuỗi thời gian, dữ liệu thường rất lớn Vì vậy, việc chuyển đổi thành các dãy xu hướng đặc trưng cho dữ liệu chuỗi thời gian và gom cụm trên các dãy xu hướng đại diện này sẽ giúp cho quá trình gom cụm xảy ra nhanh hơn và có độ tương tự cao hơn Trong phần này chúng ta sẽ tập trung vào giải thuật k-means để gom cụm trên các dãy xu hướng
Ứng dụng việc dùng các dãy xu hướng đặc trưng vào hổ trợ việc gom cụm dữ liệu chuỗi thời gian để làm cho giải thuật gom cụm trên dữ liệu chuỗi thời gian ban đầu trở nên hiệu quả hơn
Sau khi chuyển đổi thành các dãy xu hướng đại diện chuỗi thời gian, áp dụng giải thuật k-means để gom cụm trên các dãy xu hướng này Sau đó lấy kết quả gom cụm này chuyển thành kết quả gom cụm của tập dữ liệu chuỗi thời gian này
Quá trình gom cụm dựa vào xu hướng đã giúp cho quá trình gom cụm dữ liệu được thực hiện cho ra kết quả nhanh hơn và chính xác hơn quá trình gom cụm trên tập dữ liệu ban đầu sử dụng giải thuật k-means Tuy nhiên trong quá trình thực hiện luận văn này cũng gặp phải một số giới hạn như sau:
Việc chuyển đổi thành dãy xu hướng là tốn kém thời gian và cần dùng kỹ thuật bitmap các chỉ số xu hướng của dãy xu hướng
Do giới hạn về thời gian nghiên cứu cho nên quá trình thực nghiệm chỉ đo đạc trên hai tập dữ liệu Heterogeneous và Chứng Khoán tham khảo được lấy từ nguồn The VCR Time Series Data Mining Archive [23].
Tóm lược những kết quả đạt được
Với việc tập trung vào mục đích chính của luận văn trong suốt quá trình thực hiện và thử nghiệm chúng tôi thu được các kết quả như sau:
Quá trình gom cụm trên tập dữ liệu chuỗi thời gian dựa vào kết quả gom cụm dựa trên xu hướng có thời gian thực hiện nhanh hơn gom cụm trực tiếp trên tập dữ liệu ban đầu sử dụng giải thuật k-means và chất lượng gom cụm cao hơn
Quá trình gom cụm trên tập dữ liệu chuỗi thời gian dựa vào kết quả gom cụm dựa trên các dãy xu hướng đại diện có độ ổn định tốt hơn gom cụm trực tiếp trên tập dữ liệu ban đầu sử dụng giải thuật k-means
Độ chính xác quá trình gom cụm trên tập dữ liệu chuỗi thời gian dựa vào kết quả gom cụm dựa trên các dãy xu hướng đại diện tốt hơn gom cụm trực tiếp trên cả tập dữ liệu chuỗi thời gian ban đầu và trên tập dữ liệu chuỗi thời gian sau khi thu giảm số chiều sử dụng giải thuật k-means
Độ chính xác quá trình gom cụm trên tập dữ liệu chuỗi thời gian ban đầu và trên tập dữ liệu chuỗi thời gian sau khi thu giảm số chiều dựa vào kết quả gom cụm trên các dãy xu hướng là tương đương như nhau
Số vòng lặp gom cụm quá trình gom cụm trên tập dữ liệu chuỗi thời gian dựa vào kết quả gom cụm trên các dãy xu hướng là ổn định hơn số vòng lặp gom cụm trực tiếp trên tập dữ liệu ban đầu sử dụng giải thuật k-means.
Cấu trúc của luận văn
Dựa theo hướng nghiên cứu chính của luận văn, chúng tôi tổ chức luận văn bao gồm những phần chính sau:
Chương II chúng tôi sẽ giới thiệu qua các công trình liên quan đến luận văn bao gồm giới thiệu về các phương pháp về độ đo tương tự giữa hai chuỗi thời gian, các phương pháp về thu giảm số chiều trên chuỗi thời gian ban đầu, cách tiếp cận về các phương pháp rời rạc hóa dữ liệu Đặc biệt chúng tôi tập trung vào các phương pháp gom cụm dữ liệu nói chung và cụ thể là gom cụm trên tập dữ liệu chuỗi thời gian Ngoài ra chúng tôi cũng tập trung công trình liên quan đến gom cụm dựa trên xu hướng đại diện các chuỗi dữ liệu thời gian
Chương III chúng tôi sẽ tập trung vào cơ sở lý thuyết và phương pháp giải quyết vấn đề của luận văn bao gồm các phương pháp biến đổi chuỗi thời gian thành dãy xu hướng và kỹ thuật bitmap của gom cụm dữ liệu chuỗi thời gian thông qua các dãy xu hướng đại diện Trong chương này chúng tôi cũng tập trung vào cách tiếp cận bitmap để gom cụm dựa trên xu hướng được Jong P Yoon, Yixin Luo và Junghyun Nam đề xuất vào năm 2001 [1]
Chương IV chúng tôi thực hiện hiện thực hệ thống gom cụm tập dữ liệu chuỗi thời gian dựa vào kết quả gom cụm trên các dãy xu hướng đại diện và so sánh thời gian chạy, số vòng lặp gom cụm cũng như độ ổn định hệ thống so với quá trình gom cụm trên tập dữ liệu chuỗi thời gian ban đầu có thu giảm số chiếu Trong chương này cũng thực nghiệm và đo đạc độ chính xác kết quả gom cụm của việc gom cụm trên tập dữ liệu chuỗi thời gian dựa vào kết quả gom cụm trên các dãy xu hướng đại diện
Chương V là một số kết luận sau khi thực hiện đề tài.
TỔNG QUAN CÁC CÔNG TRÌNH LIÊN QUAN
Độ đo tương tự
Trong các hầu hết các bài toán về chuỗi thời gian, bài toán tìm độ tương tự là một trong những bài toán quan trọng nhất Cho hai đối tượng O 1 và O 2 , khoảng cách giữa hai đối tượng này sẽ bằng 0 thì chúng được xem là giống nhau Nếu khoảng cách giữa chúng nhỏ hơn một giá trị r cho trước thì chúng được xem là tương tự nhau Gọi D(X, Y) là khoảng cách giữa hai đối tượng X và Y, ta có các tính chất sau: a) D(X, Y) = 0 nếu và chỉ nếu X=Y b) D(X, Y) = D(Y, X) c) D(X, Y) >=0 với X, Y d) D(X, Y) < D(X, Z) + D (Z, Y)
Trong dữ liệu chuỗi thời gian, việc tính khoảng cách giữa hai chuỗi dữ liệu thời gian X và Y sau khi thu giảm số chiều thành X f và Y f phải đảm bảo tính chất
Cho hai chuỗi thời gian X và Y có dạng X= và Y= Độ tương tự giữa X và Y ký hiệu là Sim(X, Y) Sau đây là một số phương pháp dùng để xác định độ tương tự giữa hai chuỗi thời gian
2.1.1 Độ đo Minkowski Độ đo tương tự giữa hai chuỗi thời gian X và Y được xác định bằng công thức Minkowski như sau:
Với, a) p = 1: Độ đo Manhatan b) p = 2: Độ đo Euclid c) p = 3: Độ đo Max Ưu điểm
Có khả năng mở rộng cho nhiều bài toán khác như gom cụm và phân loại (classification) dữ liệu… và phù hợp với các phép biến đổi thu giảm số chiều như: DFT [7], DTW [4], PAA [9] [22]…
Không thích hợp khi dữ liệu có đường cơ bản khác nhau (Hình 2.1 minh họa cho trường hợp này)
Không thích hợp với dữ liệu có biên độ giao động khác nhau (Hình 2.2 minh họa cho trường hợp này)
Chuẩn hóa dữ liệu chuỗi thời gian trước khi áp dụng so trùng mẫu trên dữ liệu dựa trên giá trị trung bình và độ lệch chuẩn X ’ = X - mean(X) hay X ’ = (X- mean(X))/Var(X) [6]
Áp dụng tính độ tương tự có sửa đổi dựa trên khoảng cách Euclid [4] như sau:
Hình 2.1: Minh họa hình dạng dữ liệu chuỗi thời gian có hai đường giống nhau, nhưng đường cơ bản khác nhau
Hình 2.2: Minh họa hình dạng dữ liệu chuỗi thời gian có hai đường giống nhau nhưng biên độ giao động khác nhau
2.1.2 Độ đo xoắn thời gian động
Trong trường hợp so trùng giữa hai chuỗi thời gian X và Y Đường biểu diễn của chúng rất giống nhau nhưng chúng lệch nhau về thời gian Nếu trong trường hợp này ta so sánh phần tử thứ i của hai chuỗi thời gian sẽ cho ra kết quả không mong muốn Để giải quyết vấn đề này ta có thể dùng phương pháp ánh xạ một điểm đến nhiều điểm Phương pháp này được gọi là phương pháp xoắn thời gian động (Dynamic Time Warping - DTW) [3] Hình 2.3 minh họa cho hai phương pháp tính khoảng cách Euclid và DTW
Hình 2.3: (a) Tính khoảng cách dựa vào phương pháp Euclid, (b) Tính khoảng cách dựa vào phương pháp DTW
Cách tính khoảng cách dựa vào phương pháp DTW Độ đo xoắn thời gian động (DTW) là tổng quát hóa các giải thuật cơ bản để so sánh dãy rời rạc và dãy liên tục Cho hai chuỗi thời gian, Q = q 1 , q 2 , …, q i , …, q n và R = r 1 , r 2 , …, r i , …, r m , DTW sắp xếp hai chuỗi sao cho sự khác biệt của chúng nhỏ nhất Cuối cùng chúng ta sẽ có ma trận n × m mỗi phần tử là khoảng cách d(q i , r j ) giữa hai điểm q i và r j Khoảng cách Euclid thường được sử dụng Đường đi xoắn,
W = w 1 , w 2 , …, w k , …, w K mà max(m, n) ≤ K ≤ m + n – 1, là tập các phần tử ma trận thỏa ba ràng buộc:
Điều kiện biên: đường xoắn bắt đầu và kết thúc ở hai ô góc chéo đối diện của ma trận Nghĩa là w 1=(1, 1) và w K =(m, n)
Sự liên tục: giới hạn các bước đi cho phép đến các ô kề
Sự đơn điệu: ép buộc các điểm trong đường đi xoắn … Đường đi xoắn có khoảng cách nhỏ nhất giữa hai chuỗi:
Qui hoạch động có thể sử dụng hiệu quả để tìm ra đường đi này bằng cách tính truy hồi như sau Khoảng cách tích lũy là tổng khoảng cách phần tử hiện tại và khoảng cách tích lũy nhỏ nhất của các phần tử kề:
Hình 2.4 minh họa cho cách tính khoảng cách này
Hình 2.4: Minh họa cách tính khoảng cách theo DTW Ưu điểm
Phương pháp DTW phù hợp cho việc xác định độ tương tự giữa hai chuỗi thời gian có hình dạng giống nhau nhưng chiều dài hình dạng về mặt thời gian khác nhau
Cho kết quả chính xác hơn phương pháp tính khoảng cách bằng 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 hay các bài toán gom cụm …
Nhược điểm lớn nhất của phương pháp tính khoảng cách DTW 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 đó người ta thay đổi thông số w