Luận án còn cho thấy phương pháp MP_C có thể sử dụng hiệu quả cho bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian dạng luồng, một bài toán rất thời sự, đã và đang được quan tâm n
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
EXTRACTION WITH MIDDLE POINTS AND
CLIPPING METHOD)
LUẬN ÁN TIẾN SĨ KHOA HỌC MÁY TÍNH
TP HỒ CHÍ MINH NĂM 2014
Trang 2ĐẠI HỌC QUỐC GIA TP HCM
CLIPPING METHOD)
Chuyên ngành: Khoa học máy tính
Mã số chuyên ngành: 62.48.01.01
Phản biện độc lập 1: TS Nguyễn Đức Dũng
Phản biện độc lập 2: TS Vũ Tuyết Trinh
Phản biện 1: PGS TS Nguyễn Thị Kim Anh
Trang 3LỜI CAM ĐOAN
Tác giả xin cam đoan đây là công trình nghiên cứu của bản thân tác giả Các kết quả nghiên cứu và các kết luận trong luận án này là trung thực, và không sao chép từ bất kỳ một nguồn nào và dưới bất kỳ hình thức nào Việc tham khảo các nguồn tài liệu (nếu có) đã được thực hiện trích dẫn và ghi nguồn tài liệu tham khảo đúng theo yêu cầu
Tác giả luận án
Nguyễn Thành Sơn
Trang 4TÓM TẮT
Để khắc phục đặc điểm khối lượng lớn của dữ liệu chuỗi thời gian, nhiều phương pháp thu giảm số chiều dựa vào rút trích đặc trưng đã được đề xuất và sử dụng Tuy nhiên có không ít phương pháp thu giảm số chiều mắc phải hai nhược điểm quan trọng: một số phương pháp thu giảm số chiều không chứng minh được bằng toán học thỏa mãn điều kiện chặn dưới và một số phương pháp khác không đề xuất được cấu trúc chỉ mục thích hợp đi kèm để hỗ trợ việc tìm kiếm tương tự hữu hiệu
Đóng góp thứ nhất của luận án này là đề xuất một phương pháp thu giảm số
chiều mới dựa vào điểm giữa và kỹ thuật xén, có tên là MP_C (Middle points and
Clipping), và kết hợp phương pháp này với chỉ mục đường chân trời hỗ trợ việc tìm kiếm tương tự một cách hữu hiệu Qua lý thuyết và thực nghiệm, chúng tôi chứng minh được phương pháp MP_C thỏa điều kiện chặn dưới, là điều kiện nhằm đảm bảo không để xảy ra lỗi tìm sót khi tìm kiếm tương tự Thực nghiệm còn cho thấy phương pháp MP_C hiệu quả hơn một phương pháp được ưa chuộng, phương pháp xấp xỉ gộp từng đoạn (PAA- Piecewise Aggregate Approximation), và phương pháp xén dữ liệu (Clipping) về cả ba tiêu chí: độ chặt chặn dưới, tỉ lệ thu giảm truy xuất và thời gian thực thi Luận án còn cho thấy phương pháp MP_C có thể sử dụng hiệu quả cho bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian dạng luồng, một bài toán rất thời
sự, đã và đang được quan tâm nghiên cứu trong thời gian gần đây, dựa vào cách tính toán gia tăng phương pháp MP_C và chính sách cập nhật chỉ mục trì hoãn (deferred update policy)
Đóng góp thứ hai của luận án này là việc ứng dụng thành công phương pháp thu giảm số chiều MP_C và cấu trúc chỉ mục đường chân trời vào ba bài toán quan trọng trong khai phá dữ liệu chuỗi thời gian: gom cụm, phát hiện motif và dự báo trên dữ liệu chuỗi thời gian Với bài toán gom cụm, chúng tôi vận dụng tính chất đa mức phân giải của phương pháp MP_C để có thể sử dụng giải thuật I-k-Means gom cụm dữ liệu chuỗi thời gian và đề xuất thêm cách sử dụng kd-tree để xác định các trung tâm cụm ban đầu cho giải thuật I-k-Means nhằm khắc phục nhược điểm của giải thuật này khi chọn các trung tâm cụm ở mức khởi động một cách ngẫu nhiên Với bài toán phát hiện motif, chúng tôi đề xuất hai giải thuật phát hiện motif xấp xỉ trên dữ liệu chuỗi thời gian: (1) giải thuật sử dụng R*-tree kết hợp với ý tưởng từ bỏ sớm khi tính toán
Trang 5khoảng cách Euclid và (2) giải thuật vận dụng phương pháp thu giảm số chiều MP_C kết hợp với cấu trúc chỉ mục đường chân trời Trong hai giải thuật này, giải thuật thứ hai tỏ ra có hiệu quả cao hơn Với bài toán dự báo dữ liệu chuỗi thời gian, chúng tôi vận dụng phương pháp thu giảm số chiều MP_C kết hợp với cấu trúc chỉ mục đường
chân trời vào trong phương pháp dự báo “tìm kiếm k lân cận gần nhất” (k-NN) và thực
nghiệm cho thấy phương pháp này cho ra kết quả dự báo chính xác cao hơn và thời gian dự báo nhanh hơn so với mô hình mạng nơ ron nhân tạo (ANN) khi dự báo với dữ liệu có tính mùa hay xu hướng
Trang 6ABSTRACT
To overcome high dimensionality of time series data, several dimensionality duction methods, which is based on feature extraction, have been proposed and used However, a number of these methods did not provide any formal proof that they satis-
re-fy the lower bounding condition while many of them did not go with any sional index structure which helps in fast retrieval
multidimen-The first contribution of this thesis is a new dimensionality reduction method based on Middle points and Clipping, called MP_C, which performs effectively with the support of Skyline index Through formal proof and experiments on benchmark datasets, we show that MP_C satisfies the lower bounding condition which guarantees
no false dismissals Experimental results also reveal that MP_C is more effective than the popular dimensionality reduction method, Piecewise Aggregate Approximation (PAA) and the Clipping method in terms of tightness of lower bound, pruning ratio and running time We also proposed the extension of MP_C in Kontaki framework which can be applied effectively for similarity search in streaming time series
The second contribution of this thesis is the application of MP_C method to the three important time series data mining tasks: clustering, motif detection and time se-ries prediction As for clustering, we exploit the multi-resolution property of MP_C in using I-k-Means algorithm for time series clustering and propose the use of kd-tree in choosing initial centroids for I-k-Means algorithm in order to overcome the drawback
of randomly determining the initial centroids in the first level of I-k-Means As for motif discovery, we propose two algorithms for finding approximate motif in time se-ries data: (1) the algorithm that uses R*-tree combined with the idea of early abandon-ing in Euclidean distance computation and (2) the algorithm using MP_C associated with Skyline index; and between the two algorithms, the latter is more effective than the former As for time series prediction, we propose the use of MP_C with Skyline
index in a prediction approach based on a “k-nearest-neighbors” algorithm and
expe-riments show that the proposed method performs better than artificial neural network model in terms of prediction accuracy and computation time, especially for seasonal and trend time series
Trang 7LỜI CÁM ƠN
Xin bày tỏ lòng biết ơn sâu sắc đến Thầy PGS TS Dương Tuấn Anh đã tận tình hướng dẫn, động viên, chỉ bảo và đóng góp ý kiến cho việc nghiên cứu và hoàn thành Luận án Tiến sĩ này
Tôi xin gửi lời cảm ơn đến các Thầy, Cô trong khoa Khoa học và Kỹ thuật Máy tính trường Đại học Bách khoa Tp Hồ Chí Minh, các bạn trong nhóm nghiên cứu về khai phá dữ liệu chuỗi thời gian đã đóng góp nhiều ý kiến quí báu cho việc nghiên cứu luận án
Tôi cũng xin cảm ơn các đồng nghiệp và bạn bè ở khoa Công nghệ Thông tin trường Đại học Sư phạm Kỹ thuật Tp Hồ Chí Minh đã luôn động viên, khích lệ và tạo điều kiện thuận lợi giúp tôi hoàn thành luận án đúng hạn
Cảm ơn ông Nguyễn Quang Châu, Việt kiều Mỹ, đã hỗ trợ một phần kinh phí để
tôi có thể công bố và thuyết trình công trình của mình tại hội nghị ACIIDS 2012
Cảm ơn Giáo sư Tiến sĩ Hồ Tú Bảo (Viện Nghiên cứu Cao Cấp Khoa học và Công nghệ Nhật Bản) đã hỗ trợ kinh phí để tôi có thể dự hội nghị ComManTel 2013
Trang 8MỤC LỤC
DANH MỤC CÁC HÌNH ẢNH ix
DANH MỤC BẢNG BIỂU xiv
DANH MỤC CÁC TỪ VIẾT TẮT xvi
CHƯƠNG 1.GIỚI THIỆU 1
1.1 Dữ liệu chuỗi thời gian và các bài toán khai phá dữ liệu liên quan 1
1.2 Mục tiêu, đối tượng và phạm vi nghiên cứu 4
1.3 Nhiệm vụ và hướng tiếp cận của luận án 5
1.4 Tóm tắt kết quả đạt được 7
1.5 Cấu trúc của luận án 9
CHƯƠNG 2.CƠ SỞ LÝ THUYẾT VÀ CÁC CÔNG TRÌNH LIÊN QUAN 10
2.1 Các độ đo tương tự 10
2.1.1Độ đo Euclid 10
2.1.2Độ đo xoắn thời gian động 11
2.2 Thu giảm số chiều chuỗi thời gian 12
2.2.1Điều kiện chặn dưới 12
2.2.2Các phương pháp thu giảm số chiều dựa vào rút trích đặc trưng 13
2.2.3Về tính đúng đắn và tính khả chỉ mục của các phương pháp thu giảm số chiều 20
2.3 Rời rạc hóa chuỗi thời gian 21
2.4 Cấu trúc chỉ mục 22
2.4.1R-tree 22
2.4.2Chỉ mục đường chân trời 24
2.5 Tìm kiếm tương tự trên dữ liệu chuỗi thời gian 26
2.5.1Ý tưởng tổng quát 26
2.5.2So trùng toàn chuỗi và so trùng chuỗi con 26
2.5.3Độ đo khoảng cách nhóm và điều kiện chặn dưới nhóm 27
2.5.4Các phương pháp tìm kiếm tương tự liên quan 27
2.6 Tìm kiếm tương tự trên chuỗi thời gian dạng luồng 28
2.7 Phát hiện motif trên chuỗi thời gian 31
2.7.1Các khái niệm cơ bản về motif 31
2.7.2Tổng quan về một số phương pháp phát hiện motif tiêu biểu 35
2.8 Gom cụm dữ liệu chuỗi thời gian 40
2.8.1Giới thiệu 40
2.8.2Giải thuật K-Means 41
Trang 92.8.3Gom cụm bằng thuật toán I-k-Means 42
CHƯƠNG 3.THU GIẢM SỐ CHIỀU CHUỖI THỜI GIAN BẰNG PHƯƠNG PHÁP MP_C 45
3.1 Phương pháp thu giảm số chiều MP_C (Middle Points_Clipping) 45
3.2 Độ đo tương tự trong không gian đặc trưng MP_C 48
3.3 Độ phức tạp của giải thuật thu giảm số chiều theo phương pháp MP_C 51
3.4 Cấu trúc chỉ mục đường chân trời cho các chuỗi thời gian được biểu diễn bằng MP_C 52
3.4.1Vùng bao MP_C (MP_C_BR) 52
3.4.2Hàm tính khoảng cách giữa chuỗi truy vấn Q và MP_C_BR 53
3.4.3Chỉ mục đường chân trời cho phương pháp biểu diễn MP_C 55
3.4.4Xử lý các câu truy vấn có chiều dài khác nhau 57
3.5 Tìm kiếm tương tự trên dữ liệu chuỗi thời gian dạng luồng dựa vào phương pháp MP_C và chỉ mục đường chân trời 59
3.6 Kết quả thực nghiệm 60
3.6.1Thực nghiệm về bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian 61
3.6.2Thực nghiệm về tìm kiếm tương tự trên dữ liệu chuỗi thời gian dạng luồng
73
CHƯƠNG 4.PHÁT HIỆN MOTIF DỰA VÀO CẤU TRÚC CHỈ MỤC ĐA CHIỀU HOẶC CHỈ MỤC ĐƯỜNG CHÂN TRỜI 78
4.1 Phương pháp phát hiện motif dựa vào cấu trúc chỉ mục đa chiều và kỹ thuật từ bỏ sớm 78
4.2 Phát hiện motif xấp xỉ dựa trên phương pháp MP_C với sự hỗ trợ của chỉ mục đường chân trời 84
4.3 Thực nghiệm về bài toán phát hiện motif 87
4.3.1Thực nghiệm 1: So sánh ba giải thuật dùng R*-tree, RP và R*-tree kết hợp với từ bỏ sớm 88
4.3.2Thực nghiệm 2: So sánh ba giải thuật dùng R*-tree, RP và MP_C kết hợp với chỉ mục đường chân trời 91
CHƯƠNG 5.GOM CỤM CHUỖI THỜI GIAN ĐƯỢC THU GIẢM THEO PHƯƠNG PHÁP MP_C BẰNG GIẢI THUẬT I-K-MEANS 96
5.1 Tóm tắt một số kỹ thuật chọn trung tâm cụm khởi động thuật toán k-Means 96 5.2 Biểu diễn chuỗi thời gian ở nhiều mức xấp xỉ theo phương pháp MP_C 98
5.3 Kd-tree 98
5.4 Dùng kd-tree để tạo các trung tâm cụm khởi động cho thuật toán I-k-Means 99 5.5 Dùng CF-tree để tạo các trung tâm cụm khởi động cho thuật toán I-k-Means 102
5.5.1Đặc trưng cụm và CF-tree (Cluster Feature tree) 102
Trang 105.5.2Dùng CF-tree để tạo các trung tâm cụm cho thuật toán I-k-Means 104
5.6 Thực nghiệm về bài toán gom cụm 105
5.6.1Các tiêu chuẩn đánh giá chất lượng của giải thuật gom cụm 105
5.6.2Dữ liệu dùng trong thực nghiệm 107
5.6.3Kết quả thực nghiệm về bài toán gom cụm 108
CHƯƠNG 6.DỰ BÁO DỮ LIỆU CHUỖI THỜI GIAN CÓ TÍNH XU HƯỚNG HOẶC MÙA BẰNG PHƯƠNG PHÁP SO TRÙNG MẪU 114
6.1 Các công trình liên quan 114
6.2 Xu hướng và tính mùa trong dữ liệu chuỗi thời gian 116
6.3 Hai phương pháp dự báo dữ liệu chuỗi thời gian 117
6.3.1Dự báo chuỗi thời gian bằng mạng nơ ron nhân tạo 117
6.3.2Phương pháp đề xuất: k-lân cận gần nhất 120
6.4 Đánh giá bằng thực nghiệm 122
CHƯƠNG 7.KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 130
7.1 Các đóng góp chính của luận án 130
7.2 Hạn chế của luận án 131
7.3 Hướng phát triển 132
CÁC TÀI LIỆU CÔNG BỐ CỦA TÁC GIẢ 133
1 Các công trình liên quan trực tiếp đến luận án 133
2 Các công trình liên quan gián tiếp đến luận án 134
TÀI LIỆU THAM KHẢO 135
Phụ lục A Chứng minh độ đo D MP_C (Q’, C’) thỏa các tính chất của một không gian metric 147
Trang 11DANH MỤC CÁC HÌNH ẢNH
Hình 1.1 Đường biểu diễn một chuỗi thời gian 1
Hình 1.2 Ví dụ về motif là chuỗi con xuất hiện ba lần trong chuỗi thời gian dài hơn 3
Hình 2.1 Minh họa hai chuỗi thời gian giống nhau 10
Hình 2.2 Khoảng cách giữa hai đường biểu diễn rất giống nhau về hình dạng 11
Hình 2.3 Minh họa phương pháp DFT 14
Hình 2.4 Minh họa phương pháp Haar Wavelet 15
Hình 2.5 Minh họa phương pháp PAA 16
Hình 2.6 Các trường hợp hai đoạn có cùng giá trị trung bình nhưng khoảng cách Euclid khác nhau 17
Hình 2.7 Minh họa quá trình nhận dạng các điểm PIP 19
Hình 2.8 Minh họa kỹ thuật xén dữ liệu một chuỗi thời gian có chiều dài 64 20
Hình 2.9 Minh họa phương pháp SAX với a = 3 22
Hình 2.10 Minh họa R-tree 23
Hình 2.11 Minh họa các trường hợp MBR có phủ lấp và không phủ lấp 24
Hình 2.12 Minh họa SBR và SBR xấp xỉ của ba chuỗi thời gian 25
Hình 2.13 Minh họa khung thức do Kontaki và các cộng sự đề xuất 30
Hình 2.14 Một ví dụ về các chuỗi tương tự tầm thường 32
Hình 2.15 (A) Một ví dụ về hai motif có chung một số đối tượng và (B) minh họa hai motif thỏa DISTANCE(C i , C k ) > 2R 33
Hình 2.16 Giải thuật brute-force dùng phát hiện motif bậc nhất theo định nghĩa căn bản 34
Hình 2.17 Ví dụ minh họa một chuỗi thời gian T và biểu diễn SAX của các chuỗi con của T 36
Hình 2.18 Ví dụ minh họa lần lặp thứ nhất của giải thuật chiếu ngẫu nhiên 36
Hình 2.19 Một ví dụ minh họa ý tưởng sử dụng điểm tham chiếu 38
Hình 2.20 Các bước chính của thuật toán k-Means 42
Hình 2.21 Minh họa sự thực thi của thuật toán I-k-Means 43
Hình 2.22 Các bước chính của thuật toán I-k-Means 43
Trang 12Hình 3.1 Minh họa phương pháp MP_C 48
Hình 3.2 Thuật toán thu giảm số chiều chuỗi thời gian bằng phương pháp MP_C 48
Hình 3.3 Ví dụ minh họa về MP_C_BR 53
Hình 3.4 Các bước chính của thuật toán chèn thêm phần tử mới vào cây 55
Hình 3.5 Thuật toán truy vấn tầm theo ngưỡng cho trước 56
Hình 3.6 Các bước chính của thuật toán tìm k lân cận gần nhất 56
Hình 3.7 Kết quả thực nghiệm trên các tập dữ liệu khác nhau về độ chặt chặn dưới của kỹ thuật MP_C so với PAA và xén dữ liệu (a) So trùng chuỗi con (b) so trùng toàn chuỗi 63
Hình 3.8 Kết quả thực nghiệm trên các tập dữ liệu khác nhau về độ chặt chặn dưới của kỹ thuật MP_C so với hai kỹ thuật PAA và xén (a) So trùng chuỗi con (b) so trùng toàn chuỗi 63
Hình 3.9 Kết quả thực nghiệm về độ chặt chặn dưới (trường hợp so trùng chuỗi con) trên năm tập dữ liệu EEG, Economic, Hydrology, Production và Wind, với các tỉ lệ thu giảm số chiều khác nhau: 8 (hình a), 16 (hình b), 32 (hình c), 64 (hình d) và 128 (hình e) 64
Hình 3.10 Kết quả thực nghiệm về độ chặt chặn dưới (trường hợp so trùng chuỗi con) trên năm tập dữ liệu Stock, Consumer, Federal Fund, Mallat Technometrics và Burst, với các tỉ lệ thu giảm số chiều khác nhau: 8 (hình a), 16 (hình b), 32 (hình c), 64 (hình d) và 128 (hình e) 64
Hình 3.11 Kết quả thực nghiệm về độ chặt chặn dưới (trường hợp so trùng toàn chuỗi) trên năm tập dữ liệu EEG, Economic, Hydrology, Production và Wind, với các tỉ lệ thu giảm số chiều khác nhau: 8 (hình a), 16 (hình b), 32 (hình c), 64 (hình d) và 128 (hình e) 65
Hình 3.12 Kết quả thực nghiệm về độ chặt chặn dưới (trường hợp so trùng toàn chuỗi) trên năm tập dữ liệu Stock, Consumer, Federal Fund, Mallat Technometrics và Burst, với các tỉ lệ thu giảm số chiều khác nhau: 8 (hình a), 16 (hình b), 32 (hình c), 64 (hình d) và 128 (hình e) 65
Hình 3.13 Kết quả thực nghiệm về tỉ lệ thu giảm truy xuất P của so trùng chuỗi con với các tập dữ liệu thực nghiệm khác nhau và chiều dài chuỗi là 1024 (hình a), 512 (hình b) 67
Trang 13Hình 3.14 Kết quả thực nghiệm về tỉ lệ thu giảm truy xuất P của so trùng toàn chuỗi
với các tập dữ liệu thực nghiệm khác nhau và chiều dài chuỗi là 1024 (hình a), 512 (hình b) 67
Hình 3.15 Kết quả thực nghiệm về tỉ lệ thu giảm truy xuất P (trục tung) của so trùng
chuỗi con (hình a) và so trùng toàn chuỗi (hình b) với các tập dữ liệu thực nghiệm khác nhau (trục hoành) 67
Hình 3.16 Kết quả thực nghiệm về tỉ lệ thu giảm truy xuất P (trục tung) theo tỉ lệ thu
giảm số chiều khác nhau (trục hoành), với chiều dài chuỗi là 1024 (a) So trùng chuỗi con (b) So trùng toàn chuỗi 68Hình 3.17 Kết quả thực nghiệm về tỉ lệ lỗi tìm sai theo các tập dữ liệu khác nhau 69Hình 3.18 Kết quả thực nghiệm về chi phí CPU chuẩn hóa theo tỉ lệ thu giảm số chiều
khác nhau (a) so trùng toàn chuỗi, (b) và (c) so trùng chuỗi con 71Hình 3.19 Kết quả thực nghiệm về chi phí CPU chuẩn hóa theo kích thước dữ liệu, so
sánh giữa phương pháp MP_C sử dụng cấu trúc chỉ mục đường chân trời, phương pháp PAA sử dụng chỉ mục đường chân trời và phương pháp PAA
sử dụng R*-tree 71Hình 3.20 (a) Kết quả thực nghiệm về thời gian thu giảm số chiều theo chiều dài
chuỗi, (b) thời gian thu giảm số chiều theo tỉ lệ thu giảm khác nhau và (c) thời gian xây dựng cấu trúc chỉ mục theo tỉ lệ thu giảm khác nhau 73Hình 3.21 Kết quả so sánh về tỉ lệ thu giảm truy xuất, thực nghiệm trên dữ liệu Stock
với các tỉ lệ thu giảm số chiều khác nhau (8-128) và chiều dài chuỗi truy vấn khác nhau (1024 (a), 512 (b)) 74Hình 3.22 Kết quả so sánh về tỉ lệ thu giảm truy xuất, thực nghiệm trên dữ liệu
Consumer với các tỉ lệ thu giảm số chiều khác nhau (8-128) và chiều dài chuỗi truy vấn khác nhau (1024(a), 512 (b)) 74Hình 3.23 Chi phí CPU chuẩn hóa của MP_C sử dụng chỉ mục đường chân trời so
sánh với chỉ mục IDC thực nghiệm trên tập dữ liệu Consumer với (a) Các tỉ
lệ thu giảm số chiều khác nhau và (b) Kích thước dữ liệu khác nhau 75Hình 3.24 Chi phí CPU chuẩn của MP_C sử dụng chỉ mục đường chân trời so sánh với
chỉ mục IDC thực nghiệm trên tập dữ liệu Stock với các tỉ lệ thu giảm số chiều khác nhau 75
Trang 14Hình 3.25 (a) Thời gian xây dựng chỉ mục; (b) thời gian tính toán gia tăng và cập nhật
trì hoãn của kỹ thuật MP_C sử dụng chỉ mục đường chân trời so sánh với chỉ mục IDC 76
Hình 4.1 Một ví dụ về cách tính D region (s, R) 80
Hình 4.2 Minh họa trực quan ý tưởng của kỹ thuật từ bỏ sớm 82
Hình 4.3 Thuật toán phát hiện những motif bậc k hàng đầu (theo Định nghĩa 5) với sự
hỗ trợ của R*-tree 83Hình 4.4 Minh họa thuật toán tính khoảng cách Euclid kết hợp với ý tưởng từ bỏ sớm
84
Hình 4.5 Thuật toán phát hiện những motif bậc k hàng đầu (theo Định nghĩa 5) với sự
hỗ trợ của chỉ mục đường chân trời 86Hình 4.6 Minh họa các bước chính trong hai thuật toán: tìm các lân cận không tầm
thường của một chuỗi bằng chỉ mục đường chân trời và chèn chuỗi mới vào chỉ mục 87Hình 4.7 Các kết quả thực nghiệm về thời gian thực hiện và độ hữu hiệu của ba thuật
toán trên tập dữ liệu Stock với chiều dài motif khác nhau và kích thước tập
dữ liệu được chọn cố định (10000 chuỗi) 89Hình 4.8 Các kết quả thực nghiệm về thời gian thực hiện và độ hữu hiệu của ba thuật
toán trên tập dữ liệu Stock với kích thước khác nhau và chiều dài motif cố định là 512 89Hình 4.9 Các kết quả thực nghiệm về thời gian thực hiện và độ hữu hiệu của ba thuật
toán trên các tập dữ liệu khác nhau với kích thước cố định (10000 chuỗi) và chiều dài motif cố định là 512 90Hình 4.10 Kết quả thực nghiệm về thời gian thực hiện của ba thuật toán trên tập dữ
liệu Consumer (10000 chuỗi) với chiều dài motif khác nhau 91Hình 4.11 Kết quả thực nghiệm về độ hữu hiệu của ba thuật toán trên tập dữ liệu
Consumer (10000 chuỗi) với chiều dài motif khác nhau 92Hình 4.12 Kết quả thực nghiệm về thời gian thực hiện và độ hữu hiệu của ba thuật
toán trên tập dữ liệu Consumer có kích thước khác nhau, chiều dài motif được chọn cố định là 152 93
Trang 15Hình 4.13 Kết quả thực nghiệm về thời gian thực hiện và độ hữu hiệu của ba thuật
toán trên các tập dữ liệu khác có kích thước cố định (10000 chuỗi) và chiều
dài motif được chọn cố định là 152 93
Hình 4.14 Minh họa các tập dữ liệu và motif phát hiện được 95
Hình 5.1 Sự phân hoạch các đối tượng hai chiều và kd-tree tương ứng 99
Hình 5.2 Ba bước trong quá trình phân hoạch các đối tượng hai chiều 100
Hình 5.3 Thuật toán dùng kd-tree tạo trung tâm cụm ban đầu 102
Hình 5.4 Minh họa CF-tree 103
Hình 5.5 Thuật toán dùng CF-tree để tạo trung tâm cụm 105
Hình 5.6 Mười tập dữ liệu dùng để phát sinh tập dữ liệu Heterogeneous 107
Hình 5.7 Kết quả thực nghiệm về thời gian gom cụm trên tập dữ liệu Heterogeneous của bốn thuật toán k-Means, k-Means, k-Means kết hợp với kd-tree và I-k-Means kết hợp với CF-tree 109
Hình 5.8 Kết quả thực nghiệm so sánh thời gian thực hiện của bốn thuật toán 112
Hình 5.9 Kết quả đếm số lần lặp tích lũy từ mức phân giải thứ hai khi thực hiện ba thuật toán I-k-Means, I-k-Means kết hợp với kd-tree và I-k-Means kết hợp với CF-tree trên tập dữ liệu Production 112
Hình 6.1 Quá trình huấn luyện mạng nơ ron dùng cho dự báo dữ liệu chuỗi thời gian 118
Hình 6.2 Ý tưởng cơ bản của cách tiếp cận dựa trên phương pháp so trùng mẫu 120
Hình 6.3 Minh họa thuật toán dự báo dựa trên phương pháp so trùng mẫu 121
Hình 6.4 Các bước chính của thuật toán dự báo dựa trên phương pháp so trùng mẫu 122
Hình 6.5 Minh họa bốn tập dữ liệu dùng trong thực nghiệm 123
Hình 6.6 Giải thuật xây dựng mạng nơ ron của Ash 124
Trang 16DANH MỤC BẢNG BIỂU
Bảng 2.1 Tổng kết về tính đúng đắn và tính khả chỉ mục của một số phương pháp thu
giảm số chiều tiêu biểu 20
Bảng 4.1 Độ hữu hiệu với chiều dài motif khác nhau (tập dữ liệu Stock) 91
Bảng 4.2 Độ hữu hiệu với các tập dữ liệu khác nhau (chiều dài motif 512) 91
Bảng 4.3 Độ hữu hiệu với chiều dài motif khác nhau (tập dữ liệu Consumer) 94
Bảng 4.4 Độ hữu hiệu với các tập dữ liệu khác nhau (chiều dài motif 512) 94
Bảng 5.1 Ví dụ về các xấp xỉ MP_C ở ba mức phân giải đầu tiên 98
Bảng 5.2 Kết quả thực nghiệm về 5 tiêu chuẩn đánh giá trên tập 1000 chuỗi dữ liệu 108
Bảng 5.3 Kết quả thực nghiệm về 5 tiêu chuẩn đánh giá trên tập 2000 chuỗi dữ liệu 108
Bảng 5.4 Kết quả thực nghiệm về 5 tiêu chuẩn đánh giá trên tập 4000 chuỗi dữ liệu 109
Bảng 5.5 Kết quả thực nghiệm về 5 tiêu chuẩn đánh giá trên tập 6000 chuỗi dữ liệu 109
Bảng 5.6 Kết quả thực nghiệm về 5 tiêu chuẩn đánh giá trên tập 8000 chuỗi dữ liệu 109
Bảng 5.7 Kết quả thực nghiệm đánh giá bốn thuật toán bằng hàm mục tiêu theo kích thước dữ liệu 110
Bảng 5.8 Kết quả thực nghiệm đánh giá bốn thuật toán bằng hàm mục tiêu theo năm tập dữ tập khác nhau 111
Bảng 5.9 Kết quả thực nghiệm đánh giá bốn thuật toán bằng hàm mục tiêu theo số cụm khác nhau 111
Bảng 6.1 Lỗi dự báo khi thực nghiệm trên tập dữ liệu Frazer river với k thay đổi từ 1 đến 10 126
Bảng 6.2 Lỗi dự báo khi thực nghiệm trên tập dữ liệu Frazer river với một số giá trị ngưỡng T khác nhau 126
Trang 17Bảng 6.3 Lỗi dự báo của phương pháp sử dụng thuật toán k lân cận gần nhất so sánh
với phương pháp sử dụng thuật toán tìm lân cận trong phạm vi ngưỡng T cho trước với giá trị k và T tốt nhất 126 Bảng 6.4 Lỗi dự báo của phương pháp sử dụng thuật toán k lân cận gần nhất so sánh
với phương pháp ANN Thực nghiệm được thực hiện trên tập dữ liệu Temperature 127Bảng 6.5 Trung bình lỗi dự báo của phương pháp sử dụng k-NN so sánh với trung
bình lỗi dự báo của phương pháp ANN 127Bảng 6.6 Thời gian thực hiện của hai phương pháp thực nghiệm trên bốn tập dữ liệu
khác nhau 128
Trang 18DANH MỤC CÁC TỪ VIẾT TẮT
ANN Artificial Neural Network
CF-tree Cluster Feature tree
DTW Dynamic Time Warping
DFT Discrete Fourier Transform
DWT Discrete Wavelet Transform
IDC-Index Incremental Discrete Fourier Transform (DFT) Computation – Index k-NN k-Nearest Neighbors
MP_C Middle Points and Clipping
MBR Minimum Bounding Rectangle
MP_C_BR Middle Points and Clipping Bounding Rectangle
MK Mueen Keogh
MER Mean error relative to xmean
MAE Mean absolute error
MLP Multi-layer perceptrons
RP Random Projection
PAA Piecewise Aggregate Approximation
SAX Symbolic Aggregate approXimation
SBR Skyline Bounding Region
Trang 19CHƯƠNG 1 GIỚI THIỆU
Trong chương này, chúng tôi sẽ trình bày tổng quan về chuỗi thời gian và các bài toán quan trọng trong khai phá dữ liệu chuỗi thời gian Tiếp theo là mục tiêu, đối tượng, phạm vi nghiên cứu của luận án và tóm tắt kết quả nghiên cứu đạt được Cuối cùng là cấu trúc của luận án này
1.1 Dữ liệu chuỗi thời gian và các bài toán khai phá dữ liệu liên quan
Một chuỗi thời gian (time series) là một chuỗi các điểm dữ liệu được đo theo
từng khoảng 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
Hình 1.1 Đường biểu diễn một chuỗi thời gian ( [1]).
Một chuỗi thời gian dạng luồng (streaming time series) C là một chuỗi thời gian trong đó các giá trị mới tới một cách liên tục và được nối vào cuối chuỗi C theo thứ tự
thời gian Vì một chuỗi thời gian dạng luồng bao gồm một số lớn các giá trị, sự tương
tự giữa hai chuỗi thường được tính dựa trên W giá trị cuối cùng (W là chiều dài cửa sổ trượt) Cho nên, nếu W = 1024 thì mỗi chuỗi được coi như một điểm trong không gian
1024 chiều
Các bài toán thường được nghiên cứu trong khai phá dữ liệu chuỗi thời gian gồm
tìm kiếm tương tự (similarity search), gom cụm (clustering), phân lớp (classification),
Trang 20phát hiện motif (motif discovery), khai phá luật (rule discovery), phát hiện bất thường (anomaly detection), trực quan hóa (visualization), dự báo (forecast)
Những khó khăn và thách thức khi nghiên cứu về dữ liệu chuỗi thời gian [2]:
- Dữ liệu thường rất lớn Chẳng hạn, trong 1 giờ, dữ liệu điện tâm đồ (ECG) có thể lên đến 1GB
- Phụ thuộc nhiều vào yếu tố chủ quan của người dùng và tập dữ liệu khi đánh giá mức độ tương tự giữa các chuỗi thời gian
- Dữ liệu không đồng nhất: định dạng của dữ liệu khác nhau, tần số lấy mẫu khác nhau Ngoài ra, dữ liệu có thể bị nhiễu, thiếu một vài giá trị hoặc không sạch Bài toán tìm kiếm tương tự (so trùng) trong cơ sở dữ liệu chuỗi thời gian đã được
nhiều nhà nghiên cứu quan tâm trong những năm qua vì đây là bài toán cơ bản và là
một thành phần nền tảng của nhiều bài toán khác trong khai phá dữ liệu chuỗi thời gian Đây là bài toán khó vì kích thước dữ liệu chuỗi thời gian thường lớn và vì chúng
ta không thể lập chỉ mục dữ liệu chuỗi thời gian một cách dễ dàng như trong hệ thống
cơ sở dữ liệu truyền thống Một vài thí dụ về ứng dụng của tìm kiếm tương tự trên chuỗi thời gian có thể nêu ra như sau:
- Tìm trong quá khứ, những giai đoạn mà số lượng sản phẩm bán được như tháng vừa rồi
- Tìm những sản phẩm có chu kỳ doanh số giống nhau
- Tìm những đoạn nhạc trong một bài hát giống một đoạn nhạc đã có bản quyền
- Tìm những tháng trong quá khứ mà có lượng mưa giống như tháng vừa rồi
- Tìm những năm khô hạn mà mực nước các sông đều ở mức thấp
Đặc biệt, bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian dạng luồng đã
và đang trở thành một chủ đề thời sự và nhận được nhiều quan tâm nghiên cứu vì tầm quan trọng của nó trong nhiều ứng dụng của các lĩnh vực khác nhau như dự báo động đất, xem xét lưu lượng mạng Internet, xem xét đối tượng đang chuyển động, phân tích thị trường tài chính và phát hiện bất thường ( [3], [4], [5]) Trong bài toán này, các luồng dữ liệu liên tục được cập nhật khi có các điểm dữ liệu mới tới theo thời gian thực Đó là một thách thức khi nghiên cứu về bài toán này do chi phí tính toán tăng cao vì thường xuyên phải thu giảm lại số chiều của chuỗi và cập nhật chỉ mục
Trang 21Gom cụm dữ liệu chuỗi thời gian là một quá trình học không giám sát, là một công cụ độc lập để xem xét sự phân bố dữ liệu trong các tập dữ liệu lớn Bài toán này
đã được biết đến như một công cụ hiệu quả cho phép chúng ta tổng quát hóa thông tin
từ các tập dữ liệu rất lớn nhằm cung cấp thông tin hữu ích giúp người dùng có thể dễ dàng truy cập và xử lý những thông tin quan trọng trong tập dữ liệu Đó là một trong những lý do bài toán gom cụm được sử dụng rộng rãi trong nghiên cứu khai phá dữ liệu chuỗi thời gian và thường được dùng như bước tiền xử lý cho các bài toán khác như phân lớp, tiên đoán, ra quyết định, [6] Mục tiêu của gom cụm là phân hoạch dữ liệu thành các nhóm sao cho các đối tượng trong cụm là tương tự nhau còn các đối tượng khác cụm là khác nhau Do những đặc thù riêng của dữ liệu chuỗi thời gian, nhiều giải thuật gom cụm làm việc hữu hiệu trên dữ liệu thông thường lại thường không thể làm việc một cách hữu hiệu với dữ liệu chuỗi thời gian
Motif trong chuỗi thời gian là mẫu xuất hiện với tần suất cao nhất Hình 1.2 minh họa ví dụ về motif là chuỗi con xuất hiện ba lần trong chuỗi thời gian dài hơn Từ khi được hình thức hóa vào năm 2002, phát hiện motif trong dữ liệu chuỗi thời gian đã và đang được dùng để giải quyết các bài toán trong nhiều lĩnh vực ứng dụng khác nhau ví
dụ như dùng motif để kiểm tra chữ ký [7], dùng motif để phát hiện những hình ảnh lặp trong cơ sở dữ liệu hình dạng [8], dùng motif để dự báo giá chứng khoán [9] và cũng được dùng như bước tiền xử lý trong nhiều công việc khai phá dữ liệu cao cấp hơn, ví
dụ như gom cụm chuỗi thời gian [10], phân lớp chuỗi thời gian [11]
Hình 1.2 Ví dụ về motif là chuỗi con xuất hiện ba lần trong chuỗi thời gian dài hơn ( [12]) Hiển nhiên, độ phức tạp của phương pháp phát hiện chính xác motif theo kiểu brute-force là bậc hai theo số chuỗi trong cơ sở dữ liệu chuỗi thời gian hay chiều dài
Trang 22của chuỗi thời gian mà từ đó các chuỗi con được trích ra Vì lý do đó, có nhiều thuật toán phát hiện motif xấp xỉ đã được giới thiệu ( [13], [14], [12], [15], [16], [17]) Các
cách tiếp cận này thường có độ phức tạp tính toán là O(n) hay O(nlogn), với n là số
chuỗi trong cơ sở dữ liệu chuỗi thời gian hay chiều dài của chuỗi thời gian mà từ đó các chuỗi con được trích ra Độ phức tạp của các giải thuật này giảm hơn so với phương pháp tìm kiếm chính xác Tuy nhiên, chúng yêu cầu một số lớn các tham số cần xác định trước
Một số thuật toán phát hiện motif xấp xỉ thường dựa trên các kỹ thuật xử lý chuỗi
ký tự Điều này đã khuyến khích các nhà nghiên cứu tìm kiếm các phương pháp biến đổi khác nhau để chuyển chuỗi thời gian thành chuỗi ký tự, sau đó sử dụng các kỹ thuật xử lý chuỗi đã có để phát hiện motif Trong số các thuật toán đã được đề xuất,
thuật toán thông dụng là phương pháp chiếu ngẫu nhiên do Chiu và các cộng sự giới
thiệu [12] Thuật toán này có thể phát hiện motif trong thời gian tuyến tính Đây là thuật toán được trích dẫn nhiều và là cơ sở cho nhiều cách tiếp cận hiện nay trong việc giải bài toán phát hiện motif trên dữ liệu chuỗi thời gian ( [17], [18]) Tuy nhiên, các
kỹ thuật xử lý chuỗi ký tự chưa thật sự hữu hiệu khi làm việc trên chuỗi thời gian dạng
số
Dự báo trên dữ liệu chuỗi thời gian đã và đang là một công việc phức tạp và thách thức đối với các nhà nghiên cứu Tuy có một số phương pháp thường được sử dụng trên dữ liệu chuỗi thời gian như phương pháp làm trơn theo hàm mũ, mô hình ARIMA, mạng nơ ron nhân tạo Nhưng hai phương pháp đầu chỉ có thể nắm bắt được các đặc trưng tuyến tính của chuỗi thời gian, còn việc mạng nơ ron nhân tạo có thể xử
lý một cách hiệu quả dữ liệu có tính xu hướng và tính mùa hay không đang là một vấn
đề gây bàn cãi vì có những nhận định trái ngược nhau trong cộng đồng nghiên cứu về
dự báo dữ liệu chuỗi thời gian [19] Mặt khác, gần đây một số phương pháp dự báo trên dữ liệu chuỗi thời gian dựa vào hướng tiếp cận so trùng mẫu đã được ứng dụng dự báo cho một số lĩnh vực cụ thể (như thời tiết, chứng khoán, giá điện và nhu cầu sử dụng điện) và là một hướng tiếp cận đáng quan tâm
1.2 Mục tiêu, đối tượng và phạm vi nghiên cứu
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ý Một nghiên cứu khảo
Trang 23sát từ 4000 hình được lấy ngẫu nhiên trong các báo tin tức trên thế giới được xuất bản trong giai đoạn từ 1974 đến 1989 cho thấy hơn 75% là các hình biểu diễn dữ liệu chuỗi thời gian ( [20]) Năm 2006, Yang và Wu thực hiện cuộc thăm dò ý kiến từ các nhà nghiên cứu hàng đầu trong lĩnh vực khai phá dữ liệu và máy học nhằm xác định các hướng nghiên cứu nào sẽ là quan trọng và thách thức nhất cho các nghiên cứu trong tương lai thuộc lĩnh vực khai phá dữ liệu Kết quả khảo sát nêu trong bài báo
“10 Challenging Problems in Data Mining Research” cho thấy hướng nghiên cứu về khai phá dữ liệu chuỗi thời gian được xếp thứ 3 trong 10 hướng nghiên cứu sẽ là quan trọng và thách thức nhất [21]
Khi nghiên cứu các bài toán khai phá dữ liệu chuỗi thời gian, người ta thường vận dụng những kỹ thuật trong các lĩnh vực như khai phá dữ liệu, học máy, cơ sở dữ liệu, nhận dạng, xử lý tín hiệu, sinh tin học, v.v… Tuy nhiên, vì dữ liệu chuỗi thời gian thường rất lớn, những giải thuật khai phá chuỗi thời gian phải thỏa mãn hai tính chất: (1) chúng phải hữu hiệu (tức có độ phức tạp tính toán thấp) và (2) đảm bảo đưa lại kết quả đúng Trong hai tính chất trên, tính chất (1) thường được xem là quan trọng hơn tính chất (2) Những giải thuật xử lý trên chuỗi thời gian phải có độ phức tạp tính toán thấp (chẳng hạn độ phức tạp phải là tuyến tính theo độ lớn của kích thước dữ liệu) Những giải thuật có độ phức tạp tính toán cao (bậc hai trở lên) thường không được chấp nhận vì những giải thuật này sẽ không vận hành được khi dữ liệu lớn Đây
là một thách thức đã thúc đẩy chúng tôi thực hiện nghiên cứu về lĩnh vực này
Mục tiêu của luận án là đề xuất cách tiếp cận mới cho một số bài toán khai phá
dữ liệu chuỗi thời gian Đối tượng nghiên cứu là dữ liệu chuỗi thời gian với chuỗi thời
gian được định nghĩa là một chuỗi các số thực X = x1, x2, x3, x n , trong đó x i là giá trị
đo được ở thời điểm thứ i Phạm vi nghiên cứu của luận án bao gồm nghiên cứu bốn
bài toán quan trọng trong khai phá dữ liệu chuỗi thời gian, đó là: tìm kiếm tương tự, gom cụm, phát hiện motif và dự báo trên dữ liệu chuỗi thời gian, trong đó tìm kiếm tương tự là bài toán nền tảng
1.3 Nhiệm vụ và hướng tiếp cận của luận án
Hướng tiếp cận chung thường được sử dụng cho các bài toán trong khai phá dữ
liệu chuỗi thời gian là thực hiện chúng trong không gian đặc trưng (feature space) của
dữ liệu Như vậy điều đầu tiên và cơ bản nhất trước khi thực hiện các bài toán trong
Trang 24khai phá dữ liệu chuỗi thời gian là các chuỗi thời gian cần được biểu diễn trong không gian đặc trưng bằng một kỹ thuật thu giảm số chiều nào đó Sau đó thực hiện các bài toán khai phá dữ liệu trong không gian đặc trưng của chuỗi thời gian Các nội dung nghiên cứu trong luận án cũng được định hướng đi theo cách tiếp cận này
Thời gian qua, nhiều phương pháp thu giảm số chiều dựa vào rút trích đặc trưng
đã được đề xuất và sử dụng Tuy nhiên có không ít phương pháp thu giảm số chiều mắc phải hai nhược điểm quan trọng: một số phương pháp thu giảm số chiều không
chứng minh được bằng toán học thỏa mãn điều kiện chặn dưới (chương 2, mục 2.2.1),
ví dụ như các phương pháp dựa vào điểm quan trọng [22], [23], [24], [25], [26] và một
số phương pháp khác không đề xuất được cấu trúc chỉ mục đa chiều thích hợp đi kèm
để hỗ trợ việc tìm kiếm tương tự hữu hiệu, ví dụ như phương pháp xén dữ liệu [27]
Vì vậy nhiệm vụ quan trọng đầu tiên của luận án là đề xuất một kỹ thuật thu giảm số chiều mới thỏa yêu cầu là không những có thể lưu trữ các đặc trưng về mặt giá trị mà còn cả hình dạng xấp xỉ của dữ liệu chuỗi thời gian nhưng vẫn phải đảm bảo điều kiện chặn dưới Ngoài ra kỹ thuật đó có thể áp dụng cho trường hợp tìm kiếm tương tự với các chuỗi truy vấn có chiều dài khác nhau và có thể kết hợp với một cấu trúc chỉ mục đa chiều hỗ trợ việc tìm kiếm tương tự một cách hữu hiệu
Nhiệm vụ thứ hai là ứng dụng kỹ thuật thu giảm số chiều được đề xuất vào bài toán gom cụm Hai giải thuật thường được sử dụng trong gom cụm dữ liệu chuỗi thời gian là k-Means và I-k-Means Điểm yếu của thuật toán k-Means là chất lượng của gom cụm phụ thuộc vào sự lựa chọn các trung tâm cụm ban đầu Vì vậy, nếu kết quả lựa chọn các trung tâm cụm để khởi động thuật toán không tốt thì chất lượng của kết quả gom cụm sẽ bị giảm và thời gian thực thi của thuật toán sẽ kéo dài hơn Thuật toán I-k-Means khắc phục được những điểm yếu này của thuật toán k-Means Ngoài ra nó còn cho phép người dùng tạm dừng hoặc kết thúc thuật toán tại bất kỳ thời điểm nào Tuy nhiên, để có thể áp dụng thuật toán I-k-Means, kỹ thuật thu giảm số chiều sử dụng phải có tính chất đa mức phân giải (multi-resolution) và các trung tâm cụm khởi động thuật toán (ở lượt lặp đầu tiên) vẫn còn được chọn một cách ngẫu nhiên
Dựa vào những ưu điểm của giải thuật I-k-Means, chúng tôi sử dụng giải thuật này để thực hiện gom cụm dữ liệu chuỗi thời gian, nhưng đề xuất một phương pháp có thể xác định các trung tâm cụm tốt hơn tại mức khởi động cho giải thuật I-k-Means
Trang 25nhằm khắc phục nhược điểm của giải thuật do cách chọn trung tâm cụm ngẫu nhiên ở lượt lặp đầu tiên mang lại
Nhiệm vụ thứ ba của luận án là ứng dụng kỹ thuật thu giảm số chiều được đề xuất vào bài toán phát hiện motif Qua nghiên cứu về các phương pháp phát hiện motif trên chuỗi thời gian đã được giới thiệu, chúng tôi thấy rằng mặc dù gần đây có các nghiên cứu đi theo hướng phát hiện motif chính xác, chúng tôi tin rằng cách tiếp cận phát hiện motif xấp xỉ vẫn tiếp tục là lựa chọn tốt nhất trong nhiều ứng dụng của các lĩnh vực khác nhau do tính hiệu quả về mặt thời gian và/hoặc không gian của cách tiếp cận này Hơn nữa, vấn đề phát hiện motif xấp xỉ mà có thể phân tích trực tiếp trên dữ liệu số vẫn còn là một thách thức khó khăn Điều này thúc đẩy chúng tôi nghiên cứu một phương pháp phát hiện motif hiệu quả theo hướng tiếp cận này
Ngoài ra, hai nhiệm vụ thêm nữa được đặt ra là ứng dụng phương pháp thu giảm
số chiều được đề xuất vào: (1) bài toán dự báo trên dữ liệu chuỗi thời gian có tính xu hướng hoặc biến đổi theo mùa dựa vào hướng tiếp cận so trùng mẫu và (2) bài toán tìm kiếm tương tự trên chuỗi thời gian dạng luồng dựa vào ý tưởng tính toán thu giảm
số chiều gia tăng và cập nhật chỉ mục trì hoãn
1.4 Tóm tắt kết quả đạt được
Với nhiệm vụ đầu tiên của luận án, chúng tôi đã đề xuất được một kỹ thuật thu
giảm số chiều dữ liệu chuỗi thời gian dựa trên phương pháp điểm giữa kết hợp với kỹ thuật xén, gọi là MP_C (Middle Points and Clipping) Kỹ thuật này được thực hiện
bằng cách chia chuỗi thời gian thành nhiều đoạn, một số điểm trong mỗi đoạn sẽ được chọn (số điểm này do người dùng xác định), sau đó dùng kỹ thuật xén để chuyển các điểm được chọn thành chuỗi bit Chuỗi bit và các giá trị trung bình của các đoạn được lưu trữ như các đặc trưng của chuỗi Ưu điểm của phương pháp này là không những có thể lưu được đặc trưng về giá trị mà còn lưu trữ được cả đặc trưng về hình dạng xấp xỉ của chuỗi mà vẫn không tốn nhiều không gian lưu trữ và thời gian thực hiện tăng không đáng kể Mặt khác, chuỗi bit được lưu trữ còn giúp nâng cao độ chính xác của
xấp xỉ Ngoài ra, phương pháp này có thể được kết hợp với chỉ mục đường chân trời
(Skyline index) nhằm hỗ trợ việc tìm kiếm tương tự một cách hữu hiệu
Đồng thời chúng tôi cũng đã xây dựng một độ đo tương tự mới cho hai chuỗi trong không gian đặc trưng MP_C và đã chứng minh độ đo này thỏa điều kiện chặn
Trang 26dưới Thực nghiệm cho thấy phương pháp MP_C hiệu quả hơn so với phương pháp
PAA (Piecewise Aggregate Approximation) thường được sử dụng và kỹ thuật xén (Clipping) về các chỉ số độ chặt của chặn dưới (the tightness of lower bound) và tỉ lệ thu giảm truy xuất (the pruning power) Trong bài toán tìm kiếm tương tự, phương
pháp MP_C với sự hỗ trợ của chỉ mục đường chân trời thực thi nhanh hơn so với phương pháp PAA dựa trên R*-tree hoặc chỉ mục đường chân trời
Thực hiện nhiệm vụ tiếp theo, dựa vào tính chất đa phân giải của phương pháp MP_C, chúng tôi đã tiến hành gom cụm dữ liệu chuỗi thời gian được thu giảm bằng kỹ thuật MP_C theo phương pháp gom cụm có thời gian thực thi tùy chọn bằng giải thuật I-k-Means Để khắc phục nhược điểm của thuật toán I-k-Means do cách chọn các trung tâm cụm ở mức khởi động (mức 2) một cách ngẫu nhiên gây ra, chúng tôi sử
dụng kd-tree để chọn k trung tâm cụm ở mức khởi động Ngoài ra, chúng tôi cũng thực
nghiệm việc tạo các trung tâm cụm khởi động bằng CF-tree nhằm so sánh hai kỹ thuật khởi tạo trung tâm cụm này
Với nhiệm vụ thứ ba, chúng tôi đã đề xuất được hai phương pháp phát hiện motif xấp xỉ trong chuỗi thời gian: (1) sử dụng R*-tree kết hợp với ý tưởng từ bỏ sớm việc tính khoảng cách Euclid (chương 4, mục 4.1) và (2) dựa trên phương pháp thu giảm số chiều MP_C với sự hỗ trợ của chỉ mục đường chân trời (chương 4, mục 4.2)
Phương pháp (1) có thể phân tích trực tiếp trên dữ liệu chuỗi thời gian dạng số
mà không cần phải qua giai đoạn rời rạc hóa như một số phương pháp phát hiện motif
đã được giới thiệu và phương pháp này đạt hiệu quả về mặt thời gian lẫn không gian
lưu trữ vì chỉ cần lưu các vùng bao hình chữ nhật nhỏ nhất (Minimum Bounding
Rec-tangle – MBR) của dữ liệu trong bộ nhớ và chỉ cần một lần quét qua toàn bộ dữ liệu cùng với một số ít lần truy cập đĩa để thẩm định lại kết quả Tuy nhiên phương pháp này có một nhược điểm đó là R*-tree dựa vào vùng bao hình chữ nhật nhỏ nhất có thể thực hiện không tốt trong trường hợp dữ liệu chuỗi thời gian có số chiều cao
Phương pháp (2) khắc phục được nhược điểm của phương pháp (1) và kết quả thực nghiệm cho thấy phương pháp (2) có thời gian thực thi nhanh hơn và có độ hữu hiệu tốt hơn so với phương pháp (1)
Ngoài những yêu cầu ban đầu, chúng tôi còn cho thấy kỹ thuật MP_C có thể sử dụng hiệu quả cho bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian dạng luồng
Trang 27dựa trên cách tính toán gia tăng của phương pháp MP_C và ý tưởng cập nhật trì hoãn như của phương pháp chỉ mục IDC ( [4], [5])
Chúng tôi cũng ứng dụng phương pháp MP_C kết hợp với chỉ mục đường chân trời vào bài toán dự báo dữ liệu chuỗi thời gian có tính chất xu hướng hoặc theo mùa
Phương pháp dự báo này dựa trên phương pháp so trùng mẫu sử dụng thuật toán tìm k
lân cận gần nhất (k-nearest neighbors) hoặc các lân cận trong phạm vi một ngưỡng cho trước
1.5 Cấu trúc của luận án
Phần còn lại của luận án được tổ chức như sau Trong chương 2, chúng tôi trình bày tóm tắt các công trình liên quan và các khái niệm căn bản liên quan tới các vấn đề được nghiên cứu Các đóng góp của luận án về các vấn đề nghiên cứu được trình bày trong các chương 3, 4, 5 và 6 Trong đó:
- Chương 3 trình bày vấn đề thu giảm số chiều chuỗi thời gian bằng phương pháp MP_C, bao gồm: phương pháp thu giảm số chiều MP_C được đề xuất trong luận
án cùng với độ đo tương tự được định nghĩa dựa trên nó, cấu trúc chỉ mục đường chân trời cho các chuỗi MP_C cùng với độ đo tương tự được định nghĩa trên cấu trúc này và bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian dạng luồng
- Chương 4 trình bày về hai phương pháp phát hiện motif dựa vào cấu trúc chỉ mục
đa chiều (R*-tree) và chỉ mục đường chân trời do chúng tôi đề xuất
- Chương 5 trình bày về bài toán gom cụm chuỗi thời gian được thu giảm bằng kỹ thuật MP_C theo phương pháp gom cụm có thời gian thực thi tùy chọn (sử dụng giải thuật I-k-Means) được khởi động bằng kd-tree hoặc CF-tree
- Chương 6 Trình bày về ứng dụng phương pháp MP_C kết hợp với chỉ mục đường chân trời vào bài toán dự báo dữ liệu chuỗi thời gian
- Chương 7 là phần kết luận về các công việc đã nghiên cứu, một số hạn chế của luận án và hướng phát triển
Trang 28CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VÀ CÁC CÔNG TRÌNH LIÊN QUAN
Trong chương này, chúng tôi giới thiệu tóm tắt cơ sở lý thuyết về các độ đo tương tự, các phương pháp thu giảm số chiều, rời rạc hóa dữ liệu chuỗi thời gian, các cấu trúc chỉ mục thường dùng và các công trình liên quan tới các bài toán được nghiên cứu trong luận án: tìm kiếm tương tự, gom cụm và phát hiện motif trên dữ liệu chuỗi thời gian
2.1 Các độ đo tương tự
Có nhiều độ đo tương tự đã được sử dụng: độ đo Euclid, độ đo tương tự giữa các chuỗi nhị phân [28], độ đo tương tự giữa các hàm mật độ xác xuất [29], độ đo xoắn thời gian động [30], độ đo chuỗi con chung dài nhất [31] Việc chọn một độ đo tương
tự tùy thuộc rất nhiều vào lĩnh vực ứng dụng Trong nhiều trường hợp thì một độ đo
thuộc chuẩn L p đơn giản như độ đo Euclid là đủ tốt để dùng Dưới đây là hai độ đo thường được sử dụng trong khai phá chuỗi thời gian
X D
1
2
) , (
Độ đo này có ưu điểm tính toán dễ dàng Tuy nhiên nó cũng có một số nhược điểm là do phương pháp này tính toán dựa trên các cặp giá trị tương ứng trong hai chuỗi nên đối với các trường hợp tính chất của hai mẫu là giống nhau nhưng giá trị khác nhau (có đường căn bản khác nhau hay có biên độ dao động khác nhau) thì khoảng cách hai mẫu sẽ rất khác nhau Hình 2.1 minh họa trường hợp này
Hình 2.1 Minh họa hai chuỗi thời gian giống nhau
nhưng (a) đường cơ bản khác nhau và (b) biên độ giao động khác nhau ( [32])
(2.1)
, với x i X, y i Y, i = 1, …, n
Trang 29Để khắc phục trường hợp này trước khi áp dụng các giải thuật ta cần thực hiện chuẩn hóa dữ liệu Các phương pháp chuẩn hóa thường được dùng là:
- Chuẩn hóa trung bình zero (Zero-Mean normalization) [33]
Chuỗi Q được biến đổi thành chuỗi Q‟ theo công thức
Q’[i] = (Q[i]- mean(Q)) / var(Q) Với mean(Q) là giá trị trung bình của Q và var(Q) là độ lệch chuẩn của Q
- Chuẩn hóa nhỏ nhất-lớn nhất (Min-Max normalization) [33]
Chuỗi Q được biến đổi thành chuỗi Q’ theo công thức
new new
new old
old
Min Max
Min i
Q i
Với Minold và Maxold là giá trị nhỏ nhất và lớn nhất của chuỗi ban đầu
Minnew và Maxnew là giá trị nhỏ nhất và lớn nhất của chuỗi sau khi được chuẩn hóa
2.1.2 Độ đo xoắn thời gian động
Trong trường hợp hai mẫu cần so sánh có hai đường biểu diễn không hoàn toàn giống nhau nhưng hình dạng biến đổi rất giống nhau thì khi so sánh độ tương tự giữa
hai mẫu bằng cách so sánh từng cặp điểm 1-1 (so điểm thứ i của đường thứ nhất và điểm thứ i của đường thứ hai) là không phù hợp Hình 2.2 minh họa hai đường biểu
diễn rất giống nhau về hình dạng nhưng lệch nhau về thời gian
Hình 2.2 Khoảng cách giữa hai đường biểu diễn rất giống nhau về hình dạng
nhưng lệch nhau về thời gian
(a) tính theo độ đo Euclid và (b) tính theo độ đo DTW ( [32])
Trong trường hợp này, nếu tính khoảng cách bằng cách ánh xạ 1-1 giữa hai đường thì kết quả rất khác nhau và có thể dẫn đến kết quả cuối cùng không giống như mong muốn Vì vậy để khắc phục nhược điểm này, một điểm có thể ánh xạ với nhiều
(2.3) (2.2)
Trang 30điểm và ánh xạ này không thẳng hàng Phương pháp này gọi là xoắn thời gian động
(Dynamic Time Warping - DTW) [30]
Độ đo tương tự DTW có ưu điểm là cho kết quả chính xác hơn so với độ đo lid và cho phép nhận dạng mẫu có hình dạng giống nhau nhưng chiều dài hình dạng về thời gian có thể khác nhau Độ đo tương tự này có nhược điểm là thời gian chạy lâu, tuy nhiên gần đây đã có những công trình tăng tốc độ tìm kiếm tương tự dùng độ đo DTW, tiêu biểu nhất là công trình của Keogh và các cộng sự, năm 2002 [34]
Euc-2.2 Thu giảm số chiều chuỗi thời gian
Dữ liệu chuỗi thời gian thường rất lớn nên việc tìm kiếm trực tiếp trên dữ liệu chuỗi thời gian gốc sẽ không hiệu quả Để khắc phục vấn đề này, cách tiếp cận chung thường được sử dụng bao gồm các bước sau:
1 Áp dụng một số phương pháp biến đổi xấp xỉ để thu giảm độ lớn của dữ liệu sao cho vẫn giữ được các đặc trưng của dữ liệu Các phương pháp biến đổi xấp xỉ này
thường được gọi là những phương pháp thu giảm số chiều (dimensionality
reduc-tion)
2 Thực hiện bài toán trên dữ liệu xấp xỉ, ta thu được tập kết quả xấp xỉ
3 Dựa trên tập kết quả xấp xỉ này, thực hiện truy cập đĩa để thực hiện hậu kiểm trên
dữ liệu gốc nhằm loại bỏ các chuỗi tìm sai trong tập kết quả xấp xỉ
2.2.1 Điều kiện chặn dưới
Do khi xấp xỉ dữ liệu sẽ gây ra mất mát thông tin, nên khi thực hiện trên dữ liệu
xấp xỉ có thể xảy ra lỗi tìm sót (false dismissal) và/hoặc tìm sai (false alarm) Để đảm
bảo có kết quả chính xác, lỗi tìm sót không được phép xảy ra Mặt khác, lỗi tìm sai cũng nên thấp để giảm chi phí trong quá trình hậu kiểm
Lỗi tìm sót xảy ra khi một chuỗi S trong cơ sở dữ liệu tương tự với chuỗi cần tìm
nhưng kết quả tìm kiếm không có chuỗi S Lỗi tìm sai xảy ra khi một chuỗi S trong cơ
sở dữ liệu khác với chuỗi cần tìm nhưng kết quả tìm kiếm lại có chuỗi S Hậu kiểm là
quá trình kiểm tra lại trên dữ liệu gốc các chuỗi tìm được trong không gian thu giảm tương tự với chuỗi cần tìm nhằm loại bỏ các chuỗi tìm sai
Một kết quả quan trọng đã được Faloutsos và các cộng sự chứng minh là để không xảy ra lỗi tìm sót thì độ đo khoảng cách sử dụng trong không gian xấp xỉ (đặc
Trang 31trưng) phải là chặn dưới của độ đo khoảng cách sử dụng trong không gian gốc [35]
Nghĩa là, D feature (X’, Y’) ≤ D(X, Y) với D feature (X’, Y’) là độ đo khoảng cách giữa hai chuỗi xấp xỉ của hai chuỗi ban đầu X, Y và D(X, Y) là độ đo khoảng cách giữa hai chuỗi X, Y Điều kiện này được gọi là bổ đề chặn dưới (lower bounding lemma)
Bổ đề (Chặn dưới) Để đảm bảo không xảy ra lỗi tìm sót khi truy vấn tầm (range
query), phương pháp thu giảm số chiều (rút trích đặc trưng) phải thỏa mãn công thức
truy vấn tầm trên không gian đặc trưng Tức là chúng ta mong muốn chứng minh rằng:
lower bound)
2.2.2 Các phương pháp thu giảm số chiều dựa vào rút trích đặc trưng
Thu giảm số chiều là phương pháp biểu diễn chuỗi thời gian n chiều X = {x1, x2,
…, x n } thành chuỗi thời gian có N chiều Y = {y1, y2, …, y N } với N << n, sao cho vẫn
giữ được các đặc trưng cần quan tâm của chuỗi thời gian ban đầu Phương pháp tổng quát để thu giảm số chiều có thể tóm tắt như sau:
1 Thiết lập một độ đo tương tự D
2 Thiết kế một kỹ thuật thu giảm số chiều để rút trích đặc trưng có chiều dài N trong một chuỗi thời gian có chiều dài n (N << n), với N có thể được xử lý một cách hữu
hiệu nhờ một cấu trúc chỉ mục không gian (đa chiều)
Trang 323 Cung cấp một độ đo tương tự d N trên một không gian đặc trưng N chiều và chứng minh rằng nó tuân thủ điều kiện chặn dưới: D N (X’, Y’) ≤ D(X, Y)
Có ba nhóm phương pháp chính để thu giảm số chiều là: (1) các phương pháp
biến đổi sang miền tần số như biến đổi Fourier rời rạc (Discrete Fourier Transform - DFT) [36], biến đổi Wavelet rời rạc (Discrete Wavelet Transform - DWT) [37]; (2) các phương pháp xấp xỉ tuyến tính từng đoạn như xấp xỉ gộp từng đoạn (Piecewise Aggregate Approximation - PAA) [38], xấp xỉ hằng số từng đoạn thích nghi (Adaptive
Piecewise Constant Approximation - APCA) [39]; và (3) các phương pháp dựa vào
điểm quan trọng như mô hình điểm mốc (Landmark Model) [22], phương pháp điểm cực trị (Major Extrema) [25] [26], phương pháp PIP (Perceptually Important Points)
[23] Dưới đây chúng tôi sẽ trình bày một số phương pháp tiêu biểu
Phương pháp biến đổi Fourier rời rạc
Kỹ thuật thu giảm số chiều áp dụng phương pháp DFT do Agrawal và các cộng
sự đề xuất đầu tiên năm 1993 [36] Ý tưởng cơ bản của phương pháp này là để thu
giảm số chiều một chuỗi thời gian X có chiều dài n vào không gian đặc trưng N chiều (N << n), chuỗi thời gian ban đầu được biến đổi thành tập các hệ số (gọi là hệ số
Fourier), các hệ số này có dạng sóng hình sin (và/hoặc cosin) và được tính theo công thức sau:
Trong đó, C k là số phức với k = 0, …, n-1, x t là giá trị thứ t của chuỗi thời gian,
t t
Trang 33Sau đó tổ hợp tuyến tính các sóng này ta có được dạng biểu diễn mong muốn
(Hình 2.3) Một chuỗi thời gian được biến đổi theo cách này gọi là biến đổi vào miền tần số Độ phức tạp của phép biến đổi Fourier nhanh (Fast Fourier Transform-FFT) là O(nlogn) với n là số lượng điểm và phương pháp này thích hợp với các loại đường
biểu diễn dữ liệu khác nhau, tuy nhiên chúng cũng có nhược điểm là khó giải quyết khi các chuỗi có chiều dài khác nhau
Phương pháp biến đổi Wavelet rời rạc
Phương pháp DWT do Chan và Fu đề xuất năm 1999 [37] Phương pháp này giống như DFT, tuy nhiên trong khi hàm cơ sở của phương pháp DFT có dạng hình sin
và các hệ số Fourier luôn biểu diễn sự phân bố toàn cục của dữ liệu, thì hàm cơ sở thường được dùng trong phương pháp DWT là hàmHaar như trong Hình 2.4 và các hệ
số Wavelet là những đoạn con cục bộ theo thời gian của dữ liệu được nghiên cứu Ngoài sử dụng hàm Haar, phương pháp DWT có thể sử dụng các hàm cơ sở khác như
Daubechies, Coiflet, Symmlet, … Tuy nhiên, Haar Wavalet đã được sử dụng rất nhiều
trong khai phá dữ liệu chuỗi thời gian [40]
Hình 2.4 Minh họa phương pháp Haar Wavelet ( [38])
Phương pháp DWT rất hiệu quả vì nó mã hóa đơn giản và nhanh Phương pháp
này cũng thích hợp với những dữ liệu tĩnh ít thay đổi do đường Haar không thay đổi liên tục Độ phức tạp của phép biến đổi DWT là O(n), với n là chiều dài của chuỗi thời
gian Nhược điểm của phương pháp này là chiều dài chuỗi dữ liệu ban đầu phải là một
số lũy thừa 2
Trang 34 Phương pháp xấp xỉ gộp từng đoạn
Phương pháp xấp xỉ gộp từng đoạn (PAA) do Keogh và cộng sự đề xuất năm
2000 [38] Theo phương pháp này, chuỗi thời gian ban đầu được chia thành N đoạn
con có kích thước bằng nhau, sau đó tính trung bình của các điểm dữ liệu nằm trong
mỗi đoạn con Như vậy, chuỗi thời gian được xấp xỉ bằng N giá trị trung bình đó Kết
quả cuối cùng là đường thẳng có dạng bậc thang
Cho chuỗi dữ liệu thời gian X = (x 1, x 2,…, x n ), phương pháp PAA sẽ biến đổi chuỗi
này thành chuỗi với (N<<n) theo công thức sau:
Hình 2.5 minh họa phương pháp này
Hình 2.5 Minh họa phương pháp PAA ( [38])
Ưu điểm của phương pháp này là đơn giản, thời gian tính toán rất nhanh và cách
biểu diễn của nó hỗ trợ nhiều phương pháp tính khoảng cách (Euclid, DTW) Nhưng
nhược điểm của nó là phương pháp có thể bỏ qua những điểm đặc biệt trong từng đoạn xấp xỉ của chuỗi thời gian Vì vậy, trong nhiều trường hợp các đoạn có giá trị trung bình bằng nhau nhưng về khoảng cách Euclid rất khác nhau
Hình 2.6 là hai ví dụ minh họa cho các trường hợp này Nhược điểm này làm cho PAA không thích hợp với một số dữ liệu chuỗi thời gian trong lĩnh vực tài chính [41] Ngoài ra, chặn dưới của phương pháp PAA cũng chưa thật sự chặt
( 1) 1
n i N
n
j i N
(2.5)
Trang 35Hình 2.6 Các trường hợp hai đoạn có cùng giá trị trung bình
nhưng khoảng cách Euclid khác nhau
Năm 2001, Keogh và các cộng sự đưa ra một cách tiếp cận tổng quát hơn so với
PAA Phương pháp này được gọi là xấp xỉ hằng số từng đoạn thích nghi (APCA –
Adaptive Piecewise Constant Approximation) [39], nó cho phép các đoạn con có chiều dài khác nhau nhằm xấp xỉ tốt hơn chuỗi thời gian
Phương pháp xấp xỉ tuyến tính từng đoạn
Phương pháp xấp xỉ tuyến tính từng đoạn (Piecewise Linear Approximation –
PLA) do Keogh và cộng sự đề nghị từ năm 1998 ( [42], [43]) Trong phương pháp này
ta sẽ biểu diễn dữ liệu ban đầu bằng chuỗi các đoạn thẳng tuyến tính Mỗi đoạn thẳng tuyến tính nối cặp điểm ở hai đầu đoạn thẳng là xấp xỉ tốt nhất (best-fit) những điểm
có trong đoạn chuỗi thời gian đó Các đoạn thẳng này có thể rời nhau hoặc liên tục Cách biểu diễn này rất trực quan và phù hợp để thu giảm số chiều cho tất cả các loại
dữ liệu chuỗi thời gian
PLA là một phương pháp thu giảm số chiều được ưa chuộng từ khi nó ra đời mặc
dù nó không hề được chứng minh thỏa điều kiện chặn dưới và cũng không hề có cấu trúc chỉ mục đa chiều nào hỗ trợ Mãi đến năm 2007, Chen và các cộng sự [44] đã
nghiên cứu cải tiến phương pháp PLA thành phương pháp PLA khả chỉ mục (indexable
PLA) và họ đã chứng minh được PLA khả chỉ mục thỏa điều kiện chặn dưới và có thể
sử dụng với R-tree như là cấu trúc chỉ mục hỗ trợ
Các phương pháp thu giảm số chiều dựa vào điểm quan trọng
(a)
Trang 36được gọi là điểm mốc cấp n của một đường cong nếu đạo hàm cấp n của điểm đó bằng
0 Như vậy, các điểm cực đại, cực tiểu địa phương là các điểm mốc cấp 1, còn các điểm uốn là các điểm mốc cấp 2 Càng nhiều loại điểm mốc khác nhau được dùng thì chuỗi thời gian được biểu diễn càng chính xác, tuy nhiên điều này sẽ làm cho cây chỉ mục lớn lên
Một kỹ thuật làm trơn (smoothing) cũng được đưa vào phương pháp điểm mốc
để giúp loại bỏ những điểm mốc không quan trọng, chẳng hạn, một cực trị địa phương biểu diễn sự dao động nhỏ không thể quan trọng như các điểm cực trị toàn cục
- Phương pháp điểm cực trị
Năm 2003, Fink and Pratt đã đề xuất một kỹ thuật thu giảm số chiều dựa trên việc trích các điểm quan trọng trong chuỗi thời gian [25] Các điểm quan trọng được lấy là các điểm cực đại và cực tiểu quan trọng và bỏ qua các điểm biến đổi nhỏ Tỉ số
nén được kiểm soát bằng tham số R > 1 Khi tăng R sẽ có ít điểm được lấy hơn Các
điểm cực trị quan trọng được định nghĩa như sau:
Điểm a m trong chuỗi a1,…, a n được gọi là một cực tiểu quan trọng nếu có một cặp chỉ số i, j sao cho i m j, mà: a m là cực tiểu trong đoạn a i …a j và a i /a m R và
a j /a m R
Tương tự, điểm a m trong chuỗi a1,…, a n được gọi là một cực đại quan trọng nếu
có một cặp chỉ số i, j sao cho i m j, mà: a m là cực đại trong đoạn a i …a j và a m /a i R
và a m /a j R
Fink và Gandhi [26] đã đề xuất giải thuật trích ra những điểm cực trị quan trọng,
giải thuật này có độ phức tạp O(n) Nó quét qua chuỗi thời gian một lần và không cần
qua giai đoạn tiền xử lý
- Phương pháp điểm PIP
Năm 2001, Chung và các cộng sự đưa ra kỹ thuật thu giảm số chiều dựa vào các
điểm PIP (Perceptually Important Points) [23] Giải thuật xác định các điểm PIP như
sau:
Với một chuỗi thời gian T đã được chuẩn hóa, hai điểm PIP đầu tiên được chọn
là điểm đầu tiên và điểm cuối cùng của chuỗi T Điểm PIP thứ ba được chọn là điểm trong T có khoảng cách lớn nhất so với hai điểm PIP đầu tiên Điểm PIP thứ tư được chọn là điểm trong T có khoảng cách lớn nhất so với hai điểm PIP kế cận đã chọn (có
Trang 37thể là điểm đầu và điểm thứ ba hoặc điểm thứ ba và điểm cuối) Tiến trình xác định
các điểm PIP tiếp tục cho đến khi số điểm PIP đạt được số điểm yêu cầu Khoảng cách giữa một điểm trong T với hai điểm PIP kế cận đã chọn là khoảng cách thẳng đứng
(Vertical Distance) từ điểm cần tính tới đường nối hai điểm PIP kế cận đã chọn
Những ưu điểm của phương pháp thu giảm số chiều dựa vào điểm quan trọng là (1) phù hợp với trực giác, (2) các chuỗi thời gian có chiều dài khác nhau có thể so trùng và (3) có thể thu giảm số chiều ở nhiều mức phân giải khác nhau Thông qua thực nghiệm các tác giả cho thấy rằng cách tiếp cận dựa vào các điểm quan trọng là hiệu quả Tuy nhiên, họ chưa chứng minh về mặt lý thuyết tính chính xác của phương pháp này, tức là thỏa được điều kiện chặn dưới Ngoài ra, các phương pháp thu giảm
số chiều dựa vào điểm quan trọng còn có một nhược điểm khác là không đề xuất được cấu trúc chỉ mục đa chiều nào hỗ trợ
Hình 2.7 minh họa quá trình nhận dạng các điểm PIP trên một chuỗi thời gian
Hình 2.7 Minh họa quá trình nhận dạng các điểm PIP ( [23])
Phương pháp xén dữ liệu
Phương pháp xén dữ liệu (Clipping) do Ratanamahatana và các cộng sự đề xuất
năm 2005 [27] Xén dữ liệu là một tiến trình biến đổi các giá trị số thực của một chuỗi
thời gian C = (c1, …, c n ) thành một chuỗi bit b tùy thuộc giá trị đó nằm trên hay dưới
đường trung bình của chuỗi Quá trình biến đổi được thực hiện theo công thức sau:
trong đó, là giá trị trung bình của chuỗi Không mất tính tổng quát, tác giả giả định rằng = 0 Hình 2.8 minh họa kỹ thuật xén dữ liệu một chuỗi thời gian có chiều dài là
nếu ct > ngược lại
Trang 38Ưu điểm của kỹ thuật xén dữ liệu là (1) giữ được đặc trưng về hình dạng xấp xỉ của chuỗi thời gian, (2) có tỉ số nén cao tối thiểu là 32:1, (3) cho phép so sánh trực tiếp giữa chuỗi truy vấn gốc và biễu diễn xấp xỉ đồng thời vẫn thỏa điều kiện chặn dưới, (4) có thể sử dụng các phép toán chuyên dụng trên chuỗi bit Tuy nhiên, kỹ thuật này
có một số nhược điểm là (1) không hỗ trợ người dùng tùy chọn tỉ lệ thu giảm số chiều, (2) không có cấu trúc chỉ mục đa chiều hỗ trợ cho bài toán tìm kiếm tương tự trong cơ
sở dữ liệu chuỗi thời gian lớn
Hình 2.8 Minh họa kỹ thuật xén dữ liệu một chuỗi thời gian có chiều dài 64 ( [27])
2.2.3 Về tính đúng đắn và tính khả chỉ mục của các phương pháp thu giảm số
chiều
Bảng 2.1 Tổng kết về tính đúng đắn và tính khả chỉ mục của một số phương pháp thu giảm
số chiều tiêu biểu
Phương pháp thu giảm số
chiều
Năm xuất hiện
Nguồn Có khả chỉ
mục
Có chứng minh thỏa điều kiện chặn dưới DFT
Có (R-tree)
Có (R-tree)
Có (R-tree) Không
Có (R-tree) Không Không Không
Có Không
Có
Có Không (*)
Có
Có Không Không Không
(*) Phương pháp APCA sử dụng độ đo DAE(Q, C) không thỏa điều kiện chặn dưới và bất đẳng
thức tam giác
Trong hơn 15 năm qua, đã có nhiều phương pháp thu giảm số chiều được đề xuất
và sử dụng trong bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian Tuy nhiên để
Trang 39cho một phương pháp thu giảm số chiều thực sự khả dụng trong thực tế, phương pháp
đó cần đảm bảo được hai tính chất: tính đúng đắn và tính khả chỉ mục Tính đúng đắn
thể hiện ở chỗ phương pháp đó cần thỏa mãn điều kiện chặn dưới nhằm đảm bảo không để xảy ra lỗi tìm sót và tính khả chỉ mục thể hiện ở chỗ phương pháp đó có được sự hỗ trợ của một cấu trúc chỉ mục đa chiều như R-tree hay không Tổng kết lại một số phương pháp thu giảm số chiều tiêu biểu được giới thiệu trong mục này (xem Bảng 2.1), ta có thể thấy không phải phương pháp nào củng thỏa mãn được hai điều kiện nêu trên
Trong số bốn phương pháp thu giảm số chiều có chứng minh thỏa điều kiện chặn dưới và khả chỉ mục (PAA, PLA khả chỉ mục, DFT, DWT), DFT và DWT là hai phương pháp biến đổi sang miền tần số, không trực giác và dễ hiểu bằng PAA và PLA khả chỉ mục là hai phương pháp thu giảm số chiều trên miền thời gian Giữa PAA và PLA khả chỉ mục thì PAA đơn giản và dễ hiện thực hơn nên được ưa chuộng hơn
2.3 Rời rạc hóa chuỗi thời gian
Rời rạc hóa (discretization) chuỗi thời gian là quá trình biến đổi chuỗi thời gian thành một chuỗi các ký tự Phương pháp rời rạc hóa tiêu biểu là phương pháp xấp xỉ gộp ký hiệu hóa (Symbolic Aggregate approXimation - SAX) [45] và các biến thể của
nó như phương pháp xấp xỉ gộp ký hiệu hóa mở rộng (Extended SAX - ESAX) [41], phương pháp xấp xỉ gộp ký hiệu có thể được lập chỉ mục (indexable SAX - iSAX)
[46]
Phương pháp xấp xỉ gộp ký hiệu hóa do Lin và cộng sự đã đề xuất năm 2003 Phương pháp này được thực hiện như sau: đầu tiên dữ liệu chuỗi thời gian được thu giảm số chiều theo phương pháp PAA Sau đó, dựa trên giá trị trung bình cộng của từng đoạn, phương pháp này sẽ ánh xạ chúng thành một chuỗi các ký hiệu rời rạc bằng
cách sử dụng các điểm ngắt (breakpoint) Các giá trị điểm ngắt được lựa chọn dựa trên
bảng xác suất của phân bố Gauss nhằm có một xác suất bằng nhau cho mỗi ký hiệu
được sử dụng trong bộ ký hiệu được dùng để rời rác hóa chuỗi thời gian Giả sử, gọi a
là kích thước bộ ký hiệu được dùng để rời rạc hóa chuỗi thời gian, cho α i là ký hiệu
thứ i trong bộ ký hiệu và ta đã tìm được các điểm ngắt có giá trị 1, 2,…, a-1 với 1
<2 <…<a-1 Chuỗi thời gian T = t1,…, t w sẽ được rời rạc hóa thành chuỗi ký hiệu
Trang 40C =c1c2…c w Trong đó mỗi phần tử c i được ánh xạ thành một ký hiệu trong bộ ký hiệu theo công thức sau:
Phương pháp này biểu diễn dữ liệu chuỗi thời gian thành dạng chuỗi nên từ đó có thể áp dụng các kỹ thuật xử lý trên dữ liệu chuỗi ký tự để thực hiện xử lý, phân tích dữ liệu chuỗi thời gian Tuy nhiên phương pháp này không hỗ trợ tốt việc tính khoảng cách Euclid và dữ liệu chuỗi thời gian được giả định là phải thỏa phân bố xác suất Gauss Hình 2.9 minh họa phương pháp SAX
Hình 2.9 Minh họa phương pháp SAX với a = 3 ( [45])
Các phương pháp rời rạc hóa thường được sử dụng trong bài toán phát hiện motif hoặc phát hiện bất thường trên chuỗi thời gian Chẳng hạn như phương pháp SAX được sử dụng trong phương pháp chiếu ngẫu nhiên, phương pháp iSAX được sử dụng trong phương pháp MrMotif (các phương pháp chiếu ngẫu nhiên và MrMotif được giới thiệu trong mục 2.7.2)
2.4 Cấu trúc chỉ mục
Việc sử dụng cấu trúc chỉ mục cho phép chúng ta tìm kiếm các chuỗi tương tự nhau một cách nhanh chóng và hiệu quả nhằm đáp ứng yêu cầu về độ phức tạp tính toán thấp của các giải thuật khai phá dữ liệu chuỗi thời gian Dưới đây là một số cấu trúc chỉ mục thường dùng để tạo lập chỉ mục cho dữ liệu chuỗi thời gian