HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA --- ĐẶNG DANH HỮU SO SÁNH HIỆU QUẢ CỦA HAI PHƯƠNG PHÁP PHÂN ĐOẠN IEP VÀ PIP TRONG BÀI TOÁN PHÁT HIỆN BẤT THƯỜNG TRÊN DỮ LIỆU CHUỖI THỜI GIAN DỰA VÀ
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-
ĐẶNG DANH HỮU
SO SÁNH HIỆU QUẢ CỦA HAI PHƯƠNG PHÁP PHÂN ĐOẠN (IEP VÀ PIP) TRONG BÀI TOÁN PHÁT HIỆN BẤT THƯỜNG TRÊN DỮ LIỆU CHUỖI THỜI GIAN DỰA VÀO NHẬN DẠNG ĐIỂM NGOẠI BIÊN
CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ CHUYÊN NGÀNH: 60.48.01.01
LUẬN VĂN THẠC SĨ
TP.HCM, tháng 6 năm 2017
Trang 2ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-
ĐẶNG DANH HỮU
SO SÁNH HIỆU QUẢ CỦA HAI PHƯƠNG PHÁP PHÂN ĐOẠN ( IEP VÀ PIP) TRONG BÀI TOÁN PHÁT HIỆN BẤT THƯỜNG TRÊN DỮ LIỆU CHUỖI THỜI GIAN DỰA VÀO NHẬN DẠNG ĐIỂM NGOẠI BIÊN
CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
Trang 3CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG – HCM
Cán bộ hướng dẫn khoa học : PGS.TS DƯƠNG TUẤN ANH
Trang 4NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: ĐẶNG DANH HỮU MSHV:1570210 Ngày, tháng, năm sinh: 06/02/1992 Nơi sinh: Ninh Thuận
Chuyên ngành: Khoa học Máy tính Mã số : 60480101
I TÊN ĐỀ TÀI: SO SÁNH HIỆU QUẢ CỦA HAI PHƯƠNG PHÁP PHÂN ĐOẠN (IEP
VÀ PIP) TRONG BÀI TOÁN PHÁT HIỆN BẤT THƯỜNG TRÊN DỮ LIỆU CHUỖI THỜI GIAN DỰA VÀO NHẬN DẠNG ĐIỂM NGOẠI BIÊN
II NHIỆM VỤ VÀ NỘI DUNG:
1 Tìm hiểu hai phương pháp phân đoạn chuỗi thời gian (điểm cực trị quan trọng – IEP và điểm quan trọng có ý nghĩa - PIP) Tìm hiểu hai phương pháp gom cụm trong nhận dạng điểm ngoại biên dựa vào gom cụm: giải thuật Squeezer (của He và các cộng sự)
và giải thuật gom cụm hai chặng (của Jiang và các cộng sự)
2 Kế thừa phương pháp phát hiện bất thường trên dữ liệu chuỗi thời gian dựa vào phương pháp điểm cực trị quan trọng và giải thuật gom cụm Squeezer được đề xuất bởi Kha và Anh (2014), tác giả đề xuất 3 phương pháp khác với cùng khung thức : (i) phân đoạn với điểm PIP + gom cụm Squeezer, (ii) phân đoạn với điểm cực trị quan trọng + gom cụm hai chặng và (iii) phân đoạn với điểm PIP + gom cụm hai chặng
III NGÀY GIAO NHIỆM VỤ : 16/01/2017
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 18/06/2017
V CÁN BỘ HƯỚNG DẪN: PGS.TS DƯƠNG TUẤN ANH
Tp HCM, ngày 18 tháng 6 năm 2017
PGS.TS DƯƠNG TUẤN ANH
TRƯỞNG KHOA KH&KT MÁY TÍNH
(Họ tên và chữ ký)
Trang 5LỜI CÁM ƠN
Lời đầu tiên, tôi xin gửi lời cảm ơn chân thành nhất đến PGS.TS Dương Tuấn Anh, người thầy đã dìu dắt, hướng dẫn, đóng góp cho tôi những ý kiến , kinh nghiệm quý báu trong quá trình làm luận văn Những lời đóng góp của thầy là kim chỉ nam, động lực để giúp tôi hoàn thành luận văn này
Tôi cũng xinh chân thành gửi lời cảm ơn chân thành nhất đến quý thầy cô, cán bộ trường Đại học Bách Khoa Thành Phố Hồ Chí Minh, những người đã tạo những điều kiện tốt nhất, những người đã truyền những kiến thức quý báu trong thời gian tôi học Cao học tại đây
Cuối cùng, tôi gửi những lời cảm ơn chân thành tới gia đình tôi, là nguồn động lực về
cả tinh thần và vật chất để tôi vượt qua những khó khăn thử thách
Xin chân thành cảm ơn
Trang 6TÓM TẮT LUẬN VĂN
Trong sự phát triển của khoa học kĩ thuật hiện nay, chúng ta có thể thấy dữ liệu chuỗi thời gian (time series data) xuất hiện rất nhiều trong các lĩnh vực đặc biêt là thống kê, xử
lý tính hiệu, kinh tế lượng, y tế Cấu trúc dữ liệu có thể là môt chiều hay nhiều chiều, trong
đó có một chiều là chiều thời gian Dữ liệu được ghi lại theo sự thay đổi giá trị của chiều thời gian Trong từng lĩnh vực khoa học, người ta lại có những độ đo khoảng cách (distance measure) khác nhau
Một trong những ứng dụng quan trọng trong nghiên cứu dữ liệu chuỗi thời gian là phát hiện bất thường (anomaly detection) trên dữ liệu chuỗi thời gian Bất thường trên chuỗi dữ liệu thời gian được định nghĩa là các phân đoạn bất thường so với phần còn lại của chuỗi thời gian Phát hiện bất thường được ứng dụng trong việc chẩn đoán sự cố, bảo mật an toàn thông tin, thống kê, tài chính, y tế và còn rất nhiều ngành khác nữa Phát hiện bất thường cũng chính là mục tiêu của đề tài luận văn này
Trong đề tài này, chúng tôi sẽ so sánh khi sử dụng hai phương pháp phân đoạn Important Extreme Point và Perceptually Important Point kết hợp với hai phương pháp nhận dạng điểm ngoại biên là phương pháp gom cụm Squeezer và phương pháp gom cụm hai chặng trong việc phát hiện bất thường
Từ những kết quả thu được trên các bộ dữ liệu thực nghiệm, chúng tôi đã thu được những kết quả tương tự giữa những phương pháp trên
Trang 7ABSTRACT
In the the development of current technology, we can see that time series data appear a lot in many fields, especsially statistics, singnal processing, econometrics, medical Data can be one-dimensional or multi-dimensional, in which having one dimension is the time dimension Data are recorded according the values of the time dimension In each field of application, there exist different distance measure
One of the most important tasks in time series data mining is anomaly detection Anomaly pattern on the time series data is defined as the abnormal segment compared to the rest of time series Anomaly detection is useful for diagnosing accidents, security of information, statistics, finance, health and so on It is also the target of our thesis
In the thesis, we will compare using two segmentation methods: Important Extreme Point and Perceptually Important Points and combine each of them with two methods of clustering: Squeezer clustering and two-phase clustering
From experimental results, we obtained the same results from these methods in time series anomaly detection
Trang 8LỜI CAM ĐOAN
Tôi xin cam đoan ngoại trừ những kết quả nghiên cứu từ những đề tài khác đã được ghi
rõ trong luận văn, tất cả những công việc được trình bày trong đề tài này đều do tôi thực hiện và không có phần nội dung nào được nộp để lấy bằng cấp ở trường này hay trường khác
Ngày 19 tháng 6 năm 2017
Trang 9NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
TP.HCM, Ngày … tháng … năm 2017
PGS.TS Dương Tuấn Anh
Trang 10MỤC LỤC
LỜI CÁM ƠN iv
TÓM TẮT LUẬN VĂN v
ABSTRACT vi
LỜI CAM ĐOAN vii
MỤC LỤC ix
DANH MỤC HÌNH xii
DANH MỤC BẢNG xv
CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI 1
1.1 Dữ liệu chuỗi thời gian: 1
1.2 Nhận dạng bất thường trên chuỗi dữ liệu thời gian: 2
1.3 Mục tiêu và giới hạn của đề tài 3
1.4 Những kết quả đạt được: 4
1.5 Cấu trúc luận văn: 5
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 6
2.1 Độ đo tương tự: 6
2.1.1 Độ đo Minkowski: 6
2.1.2 Độ xoắn thời gian động: 8
2.2 Các phương pháp thu giảm số chiều 9
2.2.1 Phương pháp thích nghi dữ liệu: 9
2.2.2 Phương pháp không thích nghi dữ liệu: 10
2.3 Rời rạc hóa dữ liệu bằng phương pháp SAX (Symbolic Aggregate approXimation): 12
2.4 Các phương pháp phân đoạn dữ liệu: 14
2.4.1 Phương pháp phân đoạn bằng điểm cực trị quan trọng (Important Extreme Point): 14 2.4.2 Phương pháp phân đoạn bằng điểm quan trọng có ý nghĩa (Perceptually Important Point): 17
Trang 112.5 Phương pháp biến hình vị tự: 20
2.6 Điểm ngoại biên: 21
2.6.1 Điểm ngoại biên cục bộ (cluster-based local outlier)[7]: 21
CHƯƠNG 3 CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN VÀ GIẢI PHÁP THỰC HIỆN ĐỀ TÀI 24
3.1 Giải thuật gom cụm Squeezer trong nhận dạng các điểm ngoại biên: 24
3.2 Giải thuật gom cụm 2 chặng trong nhận dạng các điểm ngoại biên: 26
3.3 Các giải thuật phát hiện bất thường: 29
3.3.1 Giải thuật Brute Force Discord Discovery (BFDD) [7] 29
3.3.2 Giải thuật Heuristic Discord Discovery (HDD) [7]: 30
3.3.3 Giải thuật HOTSAX: 31
3.3.4 Giải thuật nhận dạng điểm ngoại biên FindCBLOF [7]: 33
3.3.5 giải thuật phát hiện chuỗi con bất thường FindCBLDF: 35
3.4 Phương pháp được thực hiện trong đề tài: 36
CHƯƠNG 4 HIỆN THỰC VÀ THỰC NGHIỆM 37
4.1 Kết quả thực nghiệm 38
4.1.1 Dữ liệu ECG: 38
4.1.2 Dữ liệu AEM: 42
4.1.3 Dữ liệu ERP: 47
4.1.4 Dữ liệu POWER: 52
4.1.5 Dữ liệu STOCK: 57
4.1.6 Dữ liệu TEK16: 62
4.1.7 Dữ liệu TEK17: 67
4.2 Tổng kêt và nhận xét: 72
CHƯƠNG 5 KẾT LUẬN 76
5.1 Tổng kết: 76
5.2 Những đóng góp của đề tài: 77
5.3 Những hạn chế của đề tài: 78
5.4 Hướng phát triển: 78
Trang 12TÀI LIỆU THAM KHẢO 80 PHỤ LỤC A A
LÝ LỊCH TRÍCH NGANG 1
Trang 13DANH MỤC HÌNH
Hình 1- 1 Minh họa về dữ liệu chuỗi thời gian về tỷ lệ thất nghiệp của những người ở độ
tuổi 15-24 ở Australia 1
Hình 1- 2 Minh họa về phát hiện bất thường trên chuỗi thời gian 3
Hình 2- 1 Minh họa về các biến thế của độ do Minkowski 7
Hình 2- 2 Minh họa về cách tính DTW 8
Hình 2- 3 Minh họa biễu diễn dữ liệu chuỗi thời gian theo phương pháp PAA 11
Hình 2- 4 Minh họa phương pháp biểu diễn dữ liệu chuỗi thời gian theo phương pháp DFT, DWT và PAA 12
Hình 2- 5 Minh họa phương pháp rời rạc hóa dữ liệu chuỗi thời gian bằng phương pháp SAX Kết quả thu được ta có chuỗi ký tự ffffffeeeddcbaabceedcbaaaaacddee 13
Hình 2- 6 Một chuỗi thòi gian được biến đổi PAA rồi mã hóa thành các ký hiệu SAX Chuỗi thời gian được mã hóa thành baabccbc ([6]) 13
Hình 2- 7 Minh họa chuỗi dữ liệu thời gian với điểm cực trị quan trọng ([2]) 15
Hình 2- 8 Minh họa điểm cực tiểu quan trọng và điểm cực đại quan trọng ([2]) 15
Hình 2- 9 Minh họa độ đo khoảng cách PIP-VD ([4]) 18
Hình 2- 10 Minh họa quá trình nhận dạng các điểm PIP trên một chuỗi thời gian ([4]) 19 Hình 2- 11 Minh họa kết quả nhận dạng các điểm PIP trên một chuỗi thời gian ([4]) 19
Hình 2- 12 Phép biến hình vị tự 20
Hình 2- 13 Minh họa điểm ngoại biên cục bộ 22
Hình 3- 1 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]) 33
Hình 4- 1 Chuỗi dữ liệu thời gian ECG 20000 điểm 38
Hình 4- 2 Kết quả chuỗi con bất thường trên ECG được phát hiện bằng phương pháp IEP + Squeezer 39
Hình 4- 3 Kết quả chuỗi con bất thường trên ECG được phát hiện bằng phương pháp IEP + Gom cụm hai chặng 40
Hình 4- 4 Kết quả chuỗi con bất thường trên ECG được phát hiện bằng phương pháp PIP + Squeezer 41
Hình 4- 5 Kết quả chuỗi con bất thường trên ECG được phát hiện bằng phương pháp PIP + Gom cụm hai chặng 42
Hình 4- 6 Chuỗi dữ liệu thời gian AEM 20000 điểm 43
Hình 4- 7 Kết quả chuỗi con bất thường trên AEM được phát hiện bằng phương pháp IEP + Squeezer 44
Trang 14Hình 4- 8 Kết quả chuỗi con bất thường trên AEM được phát hiện bằng phương pháp IEP + Gom cụm hai chặng 45 Hình 4- 9 Kết quả chuỗi con bất thường trên AEM được phát hiện bằng phương pháp PIP + Squeezer 46 Hình 4- 10 Kết quả chuỗi con bất thường trên AEM được phát hiện bằng phương pháp PIP + Gom cụm hai chặng 47 Hình 4- 11 Chuỗi dữ liệu thời gian ERP 25000 điểm 48 Hình 4- 12 Kết quả chuỗi con bất thường trên ERP được phát hiện bằng phương pháp IEP + Squeezer 49 Hình 4- 13 Kết quả chuỗi con bất thường trên ERP được phát hiện bằng phương pháp IEP + Gom cụm hai chặng 50 Hình 4- 14 Kết quả chuỗi con bất thường trên ERP được phát hiện bằng phương pháp PIP + Squeezer 51 Hình 4- 15 Kết quả chuỗi con bất thường trên ERP được phát hiện bằng phương pháp PIP + Gom cụm hai chặng 52 Hình 4- 16 Chuỗi dữ liệu thời gian POWER 20000 điểm 53 Hình 4- 17 Kết quả chuỗi con bất thường trên POWER được phát hiện bằng phương pháp IEP + Squeezer 54 Hình 4- 18 Kết quả chuỗi con bất thường trên POWER được phát hiện bằng phương pháp IEP + Gom cụm hai chặng 55 Hình 4- 19 Kết quả chuỗi con bất thường trên POWER được phát hiện bằng phương pháp PIP + Squeezer 56 Hình 4- 20 Kết quả chuỗi con bất thường trên POWER được phát hiện bằng phương pháp PIP + Gom cụm hai chặng 57 Hình 4- 21 Chuỗi dữ liệu thời gian STOCK 20000 điểm 58 Hình 4- 22 Kết quả chuỗi con bất thường trên STOCK được phát hiện bằng phương pháp STOCK + Squeezer 59 Hình 4- 23 Kết quả chuỗi con bất thường trên STOCK được phát hiện bằng phương pháp IEP + Gom cụm hai chặng 60 Hình 4- 24 Kết quả chuỗi con bất thường trên STOCK được phát hiện bằng phương pháp PIP + Squeezer 61 Hình 4- 25 Kết quả chuỗi con bất thường trên STOCK được phát hiện bằng phương pháp PIP + Gom cụm hai chặng 62 Hình 4- 26 Chuỗi dữ liệu thời gian TEK16 4992 điểm 63 Hình 4- 27 Kết quả chuỗi con bất thường trên TEK16 được phát hiện bằng phương pháp IEP + Squeezer 64
Trang 15Hình 4- 28 Kết quả chuỗi con bất thường trên TEK16 được phát hiện bằng phương pháp IEP + Gom cụm hai chặng 65 Hình 4- 29 Kết quả chuỗi con bất thường trên TEK16 được phát hiện bằng phương pháp PIP + Squeezer 66 Hình 4- 30 Kết quả chuỗi con bất thường trên TEK16 được phát hiện bằng phương pháp PIP + Gom cụm hai chặng 67 Hình 4- 31 Chuỗi dữ liệu thời gian TEK17 5000 điểm 68 Hình 4- 32 Kết quả chuỗi con bất thường trên TEK17 được phát hiện bằng phương pháp IEP + Squeezer 69 Hình 4- 33 Kết quả chuỗi con bất thường trên TEK17 được phát hiện bằng phương pháp IEP + Gom cụm hai chặng 70 Hình 4- 34 Kết quả chuỗi con bất thường trên TEK17 được phát hiện bằng phương pháp PIP + Squeezer 71 Hình 4- 35 Kết quả chuỗi con bất thường trên TEK17 được phát hiện bằng phương pháp PIP + Gom cụm hai chặng 72
Trang 16DANH MỤC BẢNG
Bảng 4- 1 Bảng thông số của phương pháp IEP + gom cụm Squeezer trên ECG 39
Bảng 4- 2 Bảng thông số của phương pháp IEP + gom cụm hai chặng trên ECG 39
Bảng 4- 3 Bảng thông số của phương pháp PIP + gom cụm Squeezer trên ECG 40
Bảng 4- 4 Bảng thông số của phương pháp PIP + gom cụm hai chặng trên ECG 41
Bảng 4- 5 Bảng thông số của phương pháp IEP + gom cụm Squeezer trên AEM 43
Bảng 4- 6 Bảng thông số của phương pháp IEP + gom cụm hai chặng trên AEM 44
Bảng 4- 7 Bảng thông số của phương pháp PIP + gom cụm Squeezer trên AEM 45
Bảng 4- 8 Bảng thông số của phương pháp PIP + gom cụm hai chặng trên AEM 46
Bảng 4- 9 Bảng thông số của phương pháp IEP + gom cụm Squeezer trên ERP 48
Bảng 4- 10 Bảng thông số của phương pháp IEP + gom cụm hai chặng trên ERP 49
Bảng 4- 11 Bảng thông số của phương pháp PIP + gom cụm Squeezer trên ERP 50
Bảng 4- 12 Bảng thông số của phương pháp PIP + gom cụm hai chặng trên ERP 51
Bảng 4- 13 Bảng thông số của phương pháp IEP + gom cụm Squeezer trên POWER 53
Bảng 4- 14 Bảng thông số của phương pháp IEP + gom cụm hai chặng trên POWER 54
Bảng 4- 15 Bảng thông số của phương pháp PIP + gom cụm Squeezer trên POWER 55
Bảng 4- 16 Bảng thông số của phương pháp PIP + gom cụm hai chặng trên POWER 56
Bảng 4- 17 Bảng thông số của phương pháp IEP + gom cụm Squeezer trên STOCK 58
Bảng 4- 18 Bảng thông số của phương pháp IEP + gom cụm hai chặng trên STOCK 59
Bảng 4- 19 Bảng thông số của phương pháp PIP + gom cụm Squeezer trên STOCK 60
Bảng 4- 20 Bảng thông số của phương pháp PIP + gom cụm hai chặng trên STOCK 61
Bảng 4- 21 Bảng thông số của phương pháp IEP + gom cụm Squeezer trên TEK16 63
Bảng 4- 22 Bảng thông số của phương pháp IEP + gom cụm hai chặng trên TEK16 64
Bảng 4- 23 Bảng thông số của phương pháp PIP + gom cụm Squeezer trên TEK16 65
Bảng 4- 24 Bảng thông số của phương pháp PIP + gom cụm hai chặng trên TEK16 66
Bảng 4- 25 Bảng thông số của phương pháp IEP + gom cụm Squeezer trên TEK17 68
Bảng 4- 26 Bảng thông số của phương pháp IEP + gom cụm hai chặng trên TEK17 69
Bảng 4- 27 Bảng thông số của phương pháp PIP + gom cụm Squeezer trên TEK17 70
Bảng 4- 28 Bảng thông số của phương pháp PIP + gom cụm hai chặng trên TEK17 71
Bảng 4- 29 Bảng so sánh kết quả các phương pháp phát hiện bất thường 74
Bảng 4- 30 Biểu đồ kết quả các phương pháp phát hiện bất thường 74
Trang 17CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI
1.1 Dữ liệu chuỗi thời gian:
Dữ liệu chuỗi thời gian là chuỗi các điểm dữ liệu được quan sát theo thứ tự thời gian Thông thường, chuỗi thời gian là tập hợp các điểm được chia đều nhau liên tục trong thời gian Vì vậy, nó là một chuỗi rời rạc Chuỗi thời gian không có giới hạn, cho phép dữ liệu được thu thập và cung cấp thông tin có ích cho người sử dụng Chúng ta có thể thấy trong hình 1-1 là ví dụ về chuỗi thời gian về tỉ lệ thất nghiệp của những người ở độ tuổi 15-24 ở Australia
Hình 1- 1 Minh họa về dữ liệu chuỗi thời gian về tỷ lệ thất nghiệp của những người ở độ tuổi 15-24 ở Australia
Để có thể ứng dụng được chuỗi dữ liệu thời gian, chúng ta cần có những phương pháp phân tích, đánh giá so sánh, nhận dạng Việc phân tích dữ liệu chuỗi thời gian tại các điểm khác nhau của chuỗi thời gian dẫn tới các mô hình thống kê và suy luận Từ những mô hình thống kê và suy luận, người dùng sẽ rút ra được những quy luật trên những chuỗi thời gian như điện tâm đồ, chứng khoán, kinh tế,…
Trang 18Đặc điểm của chuỗi dữ liệu thời gian:
• Khối lượng dữ liệu rất lớn, thu thập trong một thời gian dài Do đó, cần phải có những phương pháp phân tích, nhận dạng hiệu quả trên chuỗi dữ liệu thời gian một cách hiệu quả và chính xác Những kết quả này là tiền đề cho những ứng dụng của chuỗi thời gian
• Việc thu thập, phân tích chuỗi dữ liệu thời gian phụ thuộc vào các yếu tố chủ quan như độ đo, hệ số đo, công cụ thu thập…
• Dữ liệu thu thập không đồng nhất do phụ thuộc vào các yếu tố chủ quan, dẫn tới
có thể sai lệch trong quá trình nghiên cứu, kết quả của nghiên cứu Sự nhiễu trên
dữ liệu cũng gây ảnh hưởng rất nhiều đến kết quả
1.2 Nhận dạng bất thường trên chuỗi dữ liệu thời gian:
Một mẫu bất thường trên dữ liệu chuỗi thời gian là một chuỗi con mà rất khác so với chuỗi con tương tự với nó nhất Chúng ta có thể thấy một đoạn bất thường ở hình 2-1 Tuy nhiên, những chuỗi con mà khớp (tương tự) với một chuỗi con cho trước thường có khuynh hướng gần sát với vị trí của chuỗi con đang xét Thí dụ, một chuỗi con có vị trí bắt đầu tại
điểm thứ p có chuỗi con tương tự với nó nhiều nhất bắt đầu tại điểm thứ q mà q chỉ cách
xa p khoảng vài điểm Những sự trùng khớp với nhau như vậy được gọi là trùng khớp tầm
thường (trivial matches) và không đáng quan tâm trong quá trình phát hiện bất thường
Định nghĩa 1.1: (Trùng khớp không tầm thường) Một chuỗi thời gian T cho trước
có chứa chuỗi con C chiều dài n bắt đầu tại vị trí p và một chuỗi con M trùng khớp với nó bắt đầu tại vị trí q, ta bảo M là trùng khớp không tầm thường (non-trivial match) của C nếu
|p – q| ≥ n
Định nghĩa 1.2: (Chuỗi con bất thường nhất – time series discord) Cho chuỗi thời
gian T, chuỗi con C có chiều dài n bắt đầu tại vị trí p được gọi là chuỗi con bất thường nhất của T nếu C có khoảng cách lớn nhất đến chuỗi con trùng khớp không tầm thường lân cận
với nó nhất
Trang 19Hình 1- 2 Minh họa về phát hiện bất thường trên chuỗi thời gian
Chúng ta cũng quan tâm đến việc xem xét các chuỗi con bất thường bậc K mà được
định nghĩa như sau:
Định nghĩa 1.3: (Chuỗi con bất thường bậc K – K-th time series discord) Cho chuỗi
thời gian T, chuỗi con D có chiều dài n bắt đầu tại vị trí p được gọi là chuỗi con bất thường bậc K của T nếu D có khoảng cách lớn thứ K đến chuỗi con trùng khớp không tầm thường lân cận với nó nhất và không hề phủ lấp chuỗi con bất thường bậc i nào bắt đầu tại vị trí p i,
với mọi i thỏa 1 i K
1.3 Mục tiêu và giới hạn của đề tài
Mục tiêu của đề tài là so sánh hiệu quả của hai phương pháp phân đoạn phương pháp điểm cực trị quan trọng và phương pháp PIP trong bài toán phát hiện bất thường trên dữ liệu chuỗi thời gian dựa vào nhận dạng điểm ngoại biên (outlier detection) Đề tài sẽ tập trung nghiên cứu về hiệu quả của hai phương pháp phân đoạn, đánh giá hai phương pháp khi làm việc trên các bộ dữ liệu thử nghiệm Từ kết quả trên những bộ dữ liệu thật, chúng
ta sẽ rút ra được ưu, nhược điểm của từng phương pháp
Ngoài ra đề tài còn so sánh hiệu quả của hai giải thuật gom cụm Squeezer [7] và giải thuật gom cụm hai-chặng của Jiang và các cộng sự [11] khi áp dụng vào công tác phát hiện
Trang 20bất thường trên dữ liệu chuỗi thời gian dựa vào nhận dạng điểm ngoại biên Trong khi giải thuật gom cụm Squeezer chỉ làm việc với dữ liệu rời rạc thì giải thuật gom cụm hai-chặng của Jiang và các cộng sự [11] có thể làm việc trên dữ liệu số thực, rất thích hợp với các chuỗi con của chuỗi thời gian
Từ những kết luận rút ra được, chúng ta sẽ biết được phương pháp phân đoạn nào và phương pháp gom cụm nào là hiệu quả hơn trong công tác phát hiện bất thường trên dữ liệu chuỗi thời gian dựa vào nhận dạng điểm ngoại biên Những điều này là những yếu tố quan trọng khi sử dụng trong thực tế
1.4 Những kết quả đạt được:
Với nội dung và phạm vi nghiên cức của đề tài là so sánh hiệu quả của hai phương pháp phân đoạn (IEP và PIP) trong bài toán phát hiện bất thương trên dữ liệu chuỗi thời gian dựa vào nhận dạng điểm ngoại biên, chúng tôi sẽ tập trung so sánh ở giai đoạn phân đoạn
Để có thể thực hiện được bài toán phát hiện bất thường bằng phương pháp nhận dạng điểm ngoại biên, chúng tôi sẽ xem xét lựa chọn giữa hai giải thuật gom cụm Squeezer và giải thuật gom cụm hai chặng của Jiang và các cộng sự Do vậy, chúng tôi sẽ phải hiện thực để so sánh 4 phương pháp khác nhau:
1 Phương pháp 1: phân đoạn với điểm cực trị quan trọng + gom cụm Squeezer
2 Phương pháp 2: phân đoạn với điểm PIP + gom cụm Squeezer
3 Phương pháp 3: phân đoạn với điểm cực trị quan trọng + gom cụm hai-chặng
4 Phương pháp 4: phân đoạn với điểm PIP + gom cụm hai-chặng
Sau khi hiện thực và chạy thực nghiệm trên các bộ dữ liệu thật với các tham số khác nhau, chúng tôi đã thu được những kết quả tương tự nhau với thời gian xử lý cũng gần bằng nhau Chúng tôi cũng rút ra được những đặc điểm của từng phương pháp
Trang 211.5 Cấu trúc luận văn:
Chương 2 chúng tôi sẽ trình bày những cơ sở lý thuyết của đề tài này bao gồm khái niệm về độ đo tương tự, các phương pháp thu giảm số chiều, phương pháp rời rạc hóa dữ liệu SAX (Symbolic Aggregate approximation) [4], các phương pháp phân đoạn dữ liệu và phương pháp biến hình vi tự Trong khái niệm về độ đo, chúng tôi sẽ trình bày về độ đo Minkowski và độ xoắn thời gian động Các phương pháp thu giảm số chiều sẽ bao gồm 2 phương pháp là thích nghi và không thích nghi dữ liệu Về phương pháp phân đoạn dữ liệu
sẽ bao gồm hai phương pháp là phân đoạn bằng điểm cực trị quan trọng và điểm cực trị có
ý nghĩa
Chương 3 sẽ trình bày những công trình nghiên cứu liên quan bao gồm Giải thuật gom cụm Squeezer và giải thuật gom cụm hai chặng trong nhận dạng điểm ngoại biên, các giải thuật phát hiện bất thường bao gồm Brute Force Discord Discovery, Heuristic Discord Discovery, HOTSAX, FindBLOF, FindCBDL Sau đó, chúng tôi trình bày giải pháp thực hiện đề tài
Chương 4 sẽ trình bày kết quả thực nghiệm cho các phương pháp được trình bày ở chương 3 trên 7 bộ dữ liệu bao gồm ECG, ERP, AEM, POWER, STOCK, TEK16, TEK17
Từ đó chúng tôi rút ra những nhận xét cho những kết quả thực nghiệm
Chương 5 sẽ trình bày kết luận của đề tài bao gồm tổng kết, nêu những đóng góp của
đề tài, những hạn chế của đề tài và hướng phát triển
Trang 22CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Chương này trình bày những cơ sở lý thuyết phục vụ cho đề tài này bao gồm lý thuyết
về độ đo tương tự, các phương pháp thu giảm số chiều, phương pháp rời rạc hóa dữ liệu SAX (Symbolic Aggregate approXimation), các phương pháp phân đoạn và phương pháp biến hình vi tự
thời gian khác nhau và nằm trong khoảng [0,1] Cho hai chuỗi thời gian X và Y có dạng
X=<x 1 , x 2 , …, x n > và Y=<y 1 , y 2 , …, y n > Độ tương tự giữa X và Y ký hiệu là Sim(X,Y) D(X,Y) là khoảng cách giữa hai đối tượng X và Y, có những đặc điểm sau:
• Không âm: D(X,Y) ≥ 0, khoảng cách giữa hai đối tượng luôn luôn lớn hơn
hoặc bằng 0
• Xác định tương tự nhau: D(X,Y) = 0, hai đối tượng X và Y tương tự nhau
• Đối xứng: D(X,Y) = D(Y,X), hàm tính khoảng cách làm một hàm đối xứng
• Bất đẳng thức tam giác: D(X,Y) < D(X,Z) + D(Z,Y)
Trang 23Công thức Minkowski được minh họa ở hình 2-1, có ưu điểm là tính toán dễ dàng, được dùng cho nhiều bài toán như gom cụm, phân loại dữ liệu, đồng thời công thức này cũng được sử dụng với các phép biến đổi số chiều: PAA, DWT, DFT Nhưng công thức này cũng có nhiều nhược điểm là không thích nghi với chuỗi thời gian có đường cơ bản khác nhau, chuỗi thời gian có biên độ dao động khác nhau, nhạy cảm với nhiễu
Những phương pháp khắc phục nhược điểm:
• 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]
• Á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: 𝑋𝑖 = ∑ 𝑋𝑗+𝑘
2𝑘+1
𝑘 𝑗=−𝑘
• Áp dụng độ đo tương tự có sửa đổi dựa trên khoảng cách Euclid :
Trang 242.1.2 Độ xoắn thời gian động:
Khi hai chuỗi thời gian có sự giống nhau về hình dạng nhưng khác nhau về thời gian, người ta sử dụng phương pháp ánh xạ một điểm đến nhiều điểm, đó là phương pháp xoắn thời gian động (Dynamic Time Warping - DTW)[14] Hình 2- 2 minh họa cho cách tính
DTW Cho hai chuỗi thời gian X và Y và một thông số khung w là khung cửa sổ xoắn (warping window), đ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 đó Dij = d(x i, yi) 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: Đường đi phải liên
tục; không được đi qua trái hay đi xuống; ô tại vị trí (i, j) thuộc đường đi phải thỏa |i – j| ≤
w; nếu có K ô đi từ ô (0,0) đến ô (m,n) thỏa mãn những điều kiện trên, khi đó:
𝐷𝑇𝑊(𝑄, 𝐶) =𝑚𝑖𝑛{√∑ 𝑤𝑘
𝐾 𝑘−1 }
Hình 2- 2 Minh họa về cách tính DTW
Trang 25Phương pháp DWT có ưu điểm là có thể tính chính xác độ đo giữa hai chuỗi thời gian
có hình dạng giống nhau về hình dạng nhưng khác nhau về thời gian; cho kết quả chính xác hơn độ đo Euclid Nhung phương pháp này cũng có nhược điểm là độ phức tạp và thời gian chạy lớn hơn nhiều so với độ đo Euclid, với độ phức tạp là O(n2) khi thông số w là
chiều dài của chuỗi dữ liệu thời gian
2.2 Các phương pháp thu giảm số chiều
Dữ liệu chuỗi thời gian có kích thước rất lớn Do đó, người ta dùng một số phương pháp thu giảm số chiều để chuẩn hóa lại chuỗi dữ liệu thời gian để tạo thành một chuỗi dữ liệu thời gian nhỏ hơn đại diện cho chuỗi dữ liệu thời gian đó Sau đó, người ta có thể phân tích trên chuỗi dữ liệu chuỗi thời gian được chuẩn hóa để giảm chi phí thời gian để phân tích
Cho chuỗi thời gian X = <x 1 , x 2 , …, x n > có n chiều, ta thu giảm chiều dữ liệu xuống còn k chiều Y = <y 1 , y 2 , …, y n > với k < n là hệ số đường cơ bản Nếu k càng lớn thì đường phục
hồi dữ liệu chuỗi thời gian ban đầu càng chính xác
2.2.1 Phương pháp thích nghi dữ liệu:
Phương pháp này biến đổi dữ liệu chuỗi thời gian về thành những đường cơ bản Hình dáng của dữ liệu chuỗi thời gian sau khi biến đổi phụ thuộc vào dữ liệu chuỗi thời gian ban đầu Tùy theo loại dữ liệu chuỗi thời gian mà có đường cơ bản tương ứng Tính chất là thể hiện rõ hơn dữ liệu chuỗi thời gian ban đầu, tuy nhiên thời gian biến đổi lâu hơn
Một số phương pháp: phân rã trị kì dị (Singular Value Decomposition – SVD [9]), xấp
xỉ tuyến tính từng đoạn (Piecewise Linear Approximation – PLA), xấp xỉ hằng số từng đoạn thích nghi (Adaptive Piecewise Constant Approximation – APCA)
• Phương pháp phân rã trị kỳ dị: Phương pháp này biến đổi dữ liệu chuỗi thời gian thành những đường cơ bản gọi là đường eigenwave Tương ứng với từng dữ liệu chuỗi thời gian ta có các giải thuật tương ứng để biến đổi đường eigenwave Tuy nhiên, phương pháp biến đổi SVD có độ phức tạp rất lớn Và mỗi khi thêm dữ liệu chuỗi thời gian mới vào tập dữ liệu chuỗi thời gian cũ ta phải chạy lại giải
Trang 26thuật Ưu điểm của nó là hình dạng đường eigenwave cho ta thấy được hình dạng
dữ liệu khi chạy giải thuật
• Phương pháp xấp xỉ tuyến tính từng đoạn: Phương pháp PLA xấp xỉ dữ liệu chuỗi thời gian ban đầu thành từng đoạn Tuy nhiên, các đoạn này có thể rời rạc hoặc liên tục Phương pháp biểu diễn này có tính trực quan cao và phù hợp với việc nén các loại dữ liệu chuỗi thời gian khác nhau Độ phức tạp của thuật toán này được thực hiện trong khoảng thời gian tuyến tính, có thể áp dụng tính khoảng cách bằng nhiều phương pháp khác nhau và có thể thay đổi theo yêu cầu của người dùng
• Phương pháp xấp xỉ hằng số từng đoạn thích nghi: Phương pháp APCA tương
tự như phương pháp PAA Tuy nhiên các đoạn thẳng xấp xỉ trong phương pháp PAA là bằng nhau, còn các đoạn thẳng trong phương pháp APCA có thể khác nhau Tuy nhiên, phương pháp này rất ít được sử dụng
2.2.2 Phương pháp không thích nghi dữ liệu:
Đặc trưng của phương pháp không thích nghi dữ liệu là các đường cơ bản là những đường được định nghĩa trước Các phương pháp: Xấp xỉ gộp từng đoạn (Piecewise Aggregate Approximation - PAA) [9], biến đổi Fourier rời rạc (Discrete Fourier Transform – DFT) [15], phương pháp biến đổi Wavelet rời rạc (Discrete Wavelet Transform - DWT) [16] Hình 2-4 minh họa biểu diễu chuỗi dữ liệu thời gian theo phương pháp DFT, DWT
Trang 27• Phương pháp biến đổi Fourier rời rạc[10]: Được R.Agrawal và cộng sự đề xuất
Ý tưởng của phương pháp này là biểu diễn lại các đường dữ liệu chuỗi thời gian ban đầu thành các đường căn bản có dạng hình sin và cosin Ngoài việc nén dữ liệu chuỗi thời gian, phương pháp này còn cho phép so sánh gián tiếp hai chuỗi thời gian X và Y thông qua hai chuỗi thời gian Xf và Yf tương ứng sau khi thu giảm số chiều
Hình 2- 3 Minh họa biễu diễn dữ liệu chuỗi thời gian theo phương pháp PAA
• Phương pháp biến đổi Wavelet rời rạc[11]: Được K.Chan và W.Fu đề xuất Đường biểu diễn là đường Haar Ngoài ra, phương pháp này còn được sử dụng các đường cơ bản như đường Daubechies, Coiflet, Symmlet… Tuy nhiên đường Haar Wavelet đã được sử dụng rất phổ biến trong khai phá dữ liệu chuỗi thời gian và lập chỉ mục
Trang 28Hình 2- 4 Minh họa phương pháp biểu diễn dữ liệu chuỗi thời gian theo phương pháp DFT, DWT và
Vì không gian thu giảm là không gian các ký tự, nên không thể sử dụng các hàm tính khoảng cách nhận đối số là các giá trị thực mà cần có cơ chế ánh xạ sự khác biệt giữa hai
ký tự thành giá trị số Phương pháp SAX sử dụng hàm tính khoảng cách MINDIST [4] trên không gian thu giảm, thỏa điều kiện chặn dưới Phương pháp lập chỉ mục được sử dụng là phương pháp tập tin xấp xỉ hóa vector (Vector Approximation File), ngoài ra có thể sử
dụng R-tree và các kỹ thuật lập chỉ mục cho chuỗi ký tự cổ điển như cây hậu tố (suffix
tree) Để biến đổi theo SAX, ta thực hiện các bước sau:
1 Chuẩn hóa dữ liệu
2 Thu giảm số chiều bằng PAA
3 Kí hiệu hóa chuỗi thời gian
4 Tính độ đo tương tự
Trang 29Hình 2- 5 Minh họa phương pháp rời rạc hóa dữ liệu chuỗi thời gian bằng phương pháp SAX Kết
quả thu được ta có chuỗi ký tự ffffffeeeddcbaabceedcbaaaaacddee
Gọi a là kích thước của bộ ký hiệu mà được dùng để rời rạc hóa chuỗi thời gian Để ký hiệu hóa chuỗi thời gian chúng ta phải tìm thấy các trị (điểm ngắt) sau đây:
1,2, ,a1 với 12 a1 (2.5)
Sử dụng những trị này, chuỗi thời gian Tt1, ,t w sẽ được rời rạc hóa thành tràng ký
hiệu C = c1c2….cw Mỗi đoạn t i sẽ được mã hóa thành ký hiệu ci dùng công thức sau:
a i a i i
t c
t c
t c c
1 1
(2.6)
Hình 2-5 minh họa phương pháp mã hóa SAX
Hình 2- 6 Một chuỗi thòi gian được biến đổi PAA rồi mã hóa thành các ký hiệu SAX Chuỗi thời gian
được mã hóa thành baabccbc ([6])
Trang 30Chúng ta chú ý rằng dữ liệu chuỗi thời gian thường có phân bố xác xuất Gauss Để có một xác xuất bằng nhau (1/a) cho mỗi ký hiệu, ta phải chọn trị điểm ngắt i dựa trên bảng xác xuất của phân bố Gauss Kết quả của một chuỗi thời gian được biến đổi PAA rồi mã hóa thành các ký hiệu SAX được minh họa ở hình 2-6
2.4 Các phương pháp phân đoạn dữ liệu:
Một phương pháp sẽ được dùng trong việc phát hiện bất thường trên chuỗi dữ liệu thời
gian trong đề tài là phương pháp phân đoạn (segmentation) chuỗi thời gian Trong đó, hai
phương pháp phân đoạn được lựa chọn để so sánh hiệu quan là phương pháp dựa trên các
điểm cực trị quan trọng (Important Extreme Point - IEP) và phương pháp dựa trên các điểm quan trọng có ý nghĩa (Perceptually Importaint Point -PIP) Sau khi phân đoạn chuỗi
thời gian thành một tập các phân đoạn, chúng ta sẽ gom cụm tập các chuỗi con này và dùng
phương pháp nhận diện điểm ngoại biên (outlier detection) dựa vào gom cụm để phát hiện
những chuỗi con bất thường trên chuỗi dữ liệu thời gian Giới hạn của đề tài chỉ tập trung vào so sánh hiệu quả của 2 phương pháp phân đoạn đối với công tác phát hiện bất thường trên dữ liệu chuỗi thời gian
2.4.1 Phương pháp phân đoạn bằng điểm cực trị quan trọng
(Important Extreme Point):
Phương pháp Important Extreme Point (IEP) được các tác giả Pratt và Fink đưa ra năm
2002 [2] Theo như định nghĩa của hai tác giả, chuỗi dữ liệu thời gian sẽ được nén lại bằng cách chọn những điểm cực tiểu và cực đại quan trọng ( được gọi là important extreme
point) và bỏ qua những điểm khác Trong phương pháp này, có một tỷ lệ nén được điều khiển với tham số R (luôn luôn lớn hơn 1), và sự tăng lên của R sẽ dẫn đến giảm số lượng
các điểm cực trị quan trọng được nhận diện
Phương pháp sẽ loại bỏ những điểm cực trị có biên độ dao động nhỏ Như đã đề cập ở trên, có một hệ số được dùng để quản lý số lượng điểm cực trị được xem xét Hình 2-7 cho
ta thấy được những điểm cực trị được xem xét với các hệ số nén lần lượt là 91% và 94%
Trang 31Hình 2- 7 Minh họa chuỗi dữ liệu thời gian với điểm cực trị quan trọng ([2])
Định nghĩa 2.1: Cho một chuỗi dữ liệu thời gian gồm các điểm x 1 ,x 2 ,…x n Một điểm
x m được xem là điểm cực tiểu quan trọng (important minimum) khi tồn tại hai số i, j thỏa
Hình 2- 8 Minh họa điểm cực tiểu quan trọng và điểm cực đại quan trọng ([2])
Chú ý rằng trong các định nghĩa trên, tham số R được gọi là hệ số nén (compression rate) Tham số R thường được chọn lớn hơn 1 và việc gia tăng giá trị của R sẽ dẫn tới số
Trang 32lượng điểm cực trị quan trọng được nhận dạng sẽ ít hơn Hình 2-8 minh hoạ điểm cực tiểu quan trọng và điểm cực đại quan trọng
Cho một chuỗi thời gian T, bắt đầu tại điểm đầu tiên của chuỗi thời gian, tất cả các
điểm cực tiểu quan trọng và điểm cực đại quan trọng sẽ được nhận dạng bằng cách dùng giải thuật được đề xuất bởi Pratt & Fink 2002 [2] Giải thuật này có độ phức tạp tính toán chỉ là tuyến tính và đòi hỏi về bộ nhớ là hằng số Giải thuật có thể xử lý các điểm dữ liệu mới đến ngay khi chúng đi tới mà không cần lưu trữ toàn bộ bộ dữ liệu chuỗi thời gian
Nói cách khác, giải thuật này có tính chất trực tuyến (online)
Giải thuật nhận dạng các điểm cực trị quan trọng có mã giả như sau:
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
Trang 33FIND_MINIMUM(i) |
iMin = i
while i < n and a i /a iMin < R do
if a i < a iMin then iMin = i
while i < n and a iMax /a i < R do
if a i > a iMax then iMax = i
2.4.2 Phương pháp phân đoạn bằng điểm quan trọng có ý nghĩa
(Perceptually Important Point):
Phương pháp Perceptually Importaint Point (PIP) lần đầu tiên được giới thiệu bởi Chung và các cộng sự năm 2001 [4] Theo nhóm tác giả này, chuỗi dữ liệu thời gian là tập hợp từ vô số các điểm Nếu chúng ta xem xét một mẫu trên chuỗi thời gian là tập con các điểm tạo nên chuỗi dữ liệu đó, bao gồm các điểm không liên quan đến chuỗi dữ liệu đó Những điểm mà cần thiết cho việc nhận dạng chuỗi dữ liệu thời gian sẽ được xem xét và
được gọi là những điểm quan trọng có ý nghĩa (Perceptually Importaint Point)
Trang 34Về phương pháp nhận dạng các điểm PIP, đầu tiên, Chung và các cộng sự [4] đã đưa
ra định nghĩa đầu tiên về các điểm quan trọng có ý nghĩa (perceptually important point), đồng thời cũng đưa ra giải thuật đầu tiên để xác định các điểm PIP [4] Hai điểm PIP đầu tiên sẽ được tìm trước là điểm đầu và điểm cuối của chuỗi thời gian Phương pháp PIP sử dụng độ đo PIP-VD (vertical distance) như minh họa trong hình 2-9 Độ đo PIP-VD là độ
đo được dùng trong quá trình nhận dạng các điểm PIP Các tác giả đã định nghĩa khái niệm
khoảng cách đánh giá là khoảng cách từ điểm đang xét (x 3 , y 3) đến cạnh nối hai điểm đầu
(x 1 ,y 1 ) và cuối (x 2 , y 2):
𝐷𝑖𝑠 = |𝑦𝑐 − 𝑦3| = (𝑦1+ (𝑦2− 𝑦1)×𝑥𝑐 −𝑥1
𝑥𝑛−𝑥1) − 𝑦3 (2.7)
Hình 2- 9 Minh họa độ đo khoảng cách PIP-VD ([4])
Hai điểm PIP đầu tiên là điểm đầu (x 1 , y 1 ) và điểm cuối (x n , y n) Điểm PIP tiếp theo sẽ
là điểm có khoảng cách lớn nhất đến hai điểm PIP đầu tiên.Điểm PIP thứ tư sẽ là một điểm
có khoảng cách lớn nhất đến hai điểm PIP kế cận nhau, tức là điểm ở giữa hai điểm PIP thứ nhất và thứ hai hoặc là điểm ở giữa hai điểm PIP thứ hai và cuối cùng Quá trình xác định các điểm PIP tiếp tục cho đến khi số điểm PIP đã nhận dạng bằng với số điểm PIP mong muốn (con số này là một thông số đầu vào của giải thuật)
Hình 2-10 minh họa quá trình nhận dạng các điểm PIP và hình 2-11 minh họa kết quả nhận dạng các điểm PIP trên một chuỗi thời gian chứng khoán
Trang 35Hình 2- 10 Minh họa quá trình nhận dạng các điểm PIP trên một chuỗi thời gian ([4])
Hình 2- 11 Minh họa kết quả nhận dạng các điểm PIP trên một chuỗi thời gian ([4])
Mã giả của giải thuật nhận dạng các điểm PIP trên chuỗi thời gian P như sau:
Procedure PIP_Identification (P) Input: sequence P[1 m], n Output: pattern SP[1 n]
Begin
Set SP[1] = P[1], SP[n] = P[m]
Repeat until SP[1 n] are all filled
Trang 36begin
Select point P[j] with maximum distance to the adjacent points in SP (SP[1] and SP[n] initially) Add P[j] to SP
end Return SP
được hình dạng của đối tượng Cho một điểm O và một giá trị k 0 Một phép vị tự với tâm O và tỉ số k biến đổi M thành M’ sau cho OM' kOM Hình 2-12 minh họa phép vị
tự với tâm O và tỉ số k = 1/2 mà biến đổi tam giác MNP thành tam giác M’N’P’
Hình 2- 12 Phép biến hình vị tự
Trang 37Phép vị tự bảo toàn được hình dạng của bất kỳ đường cong nào được biến đổi Do đó,
nó có thể được dùng để biến đổi một chuỗi con có chiều dài N thành chuỗi con có chiều
dài N’ Giải thuật để thực hiện phép vị tự biến đổi chuỗi con T với chiều dài N (T =
{Y 1,…,YN}) thành chuỗi con có chiều dài N’ được cho như sau:
1 Y_Max = Max{Y 1,…,YN}; Y_Min = Min {Y 1,…,YN}
2 Tìm tâm I của phép vị tự với tọa độ: X_Center = N/2,
Y_Center = (Y_Max + Y_Min)/2
3 Thực hiện phép vị tự với tâm I và tỉ số k = N’/N
Sau khi áp dụng phép vị tự để đưa tất cả các chuỗi con ứng viên về cùng chiều dài, phương pháp rời rạc hóa SAX [6] sẽ được dùng để biến đổi các chuỗi con ứng viên thành các tràng ký tự có chiều dài bằng nhau
2.6 Điểm ngoại biên:
Một cách trực giác, điểm ngoại biên (outlier) được định nghĩa như Hawkins đã nêu năm
1980 [12]: “Một điểm ngoại biên trong một tập dữ liệu là một quan sát mà chênh lệch quá nhiều so với các quan sát khác đến độ làm nẩy sinh mối hoài nghi rằng nó được sinh ra từ một cơ chế hoàn toàn khác”
2.6.1 Điểm ngoại biên cục bộ (cluster-based local outlier)[7]:
Xét tập dữ liệu 2 chiều gồm 4 cụm C1, C2, C3, C4 như hình 2-13 bên dưới:
Chúng ta có thể 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
Trang 38Hình 2- 13 Minh họa điểm ngoại biên cục bộ
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 tôi sẽ
sử dụng một độ đo ngoại biên cho mỗi đối tượng là CBLOF (Cluster-Based Local Outlier Factor), được đề xuất bởi He và các cộng sự năm 2003 [7] Giá trị CBLOF được tính toán dựa theo kích thước của cụm 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:
Quy ước: |S| là kích thước của tập S chứa nhiều phần tử
Định nghĩa 2.3: Cho A1, , Am 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 × × Dm 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 }, với C i ∩ Cj = ∅ và C1∪
C 2 ∪ ∪ Ck = D Số cụm là k
Định nghĩa 2.4: (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| ≥ |C2| ≥ ≥ |Ck| 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:
(|C 1| + |C2| + + |Cb|) ≥ |D| * 𝛼 (2.8)
|C b |/|C b+1| ≥ 𝛽 (2.9)
Trang 39Vì 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 (2.8) 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
Công thức (2.9) 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
Định nghĩa 2.5: (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| ≥ |C2| ≥ ≥ |Ck| và các giá trị 𝛼, 𝛽, 𝑏, 𝐿𝐶, 𝑆𝐶 có ý
nghĩa như trong định nghĩa 2.4 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:
𝐶𝐵𝐿𝑂𝐹(𝑡) = {|𝐶𝑖| ∗ min (𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒(𝑡, 𝐶𝑗)) 𝑣ớ𝑖𝑡𝜖𝐶𝑖, 𝐶𝑖𝜖𝑆𝐶𝑣à𝐶𝑗𝜖𝐿𝐶(𝑗 = 1 → 𝑏)
|𝐶𝑖| ∗ (𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒(𝑡, 𝐶𝑖))𝑣ớ𝑖𝑡𝜖𝐶𝑖𝑣à𝐶𝑖𝜖𝐿𝐶
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)
Trang 40CHƯƠNG 3 CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN VÀ GIẢI PHÁP THỰC HIỆN ĐỀ TÀI
Chương này trình bày các nghiên cứu liên quan đến đề tài này bao gồm Giải thuật gom cụm Squeezer, giải thuật gom cụm hai chặng, các giải thuật phát hiện bất thường như BFDD, HDD và HOTSAX Chương này cũng trình bày giải thuật FindCBLDF của Kha va Anh[1] Từ đó đưa ra giải pháp thực hiện đề tài này
3.1 Giải thuật gom cụm Squeezer trong nhận dạng các điểm ngoại biên:
Gom cụm các tràng ký tự đạt được ở bước 1 bằng giải thuật gom cụm SQUEEZER và tính toán hệ số ngoại biên cho từng đối tượng Giải thuật SQUEEZER được dùng để phát hiện điểm ngoại biên cục bộ theo cụm dựa vào hệ số ngoại biên CBLOF (cluster-based local outlier factor) [7] Hệ số ngoại biên của từng chuỗi con sẽ giúp xác định các chuỗi con nào là bất thường
Cho A 1 , , A m là một tập các thuộc tính rời rạc với các miền trị lần lượt là D 1 , , D m
Cho tập dữ liệu D là một tập các bộ trị (tuple) mà mỗi bộ trị t: t D 1 D m Gọi TID
là tập hợp các định danh đơn nhất cho mỗi bộ trị Với mỗi định danh tid TID, giá trị thuộc tính A i của bộ trị tương ứng được ký hiệu là tid A i
Định nghĩa 3.1: (Cụm) Một cụm Cluster TID là một tập con của tập TID
Định nghĩa 3.2: Cho một cụm C, tập hợp tất cả những trị khác nhau của thuộc tính A i
đối với C được định nghĩa là: VAL i (C) = {tid A i | tid C} với 1 i m
Định nghĩa 3.3: Cho một cụm C, và trị a i D i , độ hỗ trợ (support) của trị a i trong cụm
C đối với thuộc tính A i được định nghĩa là: Sup(a i ) = |{tid | tid A i = a i , tid C}|
Định nghĩa 3.4: (Độ tương tự) Cho một C và một bộ trị t với định danh tid TID, độ
tương tự giữa C và tid được định nghĩa như sau: