Chương 1. GIỚI THIỆU ĐỀ TÀI 1. Dữ liệu chuỗi thời gian Dữ liệu chuỗi 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ác cách khác 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. Định nghĩa: Chuỗi thời gian (Time Series) T = <t1, t2, …tn> 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. Trong đề tài này, chúng ta chỉ xem xét với ti là các giá trị thực. Ví dụ chúng ta có chuỗi thời gian theo doanh thu hàng tháng của một tập đoàn như hình 1-1 bên dưới: X = <7.2, 13> 16 14 12 Doanh thu (tỷ VNĐ) 10 8 6 4 2 0 8/07 11/07 2/08 6/08 9/08 12/08 3/09 Tháng / Năm Hình 1 - 1.
Minh họa về dữ liệu chuỗi thời gian theo dõi doanh thu của một tập đoàn Nguyễn Huy Kha - 12070514 -1- Phát hiện bất thường trên dữ liệu chuỗi thời gian dựa vào điểm cực trị quan trọng 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 trê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. Đồ thị biểu diễn dữ liệu chuỗi thời gian điện tâm đồ (ECG) Hình 1-2 mô tả quá trình đo điện tâm đồ và được biểu diễn bằng đồ thị dữ liệu chuỗi thời gian ECG.
Một số vấn đề khi nghiên cứu dữ liệu chuỗi thời gian: - Khối lượng dữ liệu: Nguyễn Huy Kha - 12070514 -2- Phát hiện bất thường trên dữ liệu chuỗi thời gian dựa vào điểm cực trị quan trọng 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. Phát hiện bất thường trên dữ liệu chuỗi thời gian Một trong những vấn đề được quan tâm trong việc khai phá dữ liệu chuỗi thời gian là phát hiện bất thường (Anomaly Detection): cho một chuỗi thời gian Q, và một vài mô hình hành vi bình thường (normal behavior), tìm tất cả những phần thuộc Q có chứa bất thường, hay chứa những chuỗi con bất thường (những phần tử ngoại biên – outliers). Hình 1-3 bên dưới mô tả chuỗi con bất thường, được tô đậm, trong dữ liệu chuỗi thời gian điện tâm đồ ECG. Bằng việc quan sát biểu đồ, có thể nhận thấy sự khác biệt của chuỗi dữ liệu thời gian được tô đậm so với phần còn lại.
Việc tìm kiếm và nhận diện bất thường sẽ dựa trên những cơ sở lý thuyết được trình bày ở những phần tiếp theo trong đề tài. Minh họa bất thường của dữ liệu chuỗi thời gian điện tâm đồ ECG Nguyễn Huy Kha - 12070514 -3- Phát hiện bất thường trên dữ liệu chuỗi thời gian dựa vào điểm cực trị quan trọng Chúng ta sẽ xem xét định nghĩa chuỗi con bất thường dựa trên ý tưởng tìm kiếm tương tự (similarity search) do Keogh và các cộng sự đề xuất [7]. Định nghĩa 1: Khoảng cách (Distance): Dist là hàm tính khoảng cách của hai đối số C và M, có tính đối xứng, tức là Dist(C, M) = Dist(M, C). Định nghĩa 2: So trùng không-tầm-thường (Non-trivial Match): Cho một chuỗi thời gian T, chứa chuỗi con C chiều dài n bắt đầu ở vị trí p và chuỗi con so trùng M bắt đầu vị trí q, ta nói M và C là so trùng không-tầm-thường ở khoảng cách Dist(C, M) nếu |p-q| ≥ n.
Định nghĩa 3: Chuỗi con bất thường (Time Series Discord) Cho một chuỗi thời gian T, chuỗi con D chiều dài n bắt đầu ở vị trí l được gọi là chuỗi con bất thường của T nếu D có khoảng cách lớn nhất đến chuỗi con so trùng không-tầm-thường gần nhất của nó. Tức là, ∀ chuỗi con C của T, chuỗi con so trùng không-tầm-thường MD của D, và chuỗi con so trùng không-tầm-thường MC của C, min(Dist(D,MD)) > min(Dist(C,MC)). Định nghĩa 3 có ưu điểm là người dùng chỉ việc cung cấp một đối số duy nhất là chiều dài n của chuỗi con bất thường nhưng nhược điểm là nó không tận dụng được những giải thuật dựa trên mật độ phân bố, và các giải thuật chia nhỏ vấn đề như quy hoạch động, chia để trị, bottom-up,…do những nhận xét thu được ở [7]. Ngoài ra, để tìm kiếm chuỗi con bất thường theo định nghĩa này thì ta cần phải có một hàm tính khoảng cách (hay còn gọi là hàm tính độ đo tương tự) thích hợp.
Vì vậy, chúng tôi sẽ đưa ra hướng tiếp cận và giải quyết cho bài toán này với sự kết hợp: phương pháp nhận diện motif do Gruber và các cộng sự đưa ra năm 2006 [2] – dựa vào điểm cực trị quan trọng và phương pháp nhận diện bất thường dựa theo độ đo hệ-số-bất-thường-cục-bộ-theo-cụm (CBLDF) do He và các cộng sự đưa ra năm 2003 [6]: Nguyễn Huy Kha - 12070514 -4- Phát hiện bất thường trên dữ liệu chuỗi thời gian dựa vào điểm cực trị quan trọng - Trích lược các điểm cực trị quan trọng của chuỗi dữ liệu thời gian, từ đó chọn ra các ứng viên motif / chuỗi con bất thường. - Vận dụng phép biến hình vị tự (homothetic transformation) [1] (mục 3.3) để đồng nhất chiều dài các ứng viên. Sau đó chúng tôi sẽ rời rạc hóa các ứng viên theo phương pháp xấp xỉ gộp ký hiệu hóa SAX [4]. - Gom cụm tập các ứng viên bằng giải thuật gom cụm Squeezer – giải thuật hoạt động trên tập dữ liệu có thuộc tính rời rạc (categorical dataset) [6].
- Tính toán các giá trị hệ-số-bất-thường-cục-bộ-theo-cụm CBLDF cho mỗi ứng viên. Từ đó nhận diện chuỗi con bất thường (các phần tử ngoại biên) theo độ đo đánh giá [6]. Mục tiêu và giới hạn đề tài Mục tiêu chính của đề tài là nghiên cứu phương pháp phát hiện bất thường trên dữ liệu chuỗi thời gian. Đề tài dựa trên nghiên cứu của Gruber và các cộng sự kết hợp với nghiên cứu của He và các cộng sự.
Phương pháp này dựa vào ý tưởng phân đoạn những chuỗi dữ liệu thời gian nhờ vào những điểm cực trị quan trọng (mục 3.1), gom cụm các phân đoạn và tính toán độ đo bất thường các ứng viên (mục 3.5) để tìm ra chuỗi con bất thường của chuỗi dữ liệu thời gian đó. Kết quả thu được sẽ so sánh với giải thuật phát hiện bất thường HOT SAX [7] (mục 2.5) về hai phương diện: độ hữu hiệu (thời gian chạy), độ chính xác của giải thuật. Chúng tôi chọn HOT SAX bởi vì phương pháp này được sử dụng rộng rãi để so sánh với các giải thuật khác và có độ chính xác cao. Tóm lược những kết quả đạt được Trong giới hạn thời gian hiện thực, chúng tôi đã hiện thực chương trình tìm kiếm chuỗi con bất thường có sự kết hợp của nhiều phương pháp: nhận diện các ứng viên motif / chuỗi con bất thường, gom cụm dựa vào các điểm cực trị quan Nguyễn Huy Kha - 12070514 -5- Phát hiện bất thường trên dữ liệu chuỗi thời gian dựa vào điểm cực trị quan trọng trọng, rời rạc hóa dữ liệu SAX các ứng viên, gom cụm và tính toán hệ số đánh giá bất thường để nhận diện.
Chương trình 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ả so với giải thuật HOT SAX khi áp dụng vào bài toán tìm kiếm chuỗi con bất thường. Qua thực nghiệm chúng tôi thấy được những ưu điểm của cách tiếp cận mới: đem lại độ hiệu quả rõ rệt về thời gian tính toán và độ chính xác khả quan so với HOT SAX. Như vậy, chương trình đã đáp ứng những yêu cầu và nhiệm vụ của đề tài. Cấu trúc luận văn - Chương 2 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.
Đồng thời chúng tôi cũng giới thiệu về phương pháp phát hiện motif trên dữ liệu chuỗi thời gian, giải thuật phát hiện bất thường HOT SAX và các giải thuật liên quan. - Chương 3 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 đề tài bao gồm: định nghĩa các điểm cực trị quan trọng, phương pháp xác định các ứng viên motif / chuỗi con bất thường do Gruber và cộng sự giới thiệu, phép biến hình vị tự được áp dụng trên các ứng viên để đồng nhất chiều dài, 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 SAX, phương pháp FindCBLDF để tìm kiếm và đánh giá bất thường trên dữ liệu chuỗi thời gian. - Chương 4 chúng tôi tiến hành thực nghiệm hệ thống phát hiện bất thường trên các tập dữ liệu khác nhau. So sánh kết quả thu được với giải thuật HOT SAX về thời gian chạy, độ chính xác trong kết quả tìm được.
- Chương 5 là một số kết luận và hướng mở rộng của đề tài.