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ệ
GIỚI THIỆU ĐỀ TÀI
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 = 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 t i 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:
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
Do an h t hu ( tỷ VNĐ)
Nguyễn Huy Kha - 12070514 -2- 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
Hình 1 - 2 Đồ 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:
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
Hình 1 - 3 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 -4- 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 (chi tiết ở phần sau của đề tài)
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 -5- - 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.4 và 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 -6- 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
TỔNG THUẬT CÁC CÔNG TRÌNH LIÊN QUAN
Độ đo tương tự
Trong 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 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ì khoảng cách giữa chúng 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 mọi X,Y d) D(X,Y) < D(X,Z) + D(Z,Y)
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:
Nguyễn Huy Kha - 12070514 -8- b) p = 2: Độ đo Euclid c) p = 3: Độ đo Max Ưu điểm: o Tính toán dễ dàng o Có khả năng mở rộng cho nhiều bài toán khác như gom cụm
(clustering) 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ư: PAA [3], DFT [10], DWT [11]…
Nhược điểm: o Nhạy cảm với nhiễu o Không thích hợp khi dữ liệu có đường cơ bản khác nhau (hình 2-1) o Không thích hợp với dữ liệu có biên độ dao động khác nhau (hình 2-
Phương pháp khắc phục: o 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) [8] o Áp dụng phương pháp trung bình di chuyển để làm trơn các đường biểu diễn chuỗi thời gian nghĩa là giá trị của chuỗi thời gian tại thời điểm i được tính như sau:
𝑗=−𝑘 o Áp dụng độ đo tương tự có sửa đổi dựa trên khoảng cách Euclid 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 độ dao độ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
Nguyễn Huy Kha - 12070514 -10- 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) [9]
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 DWT
Hình 2-3.a và 2-3.b minh họa cho chúng ta cách tính khoảng cách dựa vào phương pháp Euclid và DTW của hai chuỗi dữ liệu thời gian Rõ ràng cách tính ở hình 2-3.b giúp chúng ta loại bỏ được độ lệch pha của hai chuỗi dữ liệu thời gian
Cách tính khoảng cách dựa vào phương pháp DTW
Cho hai chuỗi thời gian X và Y và một thông số khung w gọi là khung cửa sổ xoắn (warping window) với điều kiện là hai điểm i và j có thể ánh xạ với nhau nếu |i - j| ≤ w Dữ liệu ra là tổng khoảng cách của các điểm được ánh xạ với nhau
Cách tính đơn giản DTW là xây dựng một ma trận D mxn với m=|X| và n=|Y|.Khi đó D ij = d(x i , y i ) Từ ma trận D ta duyệt qua ma trận từ ô (0, 0) đến ô
(m, n) thỏa mãn ràng buộc sau: o Không được đi qua trái hay đi xuống o Đường đi phải liên tục o Ô tại vị trí (i, j) thuộc đường đi phải thỏa |i – j| ≤ w
Nguyễn Huy Kha - 12070514 -11- o Giả sử có K ô đi từ ô (0,0) đến ô (m,n) thỏa mãn những điều kiện trên, khi đó: 𝐷𝑇𝑊(𝑄, 𝐶) = 𝑚𝑖𝑛{√∑ 𝑤 𝑘
Hình 2-4 minh họa phương pháp tính khoảng cách theo DTW
Hình 2 - 4 Minh họa cách tính khoảng cách theo DWT
Ngoài ra, có thể dùng qui hoạch động để giải quyết bài toán này Ta có thể áp dụng công thức truy hồi tuyến tính để tính D(i, j)
D(i, j) = |x i +y i | + min {D(i-1, j),D(i-1, j-1),D(i, j-1)} Ưu điểm: o 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 o 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 (classification) hay các bài toán gom cụm (clustering)…
Nguyễn Huy Kha - 12070514 -12- o 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 best_so_far_dist best_so_far_dist = nearest_neighbor_dist best_so_far_loc = p
Return [best_so_far_dist, best_so_far_loc]
Bảng 2 - 1 Mã giả giải thuật BFDD (nguồn [7])
Giải thuật tìm khoảng cách đến lân cận gần nhất của từng chuỗi con, rồi so sánh chúng với nhau để tìm ra chuỗi con bất thường nhất Độ phức tạp giải thuật là O(n 2 )
2.5.2 Giải thuật HDD (Heuristic Discord Discovery)
Giải thuật HDD là giải thuật phát hiện chuỗi con bất thường dựa vào kinh nghiệm Giải thuật này là một cải tiến của giải thuật BFDD dựa trên những nhận xét sau đây: o Ở vòng lặp trong, ta không cần thiết phải tìm ra lân cận gần nhất thật sự cho chuỗi con đang xét ở vòng lặp ngoài Ngay khi ta tìm được một chuỗi con có khoảng cách gần với chuỗi đang xét hơn giá trị biến best_ so_far_dist thì ta có thể loại chuỗi đang xét
Function [dist, loc] = Heuristic_Search(T, n, Outer, Inner) best_so_far_dist = 0 best_so_far_loc = NaN
For Each p In T ordered by heuristic Outer //Begin Outer Loop nearest_neighbor_dist = infinity
For Each q In T ordered by heuristic Inner //Begin Inner Loop IF |p – q| ≥ n //non-trivial match?
IF Dist(t p …,t p+n–1 , t q …,t q+n–1 ) < best_so_far_dist
Break //Break out of Inner Loop End
IF Dist(t p …,t p+n–1 , t q …,t q+n–1 ) < nearest_neighbor_dist nearest_neighbor_dist = Dist(t p …,t p+n-1 , t q …,t q+n-1 )
End End //End non-trivial match test
IF nearest_neighbor_dist > best_so_far_dist
18 19 20 21 22 best_so_far_dist = nearest_neighbor_dist best_so_far_loc = p
Return [best_so_far_dist, best_so_far_loc]
Bảng 2 - 2 Mã giả giải thuật HDD (nguồn [7]) o Độ hiệu quả của giải thuật BFDD phụ thuộc vào thứ tự duyệt của vòng lặp ngoài và thứ tự duyệt của vòng lặp trong để tìm ra một chuỗi cho phép kết thúc sớm vòng lặp trong
Do đó, nếu có một thứ tự duyệt nào đó cho vòng lặp ngoài (dòng số 5 của bảng 2-1) thì giá trị của biến best_so_far_dist là đủ lớn để điều kiện dòng số 14 luôn sai, và một thứ tự duyệt nào đó cho vòng lặp trong (dòng số 7 của bảng 2- 1) thì giá trị của biến nearest_neighbor_dist là đủ nhỏ để điều kiện dòng số 8 luôn thất bại Và do đó, giảm chi phí kiểm tra cho một số chuỗi con không cần thiết Những thứ tự duyệt như vậy được gọi là heuristic vòng lặp ngoài (outer heuristic) và heuristic vòng lặp trong (inner heuristic)
Mã giả của giải thuật HDD được trình bày ở bảng 2-2 Trong đó heuristic vòng lặp ngoài và heuristic vòng lặp trong được xây dựng trước, sau đó truyền cho giải thuật HDD (dòng 5 và dòng 7) Nếu tìm thấy chuỗi con vị trí q ở vòng lặp trong có khoảng cách đến chuỗi con đang xét vị trí p ở vòng lặp ngoài nhỏ hơn giá trị best_so_far_dist thì ta có thể kết thúc sớm vòng lặp trong (dòng 9- 10) Phần còn lại của giải thuật HDD tương tự như giải thuật BFDD
2.5.3 Giải thuật HOT SAX Để có được heuristic vòng lặp ngoài và heuristic vòng lặp trong, ta cần xây dựng cấu trúc dữ liệu cho các chuỗi con đã rời rạc hóa để tìm những chuỗi con có khả năng gần giống nhau trong không gian nguyên thủy (nhằm tìm lân cận đủ gần cho chuỗi con nào đó), vì những chuỗi con có chuỗi ký tự biểu diễn giống nhau thì chúng có khả năng giống nhau trong không gian nguyên thủy
Giải thuật HOT SAX (Hot Symbolic Aggregate approXimation) [7] ứng dụng phương pháp rời rạc hóa SAX vào giải thuật HDD Một cấu trúc dữ liệu đề nghị khi dùng phương pháp SAX được cho trong hình 2-13
Hai cấu trúc dữ liệu hỗ trợ cho heuristic vòng lặp ngoài và heuristic vòng lặp trong Bên trái, một dãy các từ SAX, cột cuối cùng chứa số lần xuất hiện của mỗi từ trong dãy Bên phải, một cây gia tố (Augmented Trie) có nút lá chứa những chỉ mục (vị trí) của từ SAX tương ứng trong dãy
Với chiều dài chuỗi con bất thường cho trước n, ta chọn 2 thông số, kích thước tập ký tự α và kích thước từ SAX (số chiều không gian thu giảm) w Hai giá trị thông số này chỉ ảnh hưởng đến độ hiệu quả của giải thuật, chứ không ảnh hưởng đến kết quả cuối cùng
Hình 2 - 13 Hai cấu trúc dữ liệu hỗ trợ cho heuristic vòng lặp ngoài và heuristic vòng lặp trong
Bên trái, một dãy các từ SAX, cột cuối cùng chứa số lần xuất hiện của mỗi từ trong dãy Bên phải, một cây gia tố (Augmented Trie) có nút lá chứa những chỉ mục (vị trí) của từ SAX tương ứng trong dãy (nguồn [7])
Ta tạo dạng biểu diễn SAX cho toàn bộ chuỗi thời gian T (chuỗi thời gian lớn ban đầu), bằng cách trượt một cửa sổ chiều dài n dọc theo chuỗi thời gian T, rút trích các chuỗi con, biến đổi các chuỗi con này sang dạng biểu diễn SAX, và thêm các từ SAX này vào một cấu trúc dãy, trong đó vị trí của từ SAX trong dãy cũng chính là vị trí của chuỗi con tương ứng trong chuỗi T ban đầu Số chuỗi con là (m - n + 1) với m là chiều dài chuỗi T
Khi tạo xong cấu trúc dãy, ta tiếp tục thêm lần lượt các từ SAX vào cây gia tố (Augmented Trie) trong đó nút lá chứa một danh sách liên kết các vị trí xuất hiện của từ SAX trong cấu trúc dãy Số lần xuất hiện của mỗi từ SAX được tính toán và thêm ngược trở lại vào cột ngoài cùng bên phải của cấu trúc dãy Độ phức tạp để tạo hai cấu trúc dữ liệu này tuyến tính với chiều dài của chuỗi T
Sau khi xây dựng 2 cấu trúc dữ liệu hỗ trợ, ta định nghĩa cách tạo heuristic vòng lặp ngoài và heuristic vòng lặp trong
Điểm cực trị quan trọng (Important Extreme Points)
Các tác giả Kevin B.Pratt và Eugene Fink đã đưa ra kỹ thuật nén một chuỗi dữ liệu dựa bằng cách chọn ra những điểm cực đại và cực tiểu, gọi chung là điểm cực trị quan trọng [5]
Hình 3 - 1 Điểm quan trọng với hệ số nén lần lượt là 91% và 94%
Trong dữ liệu chuỗi thời gian, ta có thể tìm thấy rất nhiều điểm cực trị Tuy nhiên, phương pháp này không phải chọn hết tất cả những điểm cực trị Nó loại bỏ những điểm cực trị dao động thất thường hay có thể là những điểm cực trị có biên độ dao động nhỏ bằng cách đưa ra một hệ số R R lớn đồng nghĩa với việc số điểm cực trị được quan tâm là ít đi và hệ số nén sẽ tăng lên Ngược lại, nếu chọn hệ số nén R nhỏ thì số điểm cực trị được chọn sẽ tăng lên Hình 3-1 mô tả sự trích lược các điểm cực trị của một chuỗi dữ liệu thời gian với hệ số nén lần lượt là 91% và 94%
Một điểm a m của chuỗi dữ liệu a 1 , a 2 … a n là điểm cực tiểu quan trọng nếu như tồn tại hai vị trí i, j thỏa các điều kiện sau xảy ra:
- a m là giá trị nhỏ nhất của a i , a i+1 , …, a j
Tương tự như định nghĩa điểm cực tiểu quan trọng, chúng ta cũng có định nghĩa điểm cực đại quan trọng như sau:
- a m là giá trị lớn nhất của a i , a i+1 , …, a j
Hình 3-2 mô tả về các điểm cực đại và cực tiểu quan trọng
Hình 3 - 2 Điểm cực đại và điểm cực tiểu quan trọng
Nguyễn Huy Kha - 12070514 -32- i = FIND_FIRST_TWO if i < n and a i > a 1 then i = FIND_MINIMUM(i) while i < n do i = FIND_MAXIMUM(i) i = FIND_MINIMUM(i)
FIND_FIRST_TWO | iMin = 1; iMax = 1 while i < n and a i = a i / a iMin < R and a iMax /a i < R do if a i < a iMin then iMin = i if a i > a iMax then iMax = i i = i + 1 if iMin < iMax then output (a iMin ; iMin); output (a iMax ; iMax) else output (a iMax ; iMax); output (a iMin ; iMin) return i
FIND_MINIMUM(i) | iMin = i while i < n and a i /a iMin < R do if a i < a iMin then iMin = i i = i + 1 output (a iMin ; iMin) return i
FIND_MAXIMUM(i) | iMax = i while i < n and a iMax /a i < R do if a i > a iMax then iMax = i i = i + 1 output (a iMax ; iMax) return i
Bảng 3 - 1 Giải thuật Find_First_Two tìm điểm cực trị quan trọng
Nguyễn Huy Kha - 12070514 -33- Dễ dàng thấy rằng giải thuật tìm những điểm cực đại và cực tiểu quan trọng hiện thực trong thời gian tuyến tính và bộ nhớ cần dùng là hằng số Thủ tục này chỉ xử lý những điểm mà nó xem xét, không cần lưu lại những giá trị trước đó, đồng thời cũng không cần phải đợi cho đến khi kết thúc chuỗi dữ liệu Hơn nữa nó rất hiệu quả trong việc xử lý những chuỗi dữ liệu thất thường (như dữ liệu chứng khoán)
Bảng 3-1 trình bày giải thuật giúp chúng ta tìm ra các điểm cực trị quan trọng của chuỗi dữ liệu thời gian A={a 1 ,a 2 … a n }
Giải thuật FIND_FIRST_TWO tìm ra hai điểm cực đại và cực tiểu quan trọng đầu tiên của chuỗi dữ liệu, FIND_MINIMUM(i) tìm điểm cực tiểu quan trọng bắt đầu ở vị trí thứ i, FIND_MAXIMUM(i) tìm điểm cực đại bắt đầu ở vị trí i.
Phương pháp phát hiện motif và chuỗi con bất thường dựa vào điểm cực trị
dựa vào điểm cực trị quan trọng
Bảng 3-2 trình bày giải thuật lấy ra các ứng viên motif / chuỗi con bất thường 1 function getMotifCandidateSequence (T)
5 for i = 1 to (length (EP)−2) do 6 motifCandidate = getSubsequence (T, epi,epi+2);
7 if length (motifCandidate)> maxLength then 8 addMotifCandidate (resample(motifCandidate, maxLength));
Bảng 3 - 2 Giải thuật lấy ra các ứng viên motif / chuỗi con bất thường
Nguyễn Huy Kha - 12070514 -34- Đầu tiên, phương pháp này sẽ trích lược các điểm cực trị quan trọng của chuỗi thời gian T, tạm gọi là EP(T) Motif ứng viên MC i (T) với i = 1,….l-2 là những chuỗi con của T nằm giữa hai điểm cực trị ep i và ep i+2 Tham số MAX_MOTIF_LENGTH do người dùng định nghĩa Khi chiều dài của ứng viên motif lớn hơn tham số này, motif sẽ được biến đổi để đồng nhất chiều dài bằng phép biến hình vị tự (Mục 3.3) ở dòng 8 (hàm resample) Kết quả của thuật toán là một chuỗi các ứng viên motif MCS(T) = (MC 1 (T), MC 2 (T) ….MC l-
2 (T)) của một chuỗi thời gian đơn biến T = (t 1 , t N ) với MC i (T) = (t epi ,… t epi+2 ), i = 1,… l-2
Phương pháp biến hình vị tự trên các ứng viên
Như đã trình bày ở trên, để tính độ tương tự giữa hai ứng viên, tác giả đã dùng phương pháp nội suy spline (spline interpolation technique) trên ứng viên có chiều dài lớn hơn để đồng nhất chiều dài hai motif Hơn nữa, việc tính độ tương tự với sẽ ảnh hưởng đến tốc độ chương trình vì quá phức tạp Ý tưởng chính của phương pháp nội suy spline để giảm số chiều với bậc I là lặp lại việc lấy trung điểm của hai điểm liên tiếp của chuỗi ban đầu cho đến khi được chiều dài mong muốn Phương pháp này có ưu điểm là dễ dàng thực hiện Tuy vậy, nhược điểm chính của phương pháp này là nếu chiều dài sau khi lấy mẫu quá lớn so với chiều dài ban đầu thì hình dạng sau lấy mẫu sẽ thay đổi đáng kể Hình 3-3, 3-4, 3-5 minh họa cho chúng ta điều này
Hình 3 - 3 Chuỗi dữ liệu ban đầu có chiều dài 470 điểm
Nguyễn Huy Kha - 12070514 -35- Chúng ta có thể thấy rằng với chuỗi dữ liệu có chiều dài 470 điểm, sau khi lấy mẫu lại bằng nội suy spline bậc I, hình dạng sẽ thay đổi đáng kể so với chuỗi dữ liệu ban đầu Đây là nhược điểm của phương pháp này
Hình 3-4, 3-5 cho chúng ta thấy sự thay đổi hình dạng đáng kể của phương pháp nội suy spline so với hình dạng ban đầu
Hình 3 – 4 Chuỗi dữ liệu sau khi lấy mẫu có chiều dài 400 dùng phương pháp nội suy spline bậc I
Hình 3 – 5 Chuỗi dữ liệu sau khi lấy mẫu có chiều dài 300 dùng phương pháp nội suy spline bậc I
Phần tiếp theo chúng tôi giới thiệu một phép lấy mẫu mới dùng phép biến hình vị tự Phép biến hình này sẽ bảo đảm được hình dạng của chuỗi dữ liệu ban đầu sau khi lấy mẫu
3.3.1 Khái niệm phép biến hình vị tự
Phép vị tự (Homothetic Transformation) là một phép biến hình trong không gian affine
Cho một điểm O và một số k ≠ 0 Một phép biến đổi điểm M thành M’ sao cho 𝑂𝑀′⃗⃗⃗⃗⃗⃗⃗⃗ = 𝑘 𝑂𝑀⃗⃗⃗⃗⃗⃗ được gọi là phép vị tự tâm O tỷ số k Hình 3-6 mô tả một phép vị tự tâm O với tỷ số vị tự k = 1/2 Qua phép vị tự này, tam giác MNP trở thành tam giác M’N’P’
Hình 3 - 6 Minh họa phép vị tự tâm O, hệ số vị tự k = 1/2 Đặc điểm của phép vị tự: Qua phép vị tự ta có: o Ảnh của 3 điểm thẳng là 3 điểm thẳng hàng o Ảnh của hình tròn là hình tròn với bán kính R’ = k.R o Ảnh của đoạn thẳng AB là đoạn thẳng A’B’ = k.AB Nói một cách khác, phép vị tự không bảo toàn về ‘kích thước’ nhưng lại bảo toàn về ‘hình dạng’ của đường cong ban đầu
Dựa vào đặc điểm nêu trên, chúng tôi đã ứng dụng phép vị tự để lấy mẫu lại các ứng viên motif / chuỗi con bất thường
3.3.2 Lấy mẫu các ứng viên bằng phép vị tự
Trong đề tài này chúng tôi thực hiện một phép biến hình vị tự trên tất cả các ứng viên Sau khi thực hiện phép biến hình này, mỗi ứng viên sẽ được đại diện bởi một chuỗi dữ liệu tương ứng Các chuỗi dữ liệu đại diện có cùng một chiều dài được cho bởi người dùng
Việc gom cụm các motif và chuỗi con bất thường sẽ được thực hiện trên các chuỗi dữ liệu đại diện này
Một vấn đề cần quan tâm là việc chọn tâm vị tự của ứng viên Để ý rằng các ứng viên sẽ bắt đầu từ điểm cực đại (hay cực tiểu) và kết thúc bằng điểm cực đại (hay cực tiểu) tiếp theo Như thế chúng ta sẽ dễ dàng tìm được hình chữ nhật bao quanh ứng viên này Tâm của phép vị tự sẽ là tâm của hình chữ nhật bao này Hệ số vị tự sẽ là tỷ số giữa chiều dài mong muốn với chiều dài thực của ứng viên
Giải thuật tìm các ứng viên đại diện bằng phép biến hình của ứng viên có chiều dài N: T={Y 1 … Y n } thành T’ có chiều dài N’
2 Tìm kiếm tâm I của phép biến hình vị tự: X_Center = N/2, Y_Center = (Y_Max + Y_min)/2
3 Thực hiện phép biến hình vị tự với tâm I, hệ số vị tự k=N’/N
Hình 3 - 7 Chuỗi dữ liệu sau khi lấy mẫu có chiều dài 150 điểm dùng phép vị tự
Hình 3 - 8 Chuỗi dữ liệu sau khi lấy mẫu có chiều dài 2000 điểm dùng phép vị tự
Từ các hình 3-3, 3-7 và 3-8 chúng ta thấy rằng phép biến đổi vị tự cho kết quả khả quan Hình dạng của chuỗi dữ liệu không bị biến dạng.
Phát hiện điểm ngoại biên cục bộ theo cụm
Phương pháp này được He và các cộng sự đề xuất năm 2003[6] Ý tưởng của phương pháp này là đưa ra một độ đo đánh giá, nhằm xác định mức độ bất thường của mỗi phần tử trong tập dữ liệu sau khi thực hiện phép gom cụm
Cùng với đó, công trình này đã đưa ra những định nghĩa mới và các đóng góp như sau:
- Khái niệm phần tử ngoại biên cục bộ theo cụm (cluster-based local outlier)
- Độ đo nhằm xác định khả năng là phần tử ngoại biên của một đối tượng CBLOF (cluster-based local outlier factor)
- Giải thuật hiệu quả trong việc khai phá các phần tử ngoại biên cục bộ theo cụm
Dựa vào tính hiệu quả và mở rộng của phương pháp He và cộng sự đem lại, chúng tôi vận dụng vào bài toán tìm kiếm và nhận diện chuỗi con bất thường trong dữ liệu chuỗi thời gian Để vận dụng được điều này, chúng tôi phải tìm kiếm các
Nguyễn Huy Kha - 12070514 -39- ứng viên chuỗi con bất thường, biến đổi cho phù hợp với phương pháp này và đưa ra hệ số độ đo chuỗi con bất thường cục bộ theo cụm (CBLDF – Cluster-based Local Discord Factor) để nhận diện
3.4.1 Điểm ngoại biên cục bộ theo cụm (cluster-based local outlier)
Phương pháp tìm kiếm điểm ngoại biên trong tập dữ liệu thông thường theo cách tiếp cận của He và các cộng sự dựa vào gom cụm Ý tưởng trên được mô tả với bài toán sau đây
Xét tập dữ liệu 2 chiều gồm 4 cụm C1, C2, C3, C4 như hình 3-9 bên dưới
Hình 3 - 9 Minh họa tập dữ liệu 2 chiều gồm 4 cụm
Bằng trực giác, dễ nhận thấy rằng những điểm dữ liệu trong các cụm C1 và C3 được xem như là các phần tử ngoại biên bởi vì chúng không thuộc vào các cụm nhiều phần tử hơn là C2 và C4 (những cụm lớn) Để làm rõ hơn tính ‘cục bộ’, những phần tử ngoại biên theo cụm phải thỏa mãn rằng chúng cục bộ với những cụm được xác định khác Chẳng hạn ở ví dụ trên, những điểm dữ liệu trong C1 thì cục bộ với cụm C2
Nhằm xác định ý nghĩa tự nhiên của việc xác định một phần tử ngoại biên, chúng ta đưa ra một độ đo ngoại biên cho mỗi đối tượng là CBLOF (Cluster-Based Local Outlier Factor) Giá trị CBLOF được tính toán dựa theo kích thước của cụm
Nguyễn Huy Kha - 12070514 -40- mà đối tượng này phụ thuộc và khoảng cách giữa đối tượng với cụm gần nhất của nó (nếu đối tượng nằm trong một cụm nhỏ)
Sau đây là những khái niệm quan trọng trước khi đi vào giải thuật nhằm xác định các cụm và độ đo cho mỗi đối tượng nhằm xác định phần tử ngoại biên, được trình bày chi tiết ở mục 3.4.2
Quy ước: |S| là kích thước của tập S chứa nhiều phần tử Định nghĩa 1: Cho A 1 , , A m là tập các thuộc tính với lần lượt các miền D 1 , , D m Cho tập dữ liệu D là tập gồm các mẫu dữ liệu t: t 𝜖 D 1 × × D m Kết quả của giải thuật gom cụm thực hiện trên tập D được ký hiệu: C = {C 1 , C 2 , , C k } trong đó C i ∩ C j = ∅ và C 1 ∪ C 2 ∪ ∪ C k = D Số cụm là k Định nghĩa 2: (cụm lớn và cụm nhỏ) Cho C = {C 1 , C 2 , , C k } là tập các cụm được sắp xếp theo thứ tự với |C 1 | ≥ |C 2 | ≥ ≥ |C k | Cho 2 tham số có giá trị 𝛼 và 𝛽 Định nghĩa b là biên giữa cụm lớn và cụm nhỏ nếu một trong các công thức sau thỏa mãn:
Vì vậy tập cụm lớn sẽ là LC (Large Cluster) với LC = {C i | i≤ 𝑏} và tập cụm nhỏ sẽ là SC (Small Cluster) với SC = {C j | j > b}
- Công thức (1) hiểu rằng hầu hết các điểm dữ liệu trong tập dữ liệu không phải là phần tử ngoại biên Vì thế những cụm nắm giữ phần lớn số lượng điểm dữ liệu được xem như là các cụm lớn Ví dụ: nếu cho 𝛼 có giá trị 90% có nghĩa rằng chúng ta muốn những cụm chứa 90% điểm dữ liệu là các cụm lớn
- Công thức (2) hiểu rằng các cụm lớn và các cụm nhỏ cần có sự khác nhau quan trọng về mặt kích thước Ví dụ: nếu cho 𝛽 có giá trị 5 có nghĩa rằng kích thước của bất kỳ cụm nào trong LC phải lớn ít nhất gấp 5 lần kích thức của cụm trong SC
Nguyễn Huy Kha - 12070514 -41- Định nghĩa 3: (hệ số ngoại biên cục bộ theo cụm) Cho C = {C 1 , C 2 , , C k } là tập các cụm được sắp xếp theo thứ tự với |C 1 | ≥ |C 2 | ≥ ≥ |C k | và các giá trị 𝛼, 𝛽, 𝑏, 𝐿𝐶, 𝑆𝐶 có ý nghĩa như trong định nghĩa 2 Với bất kỳ mẫu dữ liệu t, hệ số ngoại biên cục bộ theo cụm CBLOF của t được xác định như sau:
Theo định nghĩa này, giá trị CBLOF của một mẫu dữ liệu được xác định bởi kích thước cụm chứa nó và khoảng cách giữa nó với cụm gần nó nhất (nếu mẫu này thuộc cụm nhỏ) hoặc khoảng cách giữa nó với cụm chứa nó (nếu mẫu này thuộc cụm lớn)
3.4.2 Giải thuật phát hiện điểm ngoại biên cục bộ theo cụm
Với hệ số độ đo ngoại biên cục bộ theo cụm CBLOF, chúng ta có thể xác định được mức độ bất thường của một mẫu dữ liệu Tuy nhiên trước khi tính toán được giá trị CBLOF, chúng ta gần gom cụm tập dữ liệu
Cho A 1 , , A m là tập các thuộc tính rời rạc với lần lượt các miền D 1 , , D m
Cho tập dữ liệu D là tập gồm các mẫu dữ liệu t: t 𝜖 D 1 × × D m Cho TID là tập các định danh duy nhất cho mỗi mẫu dữ liệu Với mỗi tid 𝜖 TID, giá trị thuộc tính A i của mẫu là tid A i Định nghĩa 4: (Cụm - Cluster) Cluster ⊆ TID là tập con của TID Định nghĩa 5: Cho một cụm C, tập các giá trị thuộc tính khác nhau trên A i tại C là:
Nguyễn Huy Kha - 12070514 -42- Định nghĩa 6: Cho một cụm C, cho a i 𝜖 D i , độ hỗ trợ (support) của a i tại C trên A i là: Sup(a i ) = |{tid | tid A i = a i , tid𝜖 C}| Định nghĩa 7: Cho một cụm C, độ tổng hợp (summary) của C là:
Từ giải thuật FindCBLOF đến giải thuật phát hiện chuỗi con bất thường cục bộ theo cụm
chuỗi con bất thường cục bộ theo cụm
Bảng 3-5 trình bày mối liên hệ giữa khung thức mà He và các cộng sự thực hiện so với phương pháp của chúng tôi
Phát hiện các điểm ngoại biên
Phát hiện chuỗi con bất thường
FindCBLDF 1 Tập dữ liệu D (thuộc tính rời rạc)
2 Gom cụm (dùng Squeezer) 3 Tính hệ số bất thường 4 Xác định các phần tử ngoại biên
1.1 Phân đoạn chuỗi thời gian thành những phân đoạn 1.2 Đồng nhất chiều dài các phân đoạn 1.3 Rời rạc hóa các phân đoạn
2 Gom cụm (dùng Squeezer) 3 Tính hệ số bất thường 4 Xác định các chuỗi con bất thường
Bảng 3 - 5 So sánh khung thức giữa 2 phương pháp FindCBLOF và FindCBLDF
Nguyễn Huy Kha - 12070514 -46- Phương pháp thực hiện của chúng tôi sử dụng nhiều bước để đưa dữ liệu về dạng dữ liệu có thuộc tính rời rạc, sau đó vận dụng các bước của phương pháp [6] nhằm áp dụng cho loại dữ liệu đặc biệt – dữ liệu chuỗi thời gian
Hình 3-10 mô tả mô hình nhận diện chuỗi con bất thường theo cách tiếp cận của chúng tôi, dựa vào điểm cực trị quan trọng và độ đo bất thường cục bộ theo cụm
CBLDF Đầu tiên, phương pháp này sẽ tìm ra các điểm cực trị quan trọng Tiếp theo, chúng tôi đưa ra những ứng viên motif / chuỗi con bất thường dựa vào các điểm cực trị quan trọng đã tìm được
NHẬP TẬP DỮ LIỆU BAN ĐẦU
BƯỚC 1: TÌM CÁC ĐIỂM CỰC TRỊ QUAN TRỌNG VÀ CÁC ỨNG VIÊN MOTIF / CHUỖI CON BẤT THƯỜNG
BƯỚC 2: ĐỒNG NHẤT CHIỀU DÀI CÁC ỨNG VIÊN
BẰNG PHÉP BIẾN HÌNH VỊ TỰ VÀ RỜI RẠC HÓA CHÚNG DÙNG SAX
BƯỚC 3: TIẾN HÀNH GOM CỤM DÙNG GIẢI THUẬT SQUEEZER VÀ TÍNH TOÁN HỆ SỐ BẤT THƯỜNG CBLDF
BƯỚC 4: ỨNG VIÊN CÓ HỆ SỐ BẤT THƯỜNG LỚN NHẤT CHÍNH LÀ CHUỖI BẤT THƯỜNG CẦN TÌM
Nguyễn Huy Kha - 12070514 -47- Những ứng viên này sau đó được đồng nhất chiều dài bằng phương pháp biến hình vị tự và được rời rạc hóa thành các chuỗi ký tự con nhờ áp dụng phương pháp SAX
Mục đích này nhằm đưa dữ liệu về dạng dữ liệu có thuộc tính rời rạc, làm đầu vào thích hợp cho giải thuật ở những bước sau Sau đó, các ứng viên – các chuỗi ký tự con có cùng chiều dài – sẽ được đưa vào giải thuật gom cụm Squeezer để xác định các cụm lớn, bé Cuối cùng, mỗi ứng viên sẽ được tính toán hệ số bất thường cục bộ theo cụm CBLDF Độ đo này tương tự như độ đo điểm ngoại biên CBLOF đã nêu ở mục 3.4 Ứng viên có hệ số bất thường lớn nhất chính là chuỗi con bất thường cần tìm trong dữ liệu chuỗi thời gian ban đầu
Phương pháp này được chúng tôi đặt tên là phương pháp FindCBLDF
Các thông số của phương pháp này bao gồm:
- Hệ số nén R: Đây là hệ số cho phép chúng tôi quyết định hệ số nén Nếu R càng lớn thì số điểm cực trị được chọn càng ít và ngược lại
- Chiều dài lấy mẫu lại l_resample của các ứng viên motif / chuỗi con bất thường: Chiều dài của các ứng viên motif / chuỗi con bất thường qua phép vị tự sẽ được xác định bằng thông số này
- Chiều dài cực tiểu l_min của các ứng viên motif / chuỗi con bất thường: Nếu một ứng viên motif / chuỗi con bất thường có chiều dài nhỏ hơn l_min thì sẽ được bỏ qua
- Chiều dài w chuỗi con SAX: chiều dài chuỗi ký tự con sau khi ứng viên motif / chuỗi con bất thường được rời rạc hóa bằng phương pháp SAX
- Số lượng ký tự a chuỗi con SAX: số lượng ký tự trong một chuỗi con SAX
- Ngưỡng tương tự s: ngưỡng tương tự trong giải thuật Squeezer nhằm xác định việc gom cụm, mẫu ứng viên thuộc cụm nào,
- Tham số 𝛼: xác định tỷ số các điểm dữ liệu nằm trong cụm lớn
- Tham số 𝛽: sự khác nhau về mặt kích thước giữa cụm lớn và cụm nhỏ
Kết luận
Với cơ sở lý thuyết và phương pháp giải quyết nêu trên, chúng tôi hiện thực hệ thống để kiểm nghiệm kết quả theo cách tiếp cận đề xuất Dựa trên lý thuyết đạt được, với việc làm giảm đáng kể các ứng viên được tính toán so với HOT SAX cùng với việc tính toán để nhận diện chuỗi con bất thường chỉ có độ phức tạp O(n) (với n là số lượng các chuỗi con ứng viên) so với hai vòng lặp lồng nhau ở HOT SAX, chương 4 sẽ trình bày chi tiết việc hiện thực và kết quả thử nghiệm cách tiếp cận của chúng tôi
HIỆN THỰC VÀ THỬ NGHIỆM
Kết quả thực nghiệm
Chúng tôi chạy thực nghiệm hệ thống trên những bộ dữ liệu khác nhau, bao gồm: ECG, AEM, ERP, STOCK, POWER với số lượng điểm dữ liệu khác nhau
Hình 4-1 mô tả đồ thị biểu diễn dữ liệu chuỗi thời gian ECG gồm 20000 điểm
Hình 4 - 1 Dữ liệu ECG 20000 điểm
Dữ liệu ECG 20000 điểm chạy với phương pháp FindCBLDF
Chúng tôi đã thực nghiệm cách tiếp cận mới với các thông số như bảng 4-1:
Chiều dài ứng viên mẫu 250
Chiều dài ứng viên mẫu tối thiểu 40 w (chiều dài chuỗi con SAX) 20 a (số lượng ký tự SAX) 8
Ngưỡng tương tự s trong giải thuật Squeezer 12 Tham số 𝛼 trong phương pháp FindCBLDF 0.9
Tham số 𝛽 trong phương pháp FindCBLDF 5
Bảng 4 - 1 Bảng thông số phương pháp FindCBLDF với dữ liệu ECG 20000 điểm
Kết quả chuỗi con bất thường thu được được thể hiện ở hình 4-2:
Hình 4 - 2 Kết quả phương pháp FindCBLDF chạy với dữ liệu ECG 20000 điểm
Nguyễn Huy Kha - 12070514 -51- Vị trí bất thường: 9821 đến 10963
Thời gian chạy: 41,0046miligiây 0,0041 giây
Dữ liệu ECG 20000 điểm chạy trên giải thuật HOT SAX
Chúng tôi thực nghiệm giải thuật HOT SAX với các thông số như bảng 4-2:
Thông số Giá trị w (chiều dài chuỗi con SAX) 20 a (số lượng ký tự SAX) 8
Discord length (chiều dài chuỗi bất thường) 1000
Bảng 4 - 2 Bảng thông số giải thuật HOTSAX với dữ liệu ECG 20000 điểm
Kết quả chuỗi con bất thường thu được được thể hiện ở hình 4-3:
Hình 4 - 3 Kết quả giải thuật HOTSAX chạy với dữ liệu ECG 20000 điểm
Vị trí bất thường: 9644 Thời gian chạy: 98,5976 giây
Như vậy, với cùng một dữ liệu, cách tiếp cận của chúng tôi tìm ra bất thường với kết quả gần giống chính xác với giải thuật HOT SAX, thời gian nhanh hơn (41 miligiây so với 98 giây)
Hình 4-4 mô tả đồ thị biểu diễn dữ liệu chuỗi thời gian AEM gồm 20000 điểm
Hình 4 - 4 Dữ liệu AEM 20000 điểm
Dữ liệu AEM 20000 điểm chạy với phương pháp FindCBLDF
Chúng tôi đã thực nghiệm cách tiếp cận mới với các thông số như bảng 4-3:
Chiều dài ứng viên mẫu 250
Chiều dài ứng viên mẫu tối thiểu 40 w (chiều dài chuỗi con SAX) 20 a (số lượng ký tự SAX) 8
Ngưỡng tương tự s trong giải thuật Squeezer 12 Tham số 𝛼 trong phương pháp FindCBLDF 0.9
Tham số 𝛽 trong phương pháp FindCBLDF 5
Bảng 4 - 3 Bảng thông số phương pháp FindCBLDF với dữ liệu AEM 20000 điểm
Kết quả chuỗi con bất thường thu được được thể hiện ở hình 4-5:
Hình 4 - 5 Kết quả phương pháp FindCBLDF chạy với dữ liệu AEM 20000 điểm
Vị trí bất thường: 7681 đến 7901 Thời gian chạy: 16,0019miligiây 0,016 giây
Dữ liệu AEM 20000 điểm chạy trên giải thuật HOT SAX
Chúng tôi thực nghiệm giải thuật HOT SAX với các thông số như bảng 4-4
Thông số Giá trị w (chiều dài chuỗi con SAX) 20 a (số lượng ký tự SAX) 8
Discord length (chiều dài chuỗi bất thường) 200
Bảng 4 - 4 Bảng thông số giải thuật HOTSAX với dữ liệu AEM 20000 điểm
Kết quả chuỗi con bất thường thu được được thể hiện ở hình 4-6:
Hình 4 - 6 Kết quả giải thuật HOTSAX chạy với dữ liệu AEM 20000 điểm
Nguyễn Huy Kha - 12070514 -54- Vị trí bất thường: 7642
Như vậy, với cùng một dữ liệu, cách tiếp cận của chúng tôi tìm ra bất thường với kết quả gần giống chính xác với giải thuật HOT SAX, thời gian nhanh hơn (16 miligiây so với 260 giây)
Hình 4-7 mô tả đồ thị biểu diễn dữ liệu chuỗi thời gian ERP gồm 25000 điểm
Hình 4 - 7 Dữ liệu ERP 25000 điểm
Dữ liệu ERP 25000 điểm chạy với phương pháp FindCBLDF
Chúng tôi đã thực nghiệm cách tiếp cận mới với các thông số như bảng 4-5:
Chiều dài ứng viên mẫu 350
Chiều dài ứng viên mẫu tối thiểu 30 w (chiều dài chuỗi con SAX) 20 a (số lượng ký tự SAX) 20
Ngưỡng tương tự s trong giải thuật Squeezer 12 Tham số 𝛼 trong phương pháp FindCBLDF 0.9
Tham số 𝛽 trong phương pháp FindCBLDF 5
Bảng 4 - 5 Bảng thông số phương pháp FindCBLDF với dữ liệu ERP 25000 điểm
Nguyễn Huy Kha - 12070514 -55- Kết quả chuỗi con bất thường thu được được thể hiện ở hình 4-8:
Hình 4 - 8 Kết quả phương pháp FindCBLDF chạy với dữ liệu ERP 25000 điểm
Vị trí bất thường: 23707 đến 24942 Thời gian chạy: 27,005miligiây 0,027 giây
Dữ liệu ERP 25000 điểm chạy trên giải thuật HOT SAX
Chúng tôi thực nghiệm giải thuật HOT SAX với các thông số như bảng 4-6
Thông số Giá trị w (chiều dài chuỗi con SAX) 20 a (số lượng ký tự SAX) 20
Discord length (chiều dài chuỗi bất thường) 1200
Bảng 4 - 6 Bảng thông số giải thuật HOTSAX với dữ liệu ERP 25000 điểm
Kết quả chuỗi con bất thường thu được được thể hiện ở hình 4-9:
Hình 4 - 9 Kết quả giải thuật HOTSAX chạy với dữ liệu ERP 25000 điểm
Vị trí bất thường: 23699 Thời gian chạy: 584,384 giây
Như vậy, với cùng một dữ liệu, cách tiếp cận của chúng tôi tìm ra bất thường với kết quả gần giống chính xác với giải thuật HOT SAX, thời gian nhanh hơn (27 miligiây so với 584 giây)
Hình 4-10 mô tả đồ thị biểu diễn dữ liệu chuỗi thời gian STOCK gồm 20000 điểm
Hình 4 - 10 Dữ liệu STOCK 20000 điểm
Dữ liệu STOCK 20000 điểm chạy với phương pháp FindCBLDF
Chúng tôi đã thực nghiệm cách tiếp cận mới với các thông số như bảng 4-7:
Chiều dài ứng viên mẫu 500
Chiều dài ứng viên mẫu tối thiểu 50 w (chiều dài chuỗi con SAX) 20 a (số lượng ký tự SAX) 20
Ngưỡng tương tự s trong giải thuật Squeezer 15 Tham số 𝛼 trong phương pháp FindCBLDF 0.9
Tham số 𝛽 trong phương pháp FindCBLDF 5
Bảng 4 - 7 Bảng thông số phương pháp FindCBLDF với dữ liệu STOCK 20000 điểm
Kết quả chuỗi con bất thường thu được được thể hiện ở hình 4-11:
Hình 4 - 11 Kết quả phương pháp FindCBLDF chạy với dữ liệu STOCK 20000 điểm
Vị trí bất thường: 18744 đến 19353 Thời gian chạy: 24,0785miligiây 0,024 giây
Dữ liệu STOCK 20000 điểm chạy trên giải thuật HOT SAX
Chúng tôi thực nghiệm giải thuật HOT SAX với các thông số như trong 4-8:
Thông số Giá trị w (chiều dài chuỗi con SAX) 20 a (số lượng ký tự SAX) 20
Discord length (chiều dài chuỗi bất thường) 600
Bảng 4 - 8 Bảng thông số giải thuật HOTSAX với dữ liệu STOCK 20000 điểm
Kết quả chuỗi con bất thường thu được được thể hiện ở hình 4-12:
Hình 4 - 12 Kết quả giải thuật HOTSAX chạy với dữ liệu STOCK 20000 điểm
Vị trí bất thường: 18376 Thời gian chạy: 150,6754 giây
Như vậy, với cùng một dữ liệu, cách tiếp cận của chúng tôi tìm ra bất thường với kết quả gần giống chính xác với giải thuật HOT SAX, thời gian nhanh hơn (24 miligiây so với 150 giây)
Hình 4-13 mô tả đồ thị biểu diễn dữ liệu chuỗi thời gian POWER gồm 20000 điểm
Hình 4 - 13 Dữ liệu POWER 20000 điểm
Dữ liệu POWER 20000 điểm chạy với phương pháp FindCBLDF
Chúng tôi đã thực nghiệm cách tiếp cận mới với các thông số như bảng 4-9:
Chiều dài ứng viên mẫu 200
Chiều dài ứng viên mẫu tối thiểu 50 w (chiều dài chuỗi con SAX) 20 a (số lượng ký tự SAX) 20
Ngưỡng tương tự s trong giải thuật Squeezer 12 Tham số 𝛼 trong phương pháp FindCBLDF 0.9
Tham số 𝛽 trong phương pháp FindCBLDF 5
Bảng 4 - 9 Bảng thông số phương pháp FindCBLDF với dữ liệu POWER 20000 điểm
Kết quả chuỗi con bất thường thu được được thể hiện ở hình 4-14:
Hình 4 - 14 Kết quả phương pháp FindCBLDF chạy với dữ liệu POWER 20000 điểm
Nguyễn Huy Kha - 12070514 -60- Vị trí bất thường: 6263 đến 7122
Thời gian chạy: 52,9984miligiây 0,052 giây
Dữ liệu POWER 20000 điểm chạy trên giải thuật HOT SAX
Chúng tôi thực nghiệm giải thuật HOT SAX với các thông số như trong bảng 4- 10:
Thông số Giá trị w (chiều dài chuỗi con SAX) 20 a (số lượng ký tự SAX) 20
Discord length (chiều dài chuỗi bất thường) 800
Bảng 4 - 10 Bảng thông số giải thuật HOTSAX với dữ liệu POWER 20000 điểm
Kết quả chuỗi con bất thường thu được được thể hiện ở hình 4-15:
Hình 4 - 15 Kết quả giải thuật HOTSAX chạy với dữ liệu POWER 20000 điểm
Vị trí bất thường: 6244 Thời gian chạy: 147.3346 giây
Như vậy, với cùng một dữ liệu, cách tiếp cận của chúng tôi tìm ra bất thường với kết quả gần giống chính xác với giải thuật HOT SAX, thời gian nhanh hơn (52 miligiây so với 166 giây)
Bảng tổng kết và nhận xét
Các số liệu bên dưới thống kê thời gian thực thi của phương pháp chúng tôi so với giải thuật phát hiện bất thường HOT SAX, khi chạy trên các dữ liệu ECG, AEM, ERP, STOCK và POWER
Bảng 4-11 tổng kết thời gian thực thi của 2 phương pháp
Dữ liệu Kích thước Phương pháp Thời gian chạy Nhanh hơn
Bảng 4 - 11 Bảng tổng kết thời gian thực thi của 2 phương pháp
Trung bình, FindCBLDF chạy nhanh hơn HOT SAX gần 10000 lần
Hình 4-16 mô tả biểu đồ so sánh thời gian thực thi của 2 phương pháp trên 5 tập dữ liệu khác nhau
Hình 4 - 16 Biểu đồ so sánh thời gian thực thi của 2 phương pháp trên 5 tập dữ liệu khác nhau
Từ kết quả thu được về thời gian chạy và độ chính xác của chuỗi con bất thường nhận được từ 2 phương pháp trên, chúng ta có thể thấy rằng cách tiếp cận mới của chúng tôi cho thời gian thực thi nhanh hơn và kết quả có cùng độ chính xác với giải thuật HOT SAX
ECG AEM ERP STOCK POWER