1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware

57 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH TRẦN MINH TIẾN PHÁT HIỆN BẤT THƯỜNG TRÊN DỮ LIỆU CHUỖI THỜI GIAN BẰNG GIẢI THUẬT DISK AWARE Chuyên ngành KHOA HỌC MÁY TÍNH Mã chuyên ngành 60480101 LUẬN VĂN THẠC SĨ THÀNH PHỐ HỒ CHÍ MINH, NĂM 2017 ii TÓM TẮT LUẬN VĂN THẠC SĨ Dữ liệu chuỗi thời gian được sử dụng phổ biến trong các lĩnh vực khoa học, công nghệ, tài chính, thương mại, y học, thời tiết, môi trường, địa lý Theo khảo sát của Tufte 1 (1992), từ 4000 hình được lấy ngẫu nh.

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH - TRẦN MINH TIẾN PHÁT HIỆN BẤT THƯỜNG TRÊN DỮ LIỆU CHUỖI THỜI GIAN BẰNG GIẢI THUẬT DISK AWARE Chuyên ngành: KHOA HỌC MÁY TÍNH Mã chuyên ngành: 60480101 LUẬN VĂN THẠC SĨ THÀNH PHỐ HỒ CHÍ MINH, NĂM 2017 TÓM TẮT LUẬN VĂN THẠC SĨ Dữ liệu chuỗi thời gian sử dụng phổ biến lĩnh vực khoa học, cơng nghệ, tài chính, thương mại, y học, thời tiết, môi trường, địa lý Theo khảo sát Tufte [1] (1992), từ 4000 hình lấy ngẫu nhiên báo tin tức giới xuất giai đoạn từ 1974 đến 1989 cho thấy 75% hình biểu diễn liệu chuỗi thời gian Phát bất thường liệu chuỗi thời gian nhận nhiều quan tâm cộng đồng nghiên cứu năm qua Nó sử dụng để giải nhiều toán lĩnh vực ứng dụng khác chẩn đoán lỗi, phát giao dịch lừa lọc, phát xâm nhập mạng, thay đổi thói quen khách hàng, làm liệu… Nhiều thuật toán giới thiệu để giải vấn đề thuật toán Brute Force Discord Discovery (BFDD) [2], thuật toán Heuristic Discord Discovery (HDD) [2], nhiên chưa đem lại hiệu cao Vì vậy, việc nghiên cứu đề xuất thuật tốn cải tiến thuật tốn có cho hiệu nhà nghiên cứu quan tâm thực Trong luận văn này, em tìm hiểu cài đặt ba thuật tốn: Brute Force Discord Discovery, Disk Aware Discord Discovery Yankov cộng đề xuất thuật toán cải tiến đề xuất luận văn Luận văn thực nghiệm liệu, sau so sánh độ hiệu (về mặt thời gian vị trí bất thường) thuật toán cải tiến đề xuất luận văn so với hai thuật toán Brute Force Discord Discovery Disk Aware Discord Discovery Yankov cộng đề xuất ii MỤC LỤC MỤC LỤC V DANH MỤC BẢNG BIỂU .IX DANH MỤC TỪ VIẾT TẮT XI MỞ ĐẦU 1 Đặt vấn đề .1 Mục tiêu nghiên cứu Đối tượng phạm vi nghiên cứu Cách tiếp cận phương pháp nghiên cứu .3 Ý nghĩa thực tiễn đề tài CHƯƠNG TỔNG QUAN VỀ DỮ LIỆU CHUỖI THỜI GIAN 1.1 Tình hình nghiên cứu chuỗi thời gian 1.2 Chuỗi liệu thời gian 1.3 Bài toán phát bất thường tập liệu chuỗi thời gian .7 CHƯƠNG NHỮNG KIẾN THỨC CƠ SỞ 2.1 Các khái niệm 2.1.1 Chuỗi thời gian 2.1.2 Chuỗi 2.1.3 Cửa sổ trượt .10 2.1.4 Khoảng cách .10 2.1.5 So trùng không tầm thường 10 2.1.6 Chuỗi thời gian bất thường chuỗi thời gian bất thường thứ K 11 2.2 Các độ đo tương tự chuỗi thời gian .13 2.2.1 Độ đo khoảng cách Euclid .14 2.2.2 Độ đo Minkowski 15 2.2.3 Độ đo xoắn thời gian động .19 2.3 Các phương pháp thu giảm số chiều 20 2.3.1 Phương pháp xấp xỉ gộp đoạn 20 2.3.2 Phương pháp xấp xỉ đoạn thích nghi .21 2.4 Các phương pháp rời rạc hóa liệu: 22 2.5 Định nghĩa Break points 23 2.6 Word 24 v CHƯƠNG PHƯƠNG PHÁP PHÁT HIỆN BẤT THƯỜNG DỮ LIỆU CHUỖI THỜI GIAN DISK AWARE DISCORD DISCOVERY 25 3.1 Cơ sở lý luận .25 3.2 Các cơng trình nghiên cứu phát bất thường liệu chuỗi thời gian thời gian qua .25 3.3 Giải thuật Brute Force (BF) 29 3.4 Thuật toán phát bất thường liệu chuỗi thời gian Yankov cộng .31 3.4.1 Lựa chọn ứng viên bất thường 31 3.4.2 Làm tinh ứng viên 34 3.5 Thuật toán phát bất thường liệu chuỗi thời gian Yankov cộng 36 3.5.1 Lựa chọn ứng viên bất thường 36 3.5.2 Làm tinh ứng viên 37 3.6 Cải tiến Thuật toán phát bất thường liệu chuỗi thời gian Yankov cộng đề xuất .41 3.7 Phát bất thường liệu chuỗi thời gian tập liệu ứng viên thuật toán cải tiến 44 3.7.1 Lựa chọn ứng viên bất thường 44 3.7.2 Làm tinh ứng viên 47 CHƯƠNG ĐÁNH GIÁ BẰNG THỰC NGHIỆM 48 4.1 Môi trường liệu thực nghiệm 48 4.2 Các kết thực nghiệm .48 4.2.1 Thực nghiệm đánh giá ảnh hưởng độ dài chuỗi đến kết phương pháp 48 4.2.2 Thực nghiệm đánh giá ảnh hưởng tỷ lệ thu giảm số 52 4.2.3 Thực nghiệm đánh giá ảnh hưởng độ dài chuỗi thời 56 4.2.4 Thực nghiệm đánh giá ảnh hưởng ngưỡng r 60 KẾT LUẬN VÀ KIẾN NGHỊ 65 TÀI LIỆU THAM KHẢO 67 LÝ LỊCH TRÍCH NGANG CỦA HỌC VIÊN 71 vi DANH MỤC HÌNH ẢNH Hình 1.1 Đường biểu diễn chuỗi thời gian [4] Hình 2.1 Minh họa chuỗi nguồn [3] .9 Hình 2.2 Minh họa cửa sổ trượt 10 Hình 2.4 Chuỗi so trùng tầm thường [7] 11 Hình 2.5 Hình dạng chuỗi bất thường nguồn [9] .12 Hình 2.6 Chuỗi bất thường thứ K [9] 12 Hình 2.7 Dữ liệu có đường gần giống [12] 14 Hình 2.8 Dữ liệu có đường giống [12] 15 Hình 2.9 Hình dạng liệu chuỗi thời gian có hai đường giống đường khác [12] 16 Hình 2.10 Hình dạng liệu chuỗi thời gian có hai đường giống biên độ dao động khác [12] 17 Hình 2.11 Hình ảnh chuẩn hóa liệu Nguồn [12] 17 Hình 2.12 chuẩn hóa Min - Max .18 Hình 2.13 Độ đo Dynamic Time Warping nguồn [12] .19 Hình 2.14 Thu giảm số chiều DWT PAA 21 Hình 2.15 Minh họa phương pháp rời rạc hóa liệu phương pháp SAX Kết thu chuỗi kí tự “baabccbc” [21] 23 Hình 3.1 Mã giả thuật toán BF 30 Hình 3.2 Các chuỗi Ci cắt từ chuỗi thời gian T [3] 31 Hình 3.3 Minh họa tìm ứng viên với ứng viên xét C2 32 Hình 3.4 Minh họa tìm ứng viên với ứng viên xét C3 32 Hình 3.5 Minh họa tìm ứng viên với ứng viên xét C4 33 Hình 3.6 Minh họa tìm ứng viên với ứng viên xét C5 33 Hình 3.7 Minh họa làm tinh ứng viên lần duyệt ứng với C1 34 Hình 3.8 Minh họa làm tinh ứng viên lần duyệt ứng với C3 34 Hình 3.9 Minh họa làm tinh ứng viên lần duyệt ứng với Ci 35 Hình 3.10 Thuật toán lựa chọn ứng viên bất thường [3] 36 vii Hình 3.11 Làm tinh ứng viên bất thường nguồn [3] 38 Hình 3.12 Quy trình thực phát bất thường liệu chuỗi thời gian cải tiến từ thuật toán Yankov cộng .42 Hình 3.13 Cửa sổ trượt window tách chuỗi Ci, chuỗi chuyển đổi thành chuỗi kí tự Ci , sau đặt ma trận S Lưu ý số dòng ma trận S giúp xác đinh vị trí chuỗi chuỗi thời gian T [21] .44 Hình 3.14 Ma trận lưu số ứng viên .45 Hình 3.15 Thuật tốn làm tinh ứng viên [3] .47 Hình 4.1 Kết thực nghiệm phát bất thường liệu chuỗi thời gian tập liệu Stock có số chuỗi 10000, độ dài chuỗi bất thường 1024 51 Hình 4.2 Kết thực nghiệm phát bất thường liệu chuỗi thời gian tập liệu Discord Anomaly có số chuỗi 10000, độ dài chuỗi bất thường 512 với tỷ lệ thu giảm số chiều 8:1 55 Hình 4.3 Kết thực nghiệm phát bất thường liệu chuỗi thời gian tập liệu Consumer có độ dài bất thường 512, với số lượng chuỗi 20000 .59 viii DANH MỤC BẢNG BIỂU Bảng 2.1 Bảng tra cứu có chứa điểm Break point phân chia theo phân bố Gaussian từ đến 10 [21] [19] 23 Bảng 4.1 Kết thực nghiệm tập liệu ECG đánh giá ảnh hưởng độ dài chuỗi 49 Bảng 4.2 Kết thực nghiệm tập liệu Stock 49 Bảng 4.3 Kết thực nghiệm tập liệu EEG đánh giá ảnh hưởng độ dài chuỗi 49 Bảng 4.4 Kết thực nghiệm tập liệu Diskcord Anomaly đánh giá ảnh hưởng độ dài chuỗi 50 Bảng 4.5 Kết thực nghiệm tập liệu Consumer đánh giá ảnh hưởng độ dài chuỗi 50 Bảng 4.6 Kết thực nghiệm tập liệu FederalFund đánh giá ảnh hưởng độ dài chuỗi 50 Bảng 4.7 Kết thực nghiệm tập liệu FederalFund đánh giá ảnh hưởng tỷ lệ thu giảm số chiều 52 Bảng 4.8 Kết thực nghiệm tập liệu Discord Anomaly đánh giá ảnh hưởng tỷ lệ thu giảm số chiều 52 Bảng 4.9 Kết thực nghiệm tập liệu Consumer đánh giá ảnh hưởng tỷ lệ thu giảm số chiều 53 Bảng 4.10 Kết thực nghiệm tập liệu Stock đánh giá ảnh hưởng tỷ lệ thu giảm số chiều 53 Bảng 4.11 Kết thực nghiệm tập liệu ECG đánh giá ảnh hưởng tỷ lệ thu giảm số chiều 54 Bảng 4.12 Kết thực nghiệm tập liệu EEG đánh giá ảnh hưởng tỷ lệ thu giảm số chiều 54 Bảng 4.13 Kết thực nghiệm tập liệu Federalfund đánh giá ảnh hưởng độ dài chuỗi thời gian 56 ix Bảng 4.14 Kết thực nghiệm tập liệu Consumer đánh giá ảnh hưởng độ dài chuỗi thời gian 57 Bảng 4.15 Kết thực nghiệm tập liệu Discord Anomaly đánh giá ảnh hưởng độ dài chuỗi thời gian .57 Bảng 4.16 Thực nghiệm tập liệu EEG đánh giá ảnh hưởng độ dài chuỗi thời gian 57 Bảng 4.17 Kết thực nghiệm tập liệu Stock đánh giá ảnh hưởng độ dài chuỗi thời gian 58 Bảng 4.18 Kết thực nghiệm tập liệu ECG đánh giá ảnh hưởng độ dài chuỗi thời gian 58 Bảng 4.19 Kết thực nghiệm tập liệu ECG đánh giá ảnh hưởng ngưỡng r 60 Bảng 4.20 Kết thực nghiệm tập liệu Stock đánh giá ảnh hưởng ngưỡng r 60 Bảng 4.21 Kết thực nghiệm tập liệu Consumer đánh giá ảnh hưởng ngưỡng r 61 Bảng 4.22 Kết thực nghiệm tập liệu FederalFund đánh giá ảnh hưởng ngưỡng r 61 Bảng 4.23 Kết thực nghiệm tập liệu Discord Anomaly đánh giá ảnh hưởng ngưỡng r .62 x DANH MỤC TỪ VIẾT TẮT BF Brute Force BFDD Brute Force Discord Discovery HDD Heuristic Discord Discovery iSAX Indexable Symbolic Aggregate approximation PAA Piecewise Aggregate Approximation SAX Symbolic Aggregate approximation xi MỞ ĐẦU Đặt vấn đề Một chuỗi thời gian (time series) chuỗi điểm liệu đo theo khoảng thời gian liền theo tần suất thời gian thống [3] Hình 1.1 minh họa ví dụ chuỗi thời gian biểu diễn tỉ giá chuyển đổi trung bình hàng tháng la Úc đô la Mỹ (đơn vị đô la Úc) từ 7/1969 đến 8/1995 Hình 1.1 Đường biểu diễn chuỗi thời gian [4] Các toán thường nghiên cứu khai phá liệu chuỗi thời gian gồm phát bất thường liệu chuỗi thời gian (anomaly detection), tìm kiếm tương tự (similarity search), gom cụm (clustering), phân lớp (classification), phát motif (motif discovery), khai phá luật (rule discovery), trực quan hóa (visualization), dự báo (forecast)… Bài toán phát bất thường liệu chuỗi thời gian nhận nhiều quan tâm cộng đồng nghiên cứu năm qua ứng dụng nhiều tốn thuộc lĩnh vực ứng dụng khác chẩn đoán lỗi, phát giao dịch lừa lọc, phát xâm nhập mạng, thay đổi thói quen khách hàng, dịch bệnh, mức độ nghiêm trọng bệnh, điều kiện thời tiết khắc nghiệt suy thoái kinh tế… 3.4.2 Làm tinh ứng viên C S C1 C2 C2 C4 C3 C5 … … C4 C5 r : discord range … … …… Dist (C1 , C j )  r ? Hình 3.7 Minh họa làm tinh ứng viên lần duyệt ứng với C1 C S C1 C2 C2 C4 C3 C5 … … C4 C5 … … …… Dist (C3 , C5 )  r Hình 3.8 Minh họa làm tinh ứng viên lần duyệt ứng với C3 34 C S C1 C2 C2 C4 C3 … … C4 C5 … … …… Hình 3.9 Minh họa làm tinh ứng viên lần duyệt ứng với Ci Trong hai giai đoạn này, thuật toán đề xuất ngưỡng r nhằm phát bất thường liệu chuỗi thời gian để tìm tập ứng viên, đồng thời dựa vào ngưỡng r để làm tinh, lọc ứng viên bất thường [3] 35 3.5 Thuật toán phát bất thường liệu chuỗi thời gian Yankov cộng 3.5.1 Lựa chọn ứng viên bất thường Algorithm Candidates Selection Phase Procedure [C] = DC_Selection(S, r) In: S: disk resident dataset of time series r: discord defining range Out: C: list of discord candidates 1: C = { S1 } 2: for i = to | S | 3: isCanditate = true 4: for  Cj  C 5: if (Dist (Si, Cj) < r) then 6: C = C\Cj 7: isCandiates = false 8: 9: end if end for 10: if (isCandiates) then 11: C=C Si 12: end if 13: end for Hình 3.10 Thuật tốn lựa chọn ứng viên bất thường [3] Dữ liệu đầu vào: Chuỗi liệu thời gian S, ngưỡng r Dữ liệu đầu ra: Tập C bao gồm tất ứng viên cho bất thường theo ngưỡng r Nội dung thuật toán: Trong giai đoạn thuật toán cần cung cấp ngưỡng r thật hiệu nhằm xây dựng tập C nhỏ chứa số chuỗi có sai lệch giá trị, vị trí Thuật 36 tốn thực qt tuyến tính lượt qua tập liệu (Time series data) Đối với chuỗi Si xét, thuật toán tiến hành kiểm tra khả bất thường ứng cử viên tập C (dòng 5) Nếu ứng viên khơng hợp lệ, khơng có khả bất thường, thuật toán tiến hành loại bỏ ứng viên khỏi tập C Cuối Si thêm vào tập ứng viên (dòng 11) Si thỏa mãn điều kiện bị bỏ qua không thỏa mãn Chi tiết thuật tốn: B1: Thêm vào C vị trí chuỗi ứng viên (C1) B2: Tiến hành xét chuỗi từ chuỗi tập chuỗi (Si, i=2 n ), lấy chuỗi tính khoảng cách tới chuỗi ứng viên C so sánh với ngưỡng r cho Nếu khoảng cách từ chuỗi xét (Si) với tất chuỗi ứng viên C lớn r, ta tiến hành thêm vị trí chuỗi xét (Si) tập ứng viên C Nếu khoảng cách từ chuỗi xét với chuỗi ứng viên mà nhỏ r, ta tiến hành loại bỏ chuỗi ứng viên khỏi tập C chuỗi xét (Si) không thêm vào tập ứng viên C 3.5.2 Làm tinh ứng viên Giai đoạn làm tinh ứng viên nhận vào tập C tập S xây dựng giai đoạn mà coi chứa bất thường Cj với khoảng cách d C dist j > r với d C dist j khoảng cách từ Cj tới lân cận gần tập S Giai đoạn làm tinh ứng viên tiến hành loại bỏ số ứng viên C khơng có khả ứng viên giữ lại ứng viên có tiềm bất thường với ngưỡng r cho [3] 37 Algorithm Discord Refinement Phase Procedure [C, C.dist] = DC_Refinement (S, C, r) In: S: disk resident dataset of time series C: discord candidates set r: discord defining range Out: C: list of discords C.dist: list of NN distances to the discords 1: for j = to | C | 2: C.distj = ∞ 3: end for 4: for  Si  S 5: for  Cj  C 6: if Si == Cj then 7: continue 8: end if 9: d = EarlyAbandon (Si, Cj, C.distj) 10: if (d < r) then 11: C = C\Cj 12: C.dist = C.dist\C.distj 13: else 14: C.distj = min(C.distj, d) 15: 16: end if end for 17: end for Hình 3.11 Làm tinh ứng viên bất thường nguồn [3] 38 Dữ liệu đầu vào: Chuỗi liệu thời gian S, tập ứng viên C ngưỡng r Dữ liệu đầu ra: Tập C bao gồm tất ứng viên sau làm tinh theo ngưỡng r khoảng cách bất thường Nội dung thuật tốn: Mặc dù tất bất thường giả định nằm tập C mà trước bước vào giai đoạn làm tinh thuật tốn chưa biết ứng viên C xác bất thường khoảng cách bất thường ứng viên Vậy nên ban đầu tất khoảng cách bất thường ứng viên C cho vơ (dịng 2) Thuật toán đơn giản tiến hành quét tuyến tính lần qua tập S, với chuỗi Si S thuật toán tiến hành so sánh với tất ứng viên Cj tập C Khoảng cách thực tế Si Cj tính tốn thủ tục tối ưu hóa sử dụng ràng buộc đáp ứng cho việc chấm dứt sớm (dịng số 9) Ví dụ, trường hợp sử dụng khoảng cách Euclid, thủ tục EarlyAbandon dừng tính Dist  Si , C j    ( Sik  C jk )2 k đạt tới k = p, với ≤ p ≤ n mà p k 1 Dist  Si , C j    ( Sik  C jk )  C.dist 2j Nếu điều xảy rõ ràng Si p k 1 cải thiện khoảng cách tới lân cận gần C.distj nên bỏ qua Dựa vào cách tính khoảng cách đó, Si thuộc tập S có trường hợp xảy ra: TH1: Khoảng cách ứng viên bất thường C chuỗi Si xét S lớn giá trị C.distj Nếu trường hợp xảy thuật tốn khơng làm TH2: Khoảng cách ứng viên bất thường C chuỗi Si xét S nhỏ r Nếu trường hợp xảy ra, điều hiểu ứng viên bất thường khơng phải bất thường thực Vậy nên thuật tốn loại bỏ ứng viên khỏi tập C (dòng 11, 12) 39 TH3: Khoảng cách ứng viên bất thường C chuỗi Si xét S lớn khoảng cách bất thường r nhỏ C.distj Nếu trường hợp xảy thuật toán cần cập nhật lại khoảng cách tới láng giềng gần Cj Nói cách đơn giản sau hoàn thành giai đoạn thứ làm tinh tập C chứa ứng viên có khả bất thường với ngưỡng r đặt Hiệu suất thuật toán phụ thuộc vào kích thước tập C Trong trường hợp tập C trùng với tập S thuật tốn vơ tình trở thành thuật tốn Brute Force Tóm lại hiệu thuật tốn trình bày giả thiết sau: GT1: Đối với ngưỡng r, thuật toán xây dựng tập C có chứa tất ứng viên bất thường với khoảng cách bất thường lớn ngưỡng r Tập C chứa số chuỗi khơng phải ứng viên bất thường thực sự, số lượng GT2: Chúng ta cung cấp giá trị r tốt mà cho phép thuật toán thực GT1 thật hiệu Nếu chọn giá trị r thấp dấn đến kích thước tập C lớn Điều dấn đến thuật tốn trở nên chậm chạp Ngược lại chọn giá trị r lớn dẫn đến việc tập C rỗng Chi tiết thuật toán: B1: Tạo mảng chiều D để chứa khoảng cách bất thường ứng viên C Gán tất giá trị mảng vô B2: Tiến hành xét tất chuỗi Si tập nguồn S Với chuỗi Si tiến hành tính khoảng cách EarlyAbandon với tất chuỗi ứng viên C so sánh với khoảng cách bất thường chuỗi ứng viên (C.distj) Nếu q trình tính khoảng cách EarlyAbandon mà giá trị lớn khoảng cách bất thường C.distj chuỗi ứng viên tương ứng, ta tiến hành từ bỏ sớm q trình tính khoảng cách B3: Gọi d giá trị khoảng cách EarlyAbandon tính bước 2, tiến hành so sánh khoảng cách với ngưỡng r Nếu d nhỏ r, tiến hành loại bỏ chuỗi ứng 40 viên bất thường tương ứng khỏi tập C đồng thời loại bỏ khoảng cách bất thường chuỗi ứng viên D Ngược lại d lớn r, tiến hành so sánh d với C.diskj chuỗi ứng viên xét Nếu C.distj nhỏ giữ nguyên giá trị C.distj, ngược lại C.distj d Kết luận: Qua nghiên cứu chạy tay thuật tốn em thấy thuật tốn có số ưu, nhược điểm khó khăn sau: + Ưu điểm: Thuật tốn đơn giản, dễ cài đặt, có độ xác cao thời gian thực thuật toán nhanh cần lần quét qua tập liệu chuỗi thời gian ban đầu + Nhược điểm: Với tập liệu nhỏ thuật tốn khơng hiệu nhiều so với thuật toán HOT SAX, biến đổi WAT + Khó khăn: Khó khăn việc xác định ngưỡng r, thật khó để xác định ngưỡng r thật hợp lý cho hiệu suất thuật toán cao 3.6 Cải tiến Thuật toán phát bất thường liệu chuỗi thời gian Yankov cộng đề xuất Qua tìm hiểu thuật toán phát bất thường liệu chuỗi thời gian Yankov cộng hai giai đoạn thuật toán dựa vào ngưỡng r cách tính khoảng cách Euclid để tìm ứng viên bất thường Việc xác định ngưỡng r tốt khó, liệu lớn chiều dài chuỗi lớn việc tính khoản cách Euclid để tìm ứng viên trở nên chậm chạp khơng thật hiệu Vì việc tìm phương pháp cải tiến để giúp cải thiện tốc độ thuật toán thật cần thiết Ở em đề phương pháp thu giảm số chiều (PAA) rời rạc hóa liệu nhằm biến chuỗi số thành chuỗi kí tự (SAX), sau thực việc tìm ứng viên dựa việc so sánh chuỗi kí tự Thuật tốn thực qua hai giai đoạn thuật toán Yankov cộng đề xuất giai đoạn thuật toán cải tiến không phụ thuộc vào ngưỡng r không dùng khoảng cách Euclid để tìm ứng viên, mà thực việc so sánh chuỗi kí tự để tìm tập ứng viên có khả bất thường Việc so sánh chuỗi đánh giá nhanh tính khoảng cách Euclid đặc biệt chuỗi có độ dài 41 lớn Vì giảm thời gian tìm tập ứng viên, cải thiện độ hiệu thuật tốn Bằng thực nghiệm tập liệu kháo sát thuật tốn cải tiến hiệu thuật tốn Disk Aware Discord Discovery tác giả Yankov cộng Các bước cải tiến giải thuật phát bất thường liệu chuỗi thời trải qua số bước xử lý sau: Chuỗi liệu thời gian T (Timeseries Data) Trích chuỗi (Sliding Window) Chuẩn hóa liệu (Nomolization) (Tùy chọn) PAA Thu giảm số chiều (Dimension Reduction) (Tùy chọn) SAX Rời rạc hóa liệu Tìm kiếm ứng viên (giai đoạn 1) Làm tinh ứng viên (giai đoạn 2) Hình 3.12 Quy trình thực phát bất thường liệu chuỗi thời gian cải tiến từ thuật toán Yankov cộng Bước 1: Với tập liệu Time Series đầu, ta xác định độ dài chuỗi để thực việc cắt chuỗi Time Series lớn thành chuỗi với độ dài Bước 2: Sau thực xong bước đầu tiên, chuỗi Time Series ban đầu lúc cắt thành chuỗi có độ dài nhau, sau ta thực chuẩn hóa liệu nhằm mục đích chuyển (ánh xạ) toàn tập giá trị thuộc tính 42 sang tập giá trị thay thế, cho giá trị cũ tương ứng với giá trị để dễ dàng so sánh khoảng cách chuỗi với Hai phương pháp chuẩn hóa thường sử dụng chuẩn hóa Zero - Mean hay chuẩn hóa Min - Max Với giải thuật phát bất thường liệu chuỗi thời gian có áp dụng phương pháp rời rạc hóa nên bắt buộc cần phải thực bước chuẩn hóa Sau thực bước ta định dạng liệu phù hợp sẵn sàng để tiến hành xử lý phát bất thường liệu chuỗi thời gian Bước (Tùy chọn): Tập chuỗi sau chuẩn hóa tiếp tục tiến hành thu giảm số chiều liệu chuỗi thời gian thường lớn, q trình khai phá liệu thời gian tập liệu gốc Để khắc phục vấn đề ta nên áp dụng số phương pháp biến đổi để thu giảm độ lớn liệu (Data reduction) nhằm giảm thiểu số lượng liệu cần tính tốn mà khơng làm đặc trưng liệu gốc Điều giúp cho trình tính tốn nhanh chóng thuận lợi Các phương pháp thu giảm số chiều thường áp dụng nay, PAA, APCA, PLA Tùy vào toán phát liệu chuỗi thời gian bất thường xác hay gần mà lựa chọn tỷ lệ thu giảm số chiều Bước 4: Tập chuỗi sau chuẩn hóa thu giảm số chiều rời rạc hóa để chuyển đổi giá trị liệu số thành chuỗi kí tự đại diện Đây bước quan trọng cần phải có dành riêng cho giải thuật phát bất thường liệu chuỗi thời gian có áp dụng phương pháp rời rạc hóa Phương pháp rời rạc hóa phổ biến là: SAX, iSAX [21] Bước 5: Tập hợp chuỗi sau trích xuất từ chuỗi Time Series lớn bước thứ lúc trở thành nguồn liệu đầu vào Dựa đó, ta tiến hành thực giải thuật tìm ứng viên bất thường tập tương ứng để tìm chuỗi có khả ứng viên bất thường (giai đoạn 1) Bước 6: Sau thực giải thuật tìm ứng viên bất thường liệu chuỗi thời gian bước thứ 5, ta nhận tập kết trả danh sách (vị trí) ứng 43 viên bất thường tìm Ở bước cuối cùng, tiến hành làm tinh ứng viên bất thường để có kết bất thường thật (giai đoạn 2) 3.7 Phát bất thường liệu chuỗi thời gian tập liệu ứng viên thuật toán cải tiến 3.7.1 Lựa chọn ứng viên bất thường Tập liệu Time Series đầu vào phân đoạn thành chuỗi có chiều dài định trước (Sliding Window) sau thực chuẩn hóa (Z – score Min – Max) Thực thu giảm số chiều cho chuỗi liệu thời gian sử dụng phương pháp xấp xỉ gộp đoạn (PAA - tùy chọn) Sau tiến hành rời rạc hóa liệu chuỗi thời gian, giá trị thực (giá trị trung bình đoạn thực giảm số chiều) ánh xạ thành kí tự tương ứng (áp dụng giải thuật SAX, iSAX) Dữ liệu đầu vào lúc chuỗi con, chuỗi dãy kí tự alphabet lưu phần tử danh sách, số phần tử vị trí chuỗi cắt từ chuỗi liệu thời gian ban đầu Hình 3.13 Cửa sổ trượt window tách chuỗi Ci, chuỗi chuyển đổi thành chuỗi kí tự Ci , sau đặt ma trận S Lưu ý số dòng ma trận S giúp xác đinh vị trí chuỗi chuỗi thời gian T [21] 44 1|3|5|8|16 2|4|15|20|22 … 58 … 101|110|200… …201|300 … 985 350|351… …800|985 Hình 3.14 Ma trận lưu số ứng viên - Khởi tạo chuỗi C1 làm ứng viên (chuyển vị trí chuỗi C1 từ số sang kí tự thêm vào phần tử thứ danh sách) - Với i = (Xét ứng viên thứ 2) so sánh chuỗi với chuỗi có vị trí kí tự phần tử thứ danh sách Nếu chuỗi xét với chuỗi thêm (nối chuỗi) số chuỗi (sau biến thành kí tự) vào tiếp phần tử thứ danh sách kết thúc, ngược lại thêm số ứng viên vào phần tử thứ hai (phần tử mới) danh sách kết thúc - Với i = (Xét ứng viên thứ 3) so sánh với chuỗi có vị trí kí tự phần tử thứ danh sách Nếu chuỗi xét với chuỗi thêm tiếp số ứng viên vào phần tử thứ danh sách kết thúc, khơng tiếp tục so sánh với chuỗi có vị trí kí tự phần tử thứ hai danh sách, thêm (nối chuỗi) số ứng viên vào phần tử thứ hai danh sách kết thúc, không thêm số ứng viên vào phần tử thứ ba (phần tử mới) danh sách kết thúc - Với i = k (Xét ứng viên thứ k) so sánh với chuỗi có vị trí kí tự phần tử từ phần tử thứ đến phần tử thứ j danh sách Nếu chuỗi với chuỗi có vị trí kí tự phần tử danh sách thêm vị trí (k) chuỗi xét vào phần tử kết thúc, tất khơng thêm số ứng viên vào phần tử (phần tử j+1) danh sách kết thúc 45 - Cứ tiếp tục hết chuỗi đầu vào ta danh sách lưu vị trí ứng viên - Bây ta đếm số ứng viên phần tử danh sách (mỗi phần tử chứa số ứng viên giống nhau) thuật toán ưu tiên chọn phần tử có ứng viên (độ dài ngắn nhất) phần tử chứa ứng viên bất thường nhất, có nhiều phần tử có độ dài ngắn tập ứng viên tất ứng viên phần tử Sau bước ta có tập ứng viên có khả bất thường để tiếp tục cho giai đoạn hai, giai đoạn làm tinh thuật toán Yankov cộng - Khi cải tiến chúng tơi có nhận xét sau: + Khi so sánh ta so sánh với chuỗi có vị trí ký tự phần tử từ phần tử thứ đến phần tử thứ j danh sách không so sánh với tất ứng viên có vị trí khác nằm phần tử danh sách (vì ứng viên phần tử danh sách giống nhau) + Khi so sánh ứng xét với vị trí ứng viên phần tử đưa số ứng viên vào tiếp phần tử kết thúc ngược lại đưa số ứng viên vào phần tử kết thúc 46 3.7.2 Làm tinh ứng viên - Bước tương tự Yankov cộng [3] Algorithm Discord Refinement Phase Procedure [C, C.dist] = DC_Refinement (S, C, r) In: S: disk resident dataset of time series C: discord candidates set r: discord defining range Out: C: list of discords C.dist: list of NN distances to the discords 1: for j = to | C | 2: C.distj = ∞ 3: end for 4: for  Si  S 5: for  Ci  C 6: if Si = Cj then 7: continue 8: end if 9: d = EarlyAbandon (Si, Cj, C.distj) 10: if (d < r) then 11: C = C\Cj 12: C.dist = C.dist\C.distj 13: else 14: C.distj = min(C.distj, d) 15: end if 16: end for 17: end for Hình 3.15 Thuật tốn làm tinh ứng viên [3] 47 CHƯƠNG ĐÁNH GIÁ BẰNG THỰC NGHIỆM 4.1 Môi trường liệu thực nghiệm Những giải thuật luận văn thực ngôn ngữ Microsoft Visual C# 2010 chạy thực nghiệm laptop Hp430, Intel(R) Core(TM) i5 – 2430M CPU @ 2.40 GHz, 8GB RAM, Window 10 Thực nghiệm thực tập liệu chuỗi thời gian ECG, EEG, Stock, Consumer, FederalFund, Discord Anomaly Các tập liệu sưu tầm từ nhiều nguồn internet cộng đồng nghiên cứu đưa lên Thực nghiệm so sánh hiệu thuật toán Brute force, thuật toán Yankov thuật toán cải tiến từ thuật toán Yankov chúng tơi đề xuất Hiệu thuật tốn đánh giá dựa hai mặt thời gian thực thi độ xác Trong độ xác thuật toán phát bất thường liệu chuỗi thời gian theo số báo thường dựa phân tích người (dựa vị trí bất thường hình dạng chuỗi bất thường) [8] Ở luận văn đánh giá độ xác thuật tốn thơng qua vị trí phát bất thường so với thuật toán Brute force 4.2 Các kết thực nghiệm 4.2.1 Thực nghiệm đánh giá ảnh hưởng độ dài chuỗi đến kết phương pháp Thực nghiệm với độ dài chuỗi bất thường khác từ 128 đến 1024 với kích thước tập liệu cố định 10.000, Break Point chọn ngưỡng r chọn tùy tập liệu thực nghiệm Kết thực nghiệm minh họa bảng bên dưới: 48 ... điểm giải thuật độ xác Vì vậy, giải thuật BF sở để đánh giá độ hiệu giải thuật phát bất thường chuỗi thời gian tập liệu chuỗi thời gian khác 3.4 Thuật toán phát bất thường liệu chuỗi thời gian. .. 2.1.6 Chuỗi thời gian bất thường chuỗi thời gian bất thường thứ K Chuỗi thời gian bất thường (Time Series Discord): Trong liệu chuỗi thời gian T, chuỗi C T gọi bất thường khoảng cách từ C đến chuỗi. .. hóa chuỗi liệu thời gian thành dãy kí tự [19] 24 CHƯƠNG PHƯƠNG PHÁP PHÁT HIỆN BẤT THƯỜNG DỮ LIỆU CHUỖI THỜI GIAN DISK AWARE DISCORD DISCOVERY 3.1 Cơ sở lý luận Phát bất thường liệu chuỗi thời gian

Ngày đăng: 06/07/2022, 10:08

Xem thêm:

HÌNH ẢNH LIÊN QUAN

thời gian liền nhau theo một tần suất thời gian thống nhất [3] Hình 1.1 minh họa một ví dụ về chuỗi thời gian biểu diễn tỉ giá chuyển đổi trung bình hàng tháng giữa đô la Úc và  đô la Mỹ (đơn vị đô la Úc) từ 7/1969 đến 8/1995 - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
th ời gian liền nhau theo một tần suất thời gian thống nhất [3] Hình 1.1 minh họa một ví dụ về chuỗi thời gian biểu diễn tỉ giá chuyển đổi trung bình hàng tháng giữa đô la Úc và đô la Mỹ (đơn vị đô la Úc) từ 7/1969 đến 8/1995 (Trang 10)
thời gian liền nhau theo một tần suất thời gian thống nhất. Hình 1.1 minh họa một ví dụ về chuỗi thời gian biểu diễn tỉ giá chuyển đổi trung bình hàng tháng giữa đô la Úc và đô  la Mỹ (đơn vị đô la Úc) từ 7/1969 đến 8/1995 - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
th ời gian liền nhau theo một tần suất thời gian thống nhất. Hình 1.1 minh họa một ví dụ về chuỗi thời gian biểu diễn tỉ giá chuyển đổi trung bình hàng tháng giữa đô la Úc và đô la Mỹ (đơn vị đô la Úc) từ 7/1969 đến 8/1995 (Trang 15)
Hình 2.1 Minh họa chuỗi con nguồn [3] - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 2.1 Minh họa chuỗi con nguồn [3] (Trang 18)
Hình 2.2 Minh họa cửa sổ trượt. - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 2.2 Minh họa cửa sổ trượt (Trang 19)
Hình 2.3 Chuỗi con so trùng không tầm thường - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 2.3 Chuỗi con so trùng không tầm thường (Trang 20)
Hình 2.5 Hình dạng chuỗi con bất thường nguồn [9] - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 2.5 Hình dạng chuỗi con bất thường nguồn [9] (Trang 21)
Hình 2.6 Chuỗi con bất thường thứ K [9] - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 2.6 Chuỗi con bất thường thứ K [9] (Trang 21)
Hình 2.7 Dữ liệu có đường cơ bản gần giống nhau [12] - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 2.7 Dữ liệu có đường cơ bản gần giống nhau [12] (Trang 23)
Hình 2.8 Dữ liệu có đường cơ bản giống nhau [12] - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 2.8 Dữ liệu có đường cơ bản giống nhau [12] (Trang 24)
Hình 2.11 Hình ảnh chuẩn hóa dữ liệu Nguồn [12] - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 2.11 Hình ảnh chuẩn hóa dữ liệu Nguồn [12] (Trang 26)
Hình 2.10 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 [12] - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 2.10 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 [12] (Trang 26)
Hình 2.13 Độ đo Dynamic Time Warping nguồn [12] - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 2.13 Độ đo Dynamic Time Warping nguồn [12] (Trang 28)
Hình 2.14 Thu giảm số chiều DWT và PAA - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 2.14 Thu giảm số chiều DWT và PAA (Trang 30)
Các điểm Break point này có thể được xác định bằng cách tìm chúng trong một bảng thống kê[21][19] - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
c điểm Break point này có thể được xác định bằng cách tìm chúng trong một bảng thống kê[21][19] (Trang 32)
Hình 2.15 Minh họa phương pháp rời rạc hóa dữ liệu bằng phương pháp SAX. Kết quả thu được chuỗi kí tự “baabccbc” [21]  - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 2.15 Minh họa phương pháp rời rạc hóa dữ liệu bằng phương pháp SAX. Kết quả thu được chuỗi kí tự “baabccbc” [21] (Trang 32)
Hình 2.16 SAX rời rạc hóa chuỗi dữ liệu thời gian thành dãy kí tự [19] - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 2.16 SAX rời rạc hóa chuỗi dữ liệu thời gian thành dãy kí tự [19] (Trang 33)
Hình 3.1 Hot Sax sử dụng 3 ký tự a, b, c [2] Tuy nhiên kỹ thuật này cũng có một số nhược điểm:  - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 3.1 Hot Sax sử dụng 3 ký tự a, b, c [2] Tuy nhiên kỹ thuật này cũng có một số nhược điểm: (Trang 35)
Hình 3.1 Mã giả thuật toán BF - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 3.1 Mã giả thuật toán BF (Trang 39)
Hình 3.2 Các chuỗi Ci được cắt ra từ chuỗi thời gia nT [3] –Time series: T( ,t 1, )tn - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 3.2 Các chuỗi Ci được cắt ra từ chuỗi thời gia nT [3] –Time series: T( ,t 1, )tn (Trang 40)
Hình 3.3 Minh họa tìm ứng viên với ứng viên đang được xét là C2 - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 3.3 Minh họa tìm ứng viên với ứng viên đang được xét là C2 (Trang 41)
Hình 3.6 Minh họa tìm ứng viên với ứng viên được xét là C5 - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 3.6 Minh họa tìm ứng viên với ứng viên được xét là C5 (Trang 42)
Hình 3.5 Minh họa tìm ứng viên với ứng viên được xét là C4 - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 3.5 Minh họa tìm ứng viên với ứng viên được xét là C4 (Trang 42)
3.4.2 Làm tinh các ứng viên - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
3.4.2 Làm tinh các ứng viên (Trang 43)
Hình 3.8 Minh họa làm tinh ứng viên ở lần duyệt đầu tiên ứng với C3 - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 3.8 Minh họa làm tinh ứng viên ở lần duyệt đầu tiên ứng với C3 (Trang 43)
Hình 3.10 Thuật toán lựa chọn ứng viên bất thường [3] - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 3.10 Thuật toán lựa chọn ứng viên bất thường [3] (Trang 45)
Hình 3.11 Làm tinh các ứng viên bất thường nguồn [3] - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 3.11 Làm tinh các ứng viên bất thường nguồn [3] (Trang 47)
Hình 3.12 Quy trình thực hiện phát hiện bất thường trên dữ liệu chuỗi thời gian cải tiến từ thuật toán của Yankov và cộng sự - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 3.12 Quy trình thực hiện phát hiện bất thường trên dữ liệu chuỗi thời gian cải tiến từ thuật toán của Yankov và cộng sự (Trang 51)
Hình 3.13 Cửa sổ trượt window tách ra các chuỗi con Ci, chuỗi này được chuyển đổi thành chuỗi kí tự C i, sau đó được đặt trong ma trận S  - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 3.13 Cửa sổ trượt window tách ra các chuỗi con Ci, chuỗi này được chuyển đổi thành chuỗi kí tự C i, sau đó được đặt trong ma trận S (Trang 53)
Hình 3.14 Ma trận lưu chỉ số các ứng viên - Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware
Hình 3.14 Ma trận lưu chỉ số các ứng viên (Trang 54)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w