Mặc dù trong thời gian qua có rất nhiều các phương pháp biểu diễn dữ liệu chuỗi thời gian được đề xuất và cơ bản đã giải quyết được các bài toán thực tế liên quan đến dữ liệu chuỗi thời
Trang 1HÀ NGỌC MINH
SO SÁNH HIỆU QUẢ HAI PHƯƠNG PHÁP PAA VÀ EPAA TRONG BÀI TOÁN TÌM KIẾM TƯƠNG TỰ, VÀ HAI PHƯƠNG PHÁP SAX VÀ ESAX TRONG BÀI TOÁN NHẬN DẠNG CHUỖI CON BẤT ĐỒNG TRONG DỮ LIỆU CHUỖI THỜI GIAN
Chuyên ngành : Khoa học máy tính
Mã số : 60 48 01
LUẬN VĂN THẠC SĨ
TP.HỒ CHÍ MINH, tháng 12 năm 2011
Trang 2Cán bộ hướng dẫn khoa học :
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 1 :
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 2 :
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày tháng năm
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ) 1
2
3
4
5
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA…………
Trang 3
NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Hà Ngọc Minh MSHV: 09070451 Ngày, tháng, năm sinh: 26/09/1982 Nơi sinh: Hải Phòng Chuyên ngành: Khoa học máy tính Mã số : 60 48 01 TÊN ĐỀ TÀI: SO SÁNH HIỆU QUẢ HAI PHƯƠNG PHÁP PAA VÀ EPAA TRONG BÀI TOÁN TÌM KIẾM TƯƠNG TỰ, VÀ HAI PHƯƠNG PHÁP SAX VÀ ESAX TRONG BÀI TOÁN NHẬN DẠNG CHUỖI CON BẤT ĐỒNG TRONG DỮ LIỆU CHUỖI THỜI GIAN NHIỆM VỤ VÀ NỘI DUNG:
NGÀY GIAO NHIỆM VỤ :
NGÀY HOÀN THÀNH NHIỆM VỤ:
CÁN BỘ HƯỚNG DẪN: PGS.TS.Dương Tuấn Anh Tp HCM, ngày tháng năm 20
CÁN BỘ HƯỚNG DẪN
(Họ tên và chữ ký)
CHỦ NHIỆM BỘ MÔN ĐÀO TẠO
(Họ tên và chữ ký)
TRƯỞNG KHOA KH & KTMT
(Họ tên và chữ ký)
Trang 4
LỜI CAM ĐOAN
Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như đã
ghi rõ trong luận văn, các công việc trình bày trong luận văn này là do chính tôi
thực hiện và chưa có phần nội dung nào của luận văn này được nộp để lấy một bằng
cấp ở trường này hoặc trường khác
Ngày tháng năm 2011
Hà Ngọc Minh
Trang 5
LỜI CẢM ƠN
Tôi xin gởi lời cảm ơn chân thành và sâu sắc nhất đến PGS.TS Dương Tuấn Anh,
người thầy đã tận tình hướng dẫn tôi trong suốt quá trình thời gian học cao học và
tạo mọi điều kiện để tôi có thể hoàn thành luận văn này
Tôi cũng xin cảm ơn gia đình, bạn bè và đơn vị của tôi đã động viên và tạo mọi điều
kiện tốt nhất để tôi có thể tiếp tục theo đuổi việc học tập nghiên cứu Tôi trân trọng
dành tặng thành quả của luận văn này cho bố mẹ tôi Nhờ công lao dưỡng dục của
bố mẹ mà con mới có được thành quả như ngày hôm nay Con xin hứa sẽ tiếp tục cố
gắng phấn đấu để vươn cao hơn nữa
Trang 6
TÓM TẮT LUẬN VĂN
Biểu diễn dữ liệu chuỗi thời gian ngày càng đóng vai trò quan trọng trong các bài
toán khai phá dữ liệu chuỗi thời gian Mặc dù trong thời gian qua có rất nhiều các
phương pháp biểu diễn dữ liệu chuỗi thời gian được đề xuất và cơ bản đã giải quyết
được các bài toán thực tế liên quan đến dữ liệu chuỗi thời gian Tuy nhiên, lĩnh vực
nghiên cứu, so sánh bằng thực nghiệm hiệu quả của các phương pháp biểu diễn dữ
liệu chuỗi thời gian còn khiêm tốn và chưa được quan tâm thích đáng Từ đó sự
thiếu thông tin về ưu khuyết điểm của các phương pháp biểu diễn dữ liệu chuỗi thời
gian sẽ gây khó khăn trong việc lựa chọn phương pháp biểu diễn để làm các nhiệm
vụ khai phá dữ liệu chuỗi thời gian
Xuất phát từ thực trạng trên, đề tài lần này sẽ tập trung vào lĩnh vực nghiên cứu, so
sánh các phương pháp biểu diễn dữ liệu chuỗi thời gian trong các nhiệm vụ khai phá
dữ liệu chuỗi thời gian
Chúng tôi tiến hành so sánh hiệu quả của EPAA và PAA khi giải quyết bài toán tìm
kiếm tương tự có ứng dụng cấu trúc chỉ mục R*-tree; tiếp đó so sánh hiệu quả của
ESAX và SAX khi giải quyết bài toán tìm chuỗi con bất đồng
Qua thực nghiệm cho thấy, phương pháp EPAA hiệu quả hơn phương pháp PAA
khi ứng dụng vào bài toán tìm kiếm tương tự; phương pháp ESAX hiệu quả hơn
phương pháp SAX khi ứng dụng vào bải toán tìm chuỗi con bất đồng
Trang 7
ABSTRACT
The representation of time series plays more and more important role in time series
data mining problems Although recently several time series representation methods
have been proposed and basically they helped to solve many problems related to
time series data However, the empirical comparison on the effectiveness of these
time series representation methods still has been modest and has not attracted
adequate attention Therefore, the lack of information about the
advantages/disadvantages of the representation methods may incur difficulties in
choosing the suitable representation methods for mining time series data
This thesis will focus on comparing the efficiency of some representation methods
in the time series data
We empirically compare the effectiveness of the two dimensionality reduction
methods, EPAA and PAA, in the similarity search with applying R*-tree index
structure and the efficiency of the two discretization methods, ESAX and SAX, in
the discord discovery
Experiments show that EPAA is more effective than PAA in the similarity search;
and ESAX is more effective than SAX in the discord discovery
Trang 8
MỤC LỤC LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
TÓM TẮT LUẬN VĂN iii
ABSTRACT iv
MỤC LỤC v
MỤC LỤC HÌNH ix
MỤC LỤC BẢNG xii
Chương 1 Phát biểu vấn đề 1
1.1 Dữ liệu chuỗi thời gian 1
1.1.1 Tìm kiếm tương tự: 3
1.1.2 Phát hiện chuỗi con “bất đồng” 4
1.1.3 Các phương pháp biểu diễn xấp xỉ 4
1.2 Mục tiêu và giới hạn của đề tài 6
1.2.1 Giải quyết vấn đề thứ nhất 6
1.2.2 Giải quyết vấn đề thứ hai 7
1.3 Tóm lược những kết quả đạt được 8
1.3.1 Hệ thống tìm kiếm tương tự 8
1.3.2 Hệ thống tìm chuỗi con “bất đồng” 8
1.4 Cấu trúc của luận văn 9
Chương 2 Các công trình liên quan 11
2.1 Các công trình về độ đo tương tự 11
2.1.1 Độ đo Euclid 12
2.1.2 Độ đo xoắn thời gian động DTW 13
Trang 9
2.2 Các công trình về biểu diễn chuỗi thời gian 16
2.2.1 Các phương pháp thu giảm số chiều 16
2.2.2 Các phương pháp rời rạc hóa 21
2.3 Các công trình về cấu trúc chỉ mục 23
2.3.1 K-D-Tree: 23
2.3.2 Quad Tree 23
2.3.3 R-Tree 23
2.3.4 R*-tree 23
2.4 Các thuật toán phát hiện chuỗi con “bất đồng” 24
2.4.1 Giải thuật hệ thố ng miễn dịch nhân tạo IMM 24
2.4.2 Giải thuật dựa trên cây TSA 25
2.4.3 Giải thuật Tarzan 25
2.4.4 Giải thuật BFDD 26
2.4.5 Giải thuật HDD 26
2.4.6 Giải thuật HOT SAX 26
Chương 3 Cơ sở lý thuyết 27
3.1 Phương pháp rời rạc hóa SAX 27
3.2 Phương pháp rời rạc ESAX 31
3.3 Giải thuật BFDD 33
3.4 Giải thuật HDD 34
3.5 Giải thuật HOT SAX 35
3.5.1 Mô tả cấu trúc dữ liệu 36
3.5.2 Xây dựng heuristic ngoài 37
3.5.3 Xây dựng heuristic trong 37
Trang 10
3.5.4 Cách tối ưu khác 38
3.6 Cấu trúc chỉ mục R*-tree 38
3.6.1 Thêm nút mới trên cây R*-tree 40
3.6.2 Tìm kiếm trên R*-tree 43
Chương 4 Hệ thống ứng dụng 45
4.1 Hệ thống tìm kiếm tương tự 45
4.1.1 Kiến trúc hệ thống 46
4.1.2 Khối tạo dữ liệu 46
4.1.3 Khối biểu diễn dữ liệu 49
4.1.4 Khối cấu trúc dữ liệu 50
4.1.5 Khối tìm kiếm tương tự 52
4.2 Hệ thống phát hiện chuỗi con bất đồng 53
4.1.1 Kiến trúc hệ thống 53
4.2.2 Khối tạo dữ liệu (như phần 4.1.1) 54
4.2.3 Khối biểu diễn dữ liệu 54
4.2.4 Khối cấu trúc dữ liệu 55
4.2.5 Khối tìm kiếm chuỗi con bất đồng 55
Chương 5 Thực nghiệm 56
5.1 Hệ thống tìm kiếm tương tự 56
5.1.1 Tiêu chuẩn tiến hành thực nghiệm 56
5.1.2 Đánh giá các kết quả thực nghiệm 56
5.2 Hệ thống tìm kiếm chuỗi con “bất đồng” 69
5.2.1 Tiêu chuẩn tiến hành thực nghiệm 69
5.2.2 Đánh giá các kết quả thực nghiệm 70
Trang 11
Chương 6 Kết luận 79
6.1 Tổng kết 79
6.2 Những đóng góp của đề tài 79
6.3 Hướng phát triển 80
Tài liệu tham khảo 81
PHỤ LỤC A: BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH - VIỆT A
PHỤ LỤC B: LÝ LỊCH TRÍCH NGANG C
Trang 12
MỤC LỤC HÌNH Hình 1.1 Đường cong biểu diễn chuỗi thời gian 1
Hình 1.2 Minh họa chuỗi con bất đồng trong dữ liệu điện tâm đồ của con người 4
Hình 2.1 Tính kho ảng cách theo độ đo Euclid 12
Hình 2.2 Minh họa độ đo xo ắn thời gian động DTW 13
Hình 2.3 Hàm chặn dưới LB_Keogh 15
Hình 2.4 Chuối thời gian X được biểu diến bằng PAA 18
Hình 3.1 Chuỗi thời gian được rời rạc hóa theo SAX 29
Hình 3.2 Dữ liệu tài chính biểu diễn bằng SAX 31
Hình 3.3 Dữ liệu tài chính biểu diễn bằng ESAX 31
Hình 3.4 Hai cấu trúc dữ liệu hỗ trợ cho heuristics ngoài và trong 36
Hình 3.5 Cây R*-tree với 12 điểm 39
Hình 3.6 Lưu đồ giải thuật thêm mới vào cây R*-tree 40
Hình 3.7 Chọ n nút lá thêm một phần tử vào nút 41
Hình 3.8 Thêm một phần tử vào nút đã đ ầy 42
Hình 3.9 Cách chia nút thành 2 nhóm thành phần 43
Hình 3.10 Tìm kiếm vùng trên cây R*-tree 44
Hình 4.1 Kiến trúc hệ thống tìm kiếm tương tự 47
Hình 4.2 Các bước trong quá trình tìm kiếm tương tự Error! Bookmark not defined.2 Hình 4.3 Hệ thống phát hiện chuỗi con bất đồng 54
Hình 5.1 Độ chặt chặn dưới của PAA và EPAA trên dữ liệu STOCK 60
Hình 5.2 Độ chặt chặn dưới của PAA và EPAA trên dữ liệu AEM 60
Hình 5.3 Độ chặt chặn dưới của PAA và EPAA trên dữ liệu EEG 61
Trang 13
Hình 5.4 Độ chặt chặn dưới của PAA và EPAA trên dữ liệu POWER 61
Hình 5.5 Tỷ lệ thu giảm truy suất của PAA và EPAA trên dữ liệu AEM 63
Hình 5.6 Tỷ lệ thu giảm truy suất của PAA và EPAA trên dữ liệu EEG 64
Hình 5.7 Tỷ lệ thu giảm truy suất của PAA và EPAA trên dữ liệu ERP 64
Hình 5.8 Tỷ lệ thu giảm truy suất của PAA và EPAA trên dữ liệu POWER 65
Hình 5.9 Tỷ lệ thu giảm truy suất của PAA và EPAA trên dữ liệu BOUNDERDIALY 65
Hình 5.10 Tỷ lệ thu giảm truy suất của PAA và EPAA trên dữ liệu STOCK 66
Hình 5.11 Thời gian thực thi của PAA và EPAA trên dữ liệu AEM 66
Hình 5.12 Thời gian thực thi của PAA và EPAA trên dữ liệu EEG 67
Hình 5.12 Thời gian thực thi của PAA và EPAA trên dữ liệu ERP 67
Hình 5.13 Thời gian thực thi của PAA và EPAA trên dữ liệu POWER 68
Hình 5.14 Thời gian thực thi của PAA và EPAA trên dữ liệu BOUNDERDIALY 68 Hình 5.15 Thời gian thực thi của PAA và EPAA trên dữ liệu STOCK 69
Hình 5.16 Số lần gọi hàm tính khoảng cách của HOT SAX và HOTESAX trên dữ liệu AEM 71
Hình 5.17 Thời gian thực thi HOTSAX và HOTESAX trên dữ liệu AEM 71
Hình 5.18 Số lần gọi hàm tính khoảng cách của HOT SAX và HOTESAX trên dữ liệu ECG 72
Hình 5.19 Thời gian thực thi HOTSAX và HOTESAX trên dữ liệu STOCK 72
Hình 5.20 Số lần gọi hàm tính khoảng cách của HOT SAX và HOTESAX trên dữ liệu EEG 73
Hình 5.21 Thời gian thực thi HOTSAX và HOTESAX trên dữ liệu EEG 73
Hình 5.22 Số lần gọi hàm tính khoảng cách của HOT SAX và HOTESAX trên dữ liệu ERP 74
Hình 5.23 Thời gian thực thi HOTSAX và HOTESAX trên dữ liệu ERP 74
Trang 14
Hình 5.24 Số lần gọi hàm tính khoảng cách của HOT SAX và HOTESAX trên dữ
liệu POWER 75
Hình 5.25 Thời gian thực thi HOTSAX và HOTESAX trên dữ liệu POWER 75
Hình 5.26 Số lần gọi hàm tính khoảng cách của HOT SAX và HOTESAX trên dữ
Trang 15
MỤC LỤC BẢNG Bảng 1.1 Cách tiếp cận cho các nhiệm vụ khai phá dữ liệu chuỗi thời gian 2
Bảng 3.1 Tổng hợp ký hiệu sử dụng trong phần 3.1 27
Bảng 3.2 Bảng tra c ứu các điểm ngắt 28
Bảng 3.3 Bảng tra c ứu tính kho ảng giữa hai chữ cái ứng với a = 4 31
Bảng 3.4 Mã giả thuật toán BFDD 33
Bảng 3.5 Mã giả thuật toán HDD 35
Bảng 4.1 Giải thuật thu giảm só chiều bằng phương pháp PAA 49
Bảng 4.2 Giải thuật thu giảm số chiều bằng phương pháp EPAA 50
Bảng 4.3 Giải thuật thêm nút vào cây R*-Tree 51
Bảng 4.4 Giải thuật lập chỉ mục cho dữ liệu chuỗi thời gian 52
Trang 16Chương 1
Phát biểu vấn đề
Chương 1 sẽ trình bày lĩnh vực, yêu cầu, mục tiêu và nội dung nghiên cứu sơ lược của đề tài Đồng thời chương này cũng nêu lên những động cơ trong nghiên cứu và tính thực tiễn của đề tài này
1.1 Dữ liệu chuỗi thời gian
Dữ liệu chuỗi thời gian hay chuỗi thời gian tồn tại trong nhiều ứng dụng thực tế, từ các lĩnh vực khoa học kỹ thuật cho đến kinh tế, tài chính Dữ liệu chuỗi thời gian thông thường rất lớn như dự án MACHCO Đây là là cơ sở dữ liệu (CSDL) thiên văn học lưu trữ cỡ một nửa terabyte, và được cập nhật thường xuyên với tốc độ vài gigabyte trên một ngày [24, 31] Cho nên, đòi hỏi cần đưa ra các phương pháp tiếp cận nhằm mục đích quản lý, xử lý một cách hiệu quả những yêu cầu liên quan đến
dữ liệu chuỗi thời gian
Có nhiều định nghĩa khác nhau về dữ liệu chuỗi thời gian, nhưng chung lại có thể
tổng quát như sau: Chuỗi thời gian T = t 1 , t 2 , , t m là tập hợp có thứ tự các quan sát
đơn biến hoặc đa biến được đo sau những khoảng thời gian bằng nhau theo thời
gian Trong đề tài này, ta chỉ xem xét với t i là các giá trị thực Một đường cong biểu diễn chuỗi thời gian được mình họa trong hình 1.1
Hình 1.1 Đường cong biểu diễn chuỗi thời gian
Trang 17Từ những thập niên trước cho đến bây giờ, việc khai phá dữ liệu chuỗi thời gian đã thu hút rất nhiều sự nghiên cứu trên thế giới Cụ thể là một số lĩnh vực nghiên cứu sau [14]:
1 Tìm kiếm tương tự (Similarity Search): cho một chuỗi thời gian truy vấn Q, và một hàm đo độ tương tự hoặc độ khác nhau D(Q,C), tìm những chuỗi thời gian tương tự nhất với Q trong CSDL DB nào đó
2 Gom cụm (Clustering): tìm những sự phân nhóm theo tự nhiên của những chuỗi thời gian trong CSDL DB theo một hàm đo độ tương tự/độ khác nhau D(Q,C)
3 Phân nhóm (Classification): cho một chuỗi thời gian chưa gán nhóm Q, gán nó
vào một trong những nhóm đã được định nghĩa trước
4 Tóm tắt (Summarization): cho chuỗi thời gian Q có n điểm dữ liệu trong đó n là con số rất lớn, tạo một sự xấp xỉ của Q để vừa khít theo một giới hạn nào đó
(chẳng hạn màn hình máy tính, trang giấy, …) sao cho vẫn duy trì những đặc trưng bản chất của nó
5 Phát hiện bất đồng (Anomaly Detection): cho một chuỗi thời gian Q, và một vài
mô hình hành vi “bình thường” (“normal” behavior) Tìm tất cả những phần
thuộc Q có chứa “bất đồng” Những hành vi “bất đồng” có nhiều tên gọi khác như những hành vi “surprising/ interesting/ unexpected/ novel”
Xuất phát từ đặc điểm dữ liệu chuỗi thời gian là rất lớn, dẫn đến việc lưu trữ trong
bộ nhớ ngoài Và do đó, khi xử lý cần rất nhiều lần truy cập bộ nhớ ngoài, gây ra hiện tượng “thắt cổ chai” trong các nhiệm vụ khai phá dữ liệu Một khung chung cho các nhiệm vụ khai phá dữ liệu chuỗi thời gian được đề xuất [21]
Trang 18Rõ ràng, hiệu quả của cách tiếp cận này phụ thuộc nhiều vào chất lượng của phương pháp xấp xỉ ở bước 1 Nếu việc xấp xỉ càng gần với dữ liệu gốc, lời giải trên tập dữ liệu trong bộ nhớ chính càng gần với lời giải trên tập dữ liệu gốc Dẫn đến việc truy cập dữ liệu gốc ở đĩa ngoài trong bước 3 để thay đổi lời giải không còn quan trọng nữa Do đó, có rất nhiều nghiên cứu quan tâm đến các phương pháp biểu diễn xấp xỉ
dữ liệu chuỗi thời gian mà chúng ta sẽ tìm hiểu ở các phần sau
Để thực hiện so sánh các phương pháp biểu diễn xấp xỉ, thông thường người ta lần lượt kiểm tra chất lượng, hiệu quả của chúng trong các nhiệm vụ khai phá dữ liệu chuỗi thời gian khác nhau Trong đề tài lần này, chúng tôi quan tâm chủ yếu trong hai lĩnh vực là tìm kiếm tương tự và phát hiện chuỗi con “bất đồng”
1.1.1 Tìm kiếm tương tự:
Tìm kiếm tương tự (similarity search) là một thành phần căn bản trong nhiều công
tác khai phá dữ liệu chuỗi thời gian cao cấp Về cơ bản, các yêu cầu tìm kiếm tương
tự có thể chia thành 2 loại: So trùng toàn bộ và so trùng chuỗi con
So trùng toàn bộ (whole matching)
Đối với những truy vấn so trùng toàn bộ, chiều dài của chuỗi dữ liệu truy vấn và chiều dài dữ liệu ban đầu là bằng nhau Bài toán này thường được dùng trong việc gom cụm, hay phân loại dữ liệu chuỗi thời gian
Ví dụ, “tìm mức nước ở hai con sông có thay đổi giống nhau trong một năm”, hay
“tìm giá chứng khoán của những công ty nào thay đổi giống nhau”
So trùng chuỗi con (subsequence matching)
Đối với trường hợp so trùng chuỗi con, chiều dài của dữ liệu truy vấn ngắn hơn rất nhiều so với chiều dài của dữ liệu ban đầu Cho nên, nhiệm vụ chính của bài toán này là tìm những đoạn dữ liệu ban đầu tương tự với dữ liệu truy vấn Một số ứng dụng của bài toán này là tìm những mẫu dữ liệu quan trọng hay những thay đổi bất thường trong dữ liệu ban đầu
Trang 19Ví dụ, “tìm những tháng trong quá khứ mà lượng mưa giống như tháng hiện tại”, hay “tìm các tháng mà giá chứng khoán của công ty có sự thay đổi giống với tháng hiện tại”
1.1.2 Phát hiện chuỗi con “bất đồng”
Lĩnh vực tìm kiếm những chuỗi con ít tương đồng nhất với các chuỗi còn lại trong
dữ liệu chuỗi thời gian, gọi là chuỗi con “bất đồng” (time series “discords”), được
ứng dụng rất nhiều trong nhiệm vụ khai phá dữ liệu như cải thiện chất lượng gom cụm, làm sạch dữ liệu (data cleaning),… Hình 1.1 đưa ra một cái nhìn trực quan về chuỗi con “bất đồng” được tìm thấy trong dữ liệu điện tâm đồ của con người
Hình 1.2 Minh họa chuỗi con“bất đồng” (đường in đậm) trong dữ liệu điện tâm đồ của con người
Chuỗi con “bất đồng” đã xuất hiện dưới nhiều cái tên khác nhau, và có nhiều định nghĩa khác nhau cho sự “bất đồng” [5, 8, 21, 28, 32, 33] Trong đề tài này chúng tôi
sử dụng một định nghĩa chuỗi dữ liệu thời gian bất đồng dựa trên ý tưởng tìm kiếm tương tự do Keogh và các cộng sự đề xuất năm 2005 [23]
1.1.3 Các phương pháp biểu diễn xấp xỉ
Dữ liệu chuỗi thời gian thường cực kỳ lớn Tìm kiếm trực tiếp trên những dữ liệu này sẽ rất phức tạp và không hữu hiệu Để khắc phục vấn đề này, ta nên áp dụng một số phương pháp biến đổi để thu giảm độ lớn của dữ liệu Những phương pháp
biến đổi này thường được gọi là những kỹ thuật thu giảm số chiều (dimensionality
reduction) Có ba phương pháp chính để thu giảm số chiều là phương pháp biến đổi sang miền tần số, phương pháp xấp xỉ tuyến tính từng đoạn và phương pháp điểm quan trọng
Trang 20Các phương pháp biến đổi miền tần số thường biểu diễn chuỗi dữ liệu dựa trên các đường cơ bản Ví dụ, phương pháp biến đổi fourier rời rạc DFT [1] sử dụng đường
căn bản là đường sin và cosin Còn phương pháp biến đổi wavelet rời rạc DWT [6]
sử dụng đường Haar, đường Daubechies, Coiflet, Symmlet
Các phương pháp xấp xỉ tuyến tình từng đoạn gồm nhiều phương pháp khác nhau như phương pháp xấp xỉ gộp từng đoạn PAA [18, 34], phương pháp xấp xỉ từng đoạn thích nghi APCA [5], phương pháp xấp xỉ tuyến tính từng đoạn PLA [17, 19], phương pháp xấp xỉ gộp từng đoạn mở rộng EPAA [15],… Về cơ bản các phương pháp này đều chia dữ liệu gốc thành các đoạn có chiều dài nhỏ hơn bằng nhau hoặc khác nhau Sau đó lấy xấp xỉ từng đoạn này, thu được chuỗi dữ liệu mới có số chiều thu giảm đáng kế Ưu điểm của các phương pháp này là trực quan, dễ hiểu và dễ triển khai
Còn đối với các phương pháp điểm quan trọng, có thể kể đến như phương pháp điểm mốc [27], phương pháp điểm cực trị [12], phương pháp điểm PIP [13] Ưu điểm của những phương pháp này phù hợp với trực giác, có thể so trùng các chuỗi thời gian có chiều dài khác nhau và có thể thu giảm số chiều ở nhiều mức phân giải khác nhau
Ngoài ba nhóm phương pháp thu giảm số chiều chính kể trên, các phương pháp rời rạc hóa (discretization) như phương pháp xấp xỉ gộp ký hiệu hóa - SAX [14],
phương pháp xấp xỉ gộp ký hiệu hóa mở rộng – ESAX [15], phương pháp khả chỉ mục iSAX [29], … Lợi ích quan trọng của việc rời rạc hóa dữ liệu chuỗi thời gian là cho phép sử dụng những cấu trúc dữ liệu và giải thuật vốn có trong lĩnh vực xử lý chuỗi ký tự
Mặc dù trong thời gian qua có rất nhiều các kỹ thuật thu giảm số chiều được đề xuất
và cơ bản đã giải quyết được các bài toán thực tế liên quan đến dữ liệu chuỗi thời gian Tuy nhiên, lĩnh vực nghiên cứu so sánh bằng thực nghiệm hiệu quả của các kỹ thuật này còn khiêm tốn và chưa được quan tâm xác đáng Từ đó sự thiếu thông tin
Trang 21về ưu khuyết điểm của các kỹ thuật sẽ gây khó khăn khi lựa chọn phương pháp làm các nhiệm vụ khai phá dữ liệu chuỗi thời gian
Xuất phát từ thực trạng trên, đề tài lần này sẽ tập trung vào lĩnh vực nghiên cứu so sánh các kỹ thuật thu giảm số chiều trong các nhiệm vụ khai phá dữ liệu Phương pháp xấp xỉ gộp từng đoạn PAA và phương pháp xấp xỉ gộp ký hiệu hóa SAX từ khi đề xuất, đã được sử dụng nhiều trong các bài toán liên quan đến dữ liệu chuỗi thời gian và mang lại hiệu quả đáng kể Bên cạnh đó, trong bài báo [15], nhóm tác giả đề xuất phương pháp xấp xỉ gộp từng đoạn mở rộng EPAA và phương pháp xấp
xỉ gộp ký hiệu hóa mở rộng ESAX để giải quyết bài toán liên quan đến dữ liệu tài chính
Cho nên, chúng tôi sẽ nghiên cứu so sánh phương pháp EPAA với phương pháp PAA; và nghiên cứu so sánh phương pháp ESAX với phương pháp SAX
1.2 Mục tiêu và giới hạn của đề tài
Mục tiêu của đề tài gồm 2 vấn đề: một là đánh giá hiệu quả của phương pháp xấp xỉ gộp từng đoạn mở rộng EPAA so với phương pháp xấp xỉ gộp từng đoạn PAA; và hai là đánh giá hiệu quả của phương pháp xấp xỉ gộp ký hiệu hóa mở rộng ESAX với phương pháp xấp xỉ gộp ký hiệu SAX
1.2.1 Giải quyết vấn đề thứ nhất
Để đánh giá hiệu quả của phương pháp EPAA với PAA, đề tài sử dụng từng
phương pháp này để giải quyết bài toán so trùng mẫu con Khi đó, từ dữ liệu ban
đầu là một chuỗi các số thực, mỗi số thực thể hiện giá trị tại một thời điểm Với dữ liệu đó, ta cho phép người dùng đặc tả một mẫu dữ liệu truy vấn (mẫu này thường rất nhỏ so với dữ liệu ban đầu) Khi đó, chương trình sẽ tìm trong dữ liệu đầu những mẫu con nào tương tự với mẫu truy vấn Các mẫu con tương tự với mẫu truy vấn về hình dạng và độ chênh lệch là ít nhất
Bài toán so trùng chuỗi con trên dữ liệu chuỗi thời gian cũng chính là bài toán tìm kiếm Tuy nhiên thông thường kích thước dữ liệu để tìm kiếm là rất lớn Vì vậy,
Trang 22những ứng dụng này đòi hỏi phải sử dụng các phương pháp lập chỉ mục Phương
pháp lập chỉ mục là phương pháp nhằm nâng cao tốc độ tìm kiếm Phương pháp
lập chỉ mục có thể là giảm số chiều để giảm kích thước dữ liệu hoặc có thể sử dụng những cấu trúc biểu diễn dữ liệu nhằm nâng cao tốc độ tìm kiếm Cụ thể, luận văn
này tiến hành như sau:
- Tìm hiểu và tiến hành biểu diễn dữ liệu chuỗi thời gian ban đầu lần lượt bằng phương pháp EPAA và PAA
- Đề nghị sử dụng cấu trúc chỉ mục R*-tree lưu trữ dữ liệu sau khi đã thu giảm nhằm nâng câo tốc độ tìm kiếm
- Hiện thực chương trình hỗ trợ người dùng so trùng mẫu thân thiện với người dùng
- Tiến hành so sánh hai phương pháp này thông qua các tiêu chí: độ chặt chặn dưới, tỉ lệ thu giảm truy xuất và thời gian CPU Riêng việc so sánh dựa trên tiêu chí về độ chặt chặn dưới không phụ thuộc vào cấu trúc chỉ mục Ta cần đưa ra được hàm tính khoảng cách của phương pháp EPAA và PAA
1.2.2 Giải quyết vấn đề thứ hai
Để đánh giá hiệu quả của phương pháp ESAX và SAX, đề tài áp dụng 2 phương
pháp để giải quyết bài toán phát hiện chuỗi con “bất đồng” trong chuỗi dữ liệu
chuỗi thời gian Cụ thể, luận văn tiến hành như sau:
- Tìm hiểu và hiện thực rời rạc hóa dữ liệu bằng phương pháp rời rạc hóa ký hiệu SAX và ESAX
- Chúng tôi đề nghị sử dụng giải thuật HOT SAX để phát hiện “bất đồng” trong chuỗi dữ liệu thời gian Tìm hiểu và xây dựng cấu trúc SAX và cây gia tố để phục vụ quá trình tìm kiếm Tiếp đó ứng dụng SAX và ESAX vào giải thuật HOT SAX
Trang 23- So sánh phương pháp ESAX và SAX trên giải thuật HOT SAX cho nhiều loại
bộ dữ liệu khác nhau, dựa trên tiêu chí: số lần gọi hàm tính độ tương tự trên không gian nguyên thủy, thời gian thực thi CPU của giải thuật
1.3 Tóm lược những kết quả đạt được
Trong giới hạn thời gian hiện thực, chúng tôi đã hiện thực được hai hệ thống: hệ thống tìm kiếm tương tự và hệ thống tìm kiếm chuỗi con bất đồng
1.3.1 Hệ thống tìm kiếm tương tự
Hệ thống gồm 4 môđun chính: môđun tạo tập dữ liệu thực nghiệm, môđun biểu diến
dữ liệu chuỗi thời gian, môđun cấu trúc dữ liệu và môđun tìm kiếm tương tự
- Môđun thứ nhất có chức năng rút trích ngẫu nhiên các chuỗi con từ dữ liệu chuỗi thời gian gốc, tạo thành tập dữ liệu các chuỗi con dùng trong thực nghiệm
- Môđun thứ hai có chức năng biểu diễn dữ liệu chuỗi thời gian theo hai phương pháp xấp xỉ gộp từng đoạn PAA và EPAA
- Môđun thứ ba xây dựng cấu trúc chỉ mục R*-tree nhằm phục vụ đánh chỉ mục cho dữ liệu biểu diễn xấp xỉ
- Môđun thứ tư hiện thực các thủ tục sử dụng môđun thứ hai và môđun thứ ba để đưa ra kết quả tìm kiếm tương tự
Hệ thống của chúng tôi chạy thực nghiệm với các thông số khác nhau cho từng loại
dữ liệu khác nhau để đánh giá, so sánh độ hiệu quả giữa phương pháp PAA và phương pháp EPAA khi áp dụng vào bài toán tìm kiếm tương tự Qua thực nghiệm, chúng tôi thấy phương pháp EPAA hữu hiệu hơn phương pháp PAA Như vậy, hệ thống của chúng tôi đã đáp ứng những yêu cầu và nhiệm vụ của đề tài
1.3.2 Hệ thống tìm chuỗi con “bất đồng”
Hệ thống gồm 4 môđun chính: môđun tạo tập dữ liệu thực nghiệm, môđun biểu diễn
dữ liệu chuỗi thời gian, môđun cấu trúc dữ liệu và môđun tìm kiếm chuỗi con “bất đồng”
Trang 24- Môđun thứ nhất giống môđun tạo tập dữ liệu thực nghiệm của hệ thống tìm kiếm tương tự ở trên
- Môđun thứ hai, chúng tôi hiện thực 2 phương pháp rời rạc hóa dữ liệu chuỗi thời gian là SAX và ESAX
- Môđun thứ ba, chúng tôi tạo các cấu trúc dữ liệu tương ứng với từng phương
pháp rời rạc hóa dữ liệu chuỗi thời gian Cụ thể, cấu trúc dãy SAX và cây gia tố
(Augmented Trie) cho phương pháp SAX và phương pháp ESAX Các cấu trúc
dữ liệu này dùng để tạo ra heuristic vòng lặp ngoài và heuristic vòng lặp trong cho môđun tìm kiếm chuỗi con bất đồng
- Môđun tìm kiếm chuỗi con “bất đồng”, chúng tôi hiện thực giải thuật HOT SAX
và HOT ESAX Thực chất giải thuật HOT ESAX và HOT SAX giống nhau, chúng tôi chỉ thay đổi tên gọi để thể hiện sự khác biệt khi ứng dụng phương pháp ESAX vào giải thuật HOT SAX
Hệ thống của chúng tôi chạy thực nghiệm với các thông số khác nhau cho từng loại
dữ liệu khác nhau để đánh giá, so sánh độ hiệu quả giữa phương pháp SAX và phương pháp ESAX khi áp dụng vào bài toán tìm chuỗi con “bất đồng” Qua thực nghiệm, chúng tôi thấy phương pháp ESAX hữu hiệu hơn phương pháp SAX Như vậy, hệ thống của chúng tôi đã đáp ứng những yêu cầu và nhiệm vụ của đề tài
1.4 Cấu trúc của luận văn
Phần còn lại của luận văn được tổ chức theo cấu trúc sau đây:
- Chương 2 sẽ giới thiệu tổng quan về các công trình liên quan đến hướng nghiên cứu của đề tài như các công trình về độ đo tương tự, các công trình về biểu diễn chuỗi thời gian, các công trình về cấu trúc chỉ mục, các thuật toán phát hiện chuỗi con “bất đồng”
- Chương 3 làm rõ cơ sở lý thuyết nền tảng của các phương pháp biểu diễn và các giải thuật được chọn sau khi khảo sát các công trình có liên quan ở chương 2,
cụ thể là phương pháp rời rạc hóa như SAX, ESAX; tiếp đó là các giải thuật
Trang 25phát hiện “bất đồng” như BFDD, HDD, HOT SAX Cuối cùng là cấu trúc chỉ mục không gian cây R*-tree
- Chương 4, chúng tôi trình bày về các hệ thống ứng dụng Các bước hiện thực hóa các hệ thống ứng dụng cũng sẽ được giới thiệu trong chương 4
- Chương 5, chúng tôi đưa ra các kết quả thực nghiệm và so sánh Chúng tôi chạy thực nghiệm hai hệ thống trên các tập dữ liệu khác nhau
- Chương 6 là một số kết luận và hướng mở rộng của đề tài
- Cuối cùng là phần giới thiệu các tài liệu tham khảo được sử dụng trong quá trình nghiên cứu đề tài
Trang 26Chương 2
Các công trình liên quan
Chương 2 sẽ trình bày tổng quan các công trình về độ đo tương tự, các công trình về biểu diễn dữ liệu chuỗi thời gian, các công trình về cấu trúc chỉ mục và cuối cùng là các thuật toán áp dụng để giải bài toán tìm kiếm chuỗi con “bất đồng”
2.1 Các công trình về độ đo tương tự
Trong các bài toán liên quan đến chuỗi thời gian, vấn đề quan trọng nhất là phương
pháp tính khoảng cách của hai đối tượng O 1 , O 2 để xác định hai đối tượng này có giống nhau hay tương tự nhau hay không Hai đối tượng được xem là giống nhau khi khoảng cách giữa chúng bằng 0 Còn hai đối tượng được xem là tương tự nhau
khi khoảng cách giữa chúng nhỏ hơn giá trị ε được quy định từ trước Khoảng cách
này được biểu diễn thành các số thực và phải thỏa các tính chất sau:
ta có thể bỏ qua những không gian tìm kiếm mà chắc chắn không có lời giản thỏa mãn yêu cầu Do đó, thời gian tính toán sẽ giảm
Trang 27Đối với bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian, dữ liệu được biểu diễn thành các dãy số thực X x x1, 2, ,x n và Y y y1, 2, ,y n Ta cần phải tính
độ đo tương tự D(X, Y) của 2 mẫu này Chúng ta sẽ xem xét một số phương pháp
đánh giá độ đo tương tự phổ biến trong các công trình về chuỗi thời gian
2.1.1 Độ đo Euclid
Cho hai chuỗi thời gian Q = q 1 …q n và C = c 1 …c n, độ đo khoảng cách Euclid giữa hai chuỗi thời gian này được xác định bởi công thức
2 1
( , )
n
i i i
Hình 2.1 Tính khoảng cách theo độ đo Euclid (Từ nguồn [24])
Độ đo khoảng cách Euclid giữa hai chuỗi thời gian là trường hợp đặc biệt của độ đo Minkowski với công thức:
i i i
Trang 28Tuy nhiên, độ đo khoảng cách Euclid cũng có một số nhược điểm như nhạy cảm với nhiễu, không thích hợp khi áp dụng cho các chuỗi thời gian có đường cơ bản biến đổi giống nhau nhưng lệch nhau về thời gian hoặc biên độ khác nhau
2.1.2 Độ đo xoắn thời gian động DTW
Khi tiến hành so trùng, độ đo Euclid được sử dụng nhiều trong nhiều lĩnh vực Tuy nhiên, như trình bày ở trên, khi áp dụng trong một số trường hợp mà hai đường biểu
diễn rất giống nhau về hình dạng và chỉ lệch nhau về thời gian (như hình vẽ 2.2A)
thì độ đo Euclid thường cho kết quả khác nhau và có thể dẫn đến kết quả cuối cùng không như mong muốn
Khắc phục nhược điểm này, người ta đã đưa ra phương pháp tính độ đo khác Với phương pháp này, một điểm có thể ánh xạ với nhiều điểm và ánh xạ này không nhất
thiết thẳng hàng Phương pháp này gọi là phương pháp độ đo xoắn thời gian động DTW (Dynamic Time Warping) do Berndt và các cộng sự đưa ra đầu tiên vào năm
1994 [3]
Hình 2.2 A) Hai chuỗi Q và C tương tự nhau nhưng lệch thời gian B) Ma trận xoắn và đường xoắn tối ưu (là
đường đậm liên tục) của hai chuỗi Q và C C) Kết quả sau khi ánh xạ
Để tính độ đo DTW của hai chuỗi Q = q 1 , q 2 ,…, q i ,…, q n và C = Q = c 1 , c 2 ,…, c j ,…,
c m ta xây một ma trận nxm trong đó ô (i, j) của ma trận tương ứng với một ánh xạ
Trang 29giữa q i và c j Và là khoảng cách d(q i , c j ) giữa hai điểm q i và c j Khoảng cách giữa
hai điểm q i và c j có thể tính theo d(q i , c j ) = (q i - c j ) 2
Một đường xoắn (warping path) W = w 1 , w 2 ,…, w k là một tập hợp các phần tử liên
tục của ma trận định nghĩa một ánh xạ giữa Q và C
Đường xoắn về cơ bản phụ thuộc vào một số ràng buộc:
- Điều kiện biên: w 1 = (1, 1) và w k = (m, n) Ràng buộc này yêu cầu đường xoắn
phải bắt đầu và kết thúc ở hai góc đối diện của ma trận
- Tính liên tục: cho w k = (a, b) thì w k-1 = (a’, b’), với a – a’ ≤ 1 và b – b’ ≤ 1
Ràng buộc này yêu cầu đường xoắn phải di chuyển giữa những ô liền kề (kể cả những ô liền kề theo đường chéo)
- Tính đơn điệu tăng: cho w k = (a, b) thì w k-1 = (a’, b’), với a – a’ ≥ 0 và b – b’ ≥
0 Ràng buộc này yêu cầu các điểm trong W phải có tính đơn điệu tăng theo thời
p
k k
Khắc phục nhược điểm này, một số nhà nghiên cứu đã đưa thêm một số ràng buộc như hàm chặn dưới để tăng tốc độ tìm kiếm
Năm 1998, Yi đã giới thiệu kỹ thuật lập chỉ mục xấp xỉ cho DTW sử dụng kỹ thuật FastMap [35] Ý tưởng của kỹ thuật này là nhúng các chuỗi vào không gian Euclid sao cho khoảng cách giữa chúng được xấp xỉ Rồi sử dụng một cấu trúc chỉ mục đa chiều cổ điển như R-tree [16] lưu trữ các chuỗi này Bên cạnh đó, Yi giới thiệu một
Trang 30hàm chặn cận dưới LB_Yi để loại bỏ một số chuỗi không đúng Phương pháp này
giúp tăng tốc tối đa 7,8 lần so với phương pháp quét tuần tự (sequential scanning)
Tuy nhiên, phương pháp này cũng có một số hạn chế là gây ra sai lệch do mất thông tin Hơn nữa, thời gian xây dựng cấu trúc chỉ mục là tuyến tính với kích thước dữ
liệu M ( 0(Mn 2 )) nên tốc độ vẫn chậm trong trường hợp cơ sở dữ liệu lớn hoặc chuỗi
Trang 312.2 Các công trình về biểu diễn chuỗi thời gian
Dữ liệu chuỗi thời gian thường cực kỳ lớn Tìm kiếm trực tiếp trên những dữ liệu này sẽ mất chi phí rất cao, rất phức tạp Thông thường các công trình về chuỗi thời gian đều tập chung vào việc biểu diễn chuỗi thời gian dưới dạng khác nhằm thu giảm độ lớn dữ liệu, giảm bớt tính toán mà không mất đi tính đặc trưng cơ bản của
dữ liệu Với dữ liệu đã thu giảm, ta dùng các cấu trúc dữ liệu có sẵn hoặc xây dựng mới để biểu diễn, hỗ trợ tìm kiếm, khai phá dữ liệu
2.2.1 Các phương pháp thu giảm số chiều
Phương pháp thu giảm số chiều (dimensionality reduction) là phương pháp biểu dữ
liệu chuỗi thời gian thành những đường cơ bản được định nghĩa trước Khi đó, thay
vì lưu trữ chuỗi dữ liệu n chiều X x x1, 2, ,x n, ta chỉ cần lưu trữ chuỗi dữ liệu k
chiều Y y y1, 2, ,y n với k là hệ số của các đường cơ bản Từ những đường cơ bản này, ta cũng có thể phục hồi lại dữ liệu ban đầu Nếu k càng lớn, đường phục
hồi này càng chính xác với đường ban đầu và ngược lại Như vậy, thay vì tình toán
trên dữ liệu gốc n chiều, ta chỉ cần tính toán trên dữ liệu thu giảm k chiều Phương
pháp này rất thích hợp cho các cấu trúc chỉ mục trong cơ sở dữ liệu không gian
Phương pháp biến đổi Fourier DFT
Phương pháp biến đổi rời rạc Fourier (Discrete Fourier Transform) do Agrawal R
và cộng sự đề nghị năm 1993 được dùng để rút trích đặc trưng [1] Cho một chuối thời gian, ta sử dụng DFT để chuyển đổi chuỗi này sang miền tần số Sau đó, ta chỉ đánh chỉ mục trên một vài tần số đầu tiên, bỏ tất cả các tần số còn lại (lý do này căn
cứ vào quan sát rằng năng lượng của hầu hết các chuỗi thời gian trong thực tế đều tập trung ở một vài tần số đầu tiên [1]
Kết quả phép biến đổi Fourier rời rạc của chuỗi X t (t = 0, 1,…, n-1) được định nghĩa
là một chuỗi gồm n số phức X f cho bởi công thức:
Trang 32Ngược lại, chuỗi X t có thể được khôi phục bằng phép biến đổi ngược:
X f là các số phức (trừ X 0 , vì X t là các giá trị thực nên X 0 là một giá trị thực) Hàm đo
độ tương tự được đề nghị cho phương pháp này là phương pháp Euclid Còn phương pháp đánh chỉ mục đề nghị là F-Index, ST-Index Ưu điểm của phương pháp DFT là thích hợp với các loại đường biểu diễn dữ liệu khác nhau và giải thuật
để biến đổi chi có độ phức tạp O(nlgn) Tuy nhiên, nhược điểm lớn nhất của nó là
rất khó giải quyết nếu các chuỗi thời gian có chiều dài khác nhau
Phương pháp biến đổi Wavelet DWT
Phương pháp biến đổi Wavelet (Discrete Wavelet Transform) do Chan và Fu đề
nghị năm 1999 [6] Phương pháp DWT biểu diễn đường dữ liệu ban đầu bởi các
đường cơ bản khác nhau như Haar, Daubechies, Coiflet, Symmlet,… trong đó, đường Haar được sử dụng nhiều trong khai phá dữ liệu chuỗi thời gian và lập chỉ
mục
Phương pháp biến đổi Wavelet rời rạc rất hiệu quả vì nó mã hóa đơn giản và nhanh
Độ phức tạp của việc mã hóa này là tuyến tính Một ưu điểm của giải thuật Wavelet
là nó hỗ trợ nhiều mức phân giải Tuy nhiên nhược điểm là chiều dài chuỗi dữ liệu ban đầu của nó phải là một số lũy thừa 2 và chiều dài của chuỗi con truy vấn cũng nên là số lũy thừa của 2 thì giải thuật mới thực hiện hiệu quả
Phương pháp xấp xỉ gộp từng đoạn PAA
Yi và Faloutsos [34] và Keogh cùng các cộng sự [18] tiến hành độc lập và đề xuất
phương pháp xấp xỉ gộp từng đoạn PAA (Piecewise Aggregate Approximation) vào năm 2000 Trong phương pháp này, chuỗi thời gian được chia thành N đoạn bằng
nhau và rồi tính xấp xỉ giá trị trung bình của từng đoạn dùng để đại diện cho một
thành phần của véctơ N chiều Kết quả biến đổi là đường thẳng có dạng bậc thang
như hình 2.4
Trang 33Hình 2.4 Chuối thời gian X được biểu diến bằng PAA với n=60 thành N=6 (Nguồn [9])
Chuỗi thời gian X = x 1 ,…,x n có độ dài n được biểu diễn thành N đoạn bởi véctơ
1, , N
X x x Trong đó phần tử thứ i của X được tính theo công thức:
1 1
n N
n N
Để đảm bảo không loại nhầm những điểm thỏa mãn (no false dismissals), phương
pháp đưa ra một hàm đo khoảng cách trong không gian chỉ mục thỏa điều kiện chặn dưới, hàm đo khoảng cách có công thức:
Ưu điểm chính của phương pháp này là thời gian tính toán rất nhanh, dễ hiện thực
và cấu trúc chỉ mục có thể được xây dựng trong thời gian tuyến tính Hơn nữa, cách biểu diễn này hỗ trợ nhiều độ đo khoảng cách Tuy nhiên, đối với một số loại dữ liệu cần độ chính xác cao và quan tâm đến các giá trị cực trị như dữ liệu tài chính,… phương pháp PAA thường làm mất đi những điểm quan trọng và việc khôi phục lại
dữ liệu gốc rất khó khăn
Trang 34Phương pháp xấp xỉ gộp từng đoạn mở rộng EPAA
Phương pháp xấp xỉ gộp từng đoạn mở rộng EPAA (Extended Piecewise Aggregate
Approximation) do Lkhagva và các cộng sự đề xuất vào năm 2006 ([15]) Về cơ bản phương pháp xấp xỉ EPAA giống phương pháp PAA, bên cạnh lấy xấp xỉ từng đoạn bằng một giá trị trung bình của đoạn đó, phương pháp EPAA còn giữ lại giá trị lớn nhất và giá trị nhỏ nhất của đoạn đó Như vậy, mỗi đoạn trong phương pháp EPAA được đại diện bằng một nhóm 3 giá trị là giá trị nhỏ nhất, giá trị trung bình
và giá trị lớn nhất
Rõ ràng ưu điểm của phương pháp EPAA cũng là thời gian tính toán nhanh, dễ hiểu, dễ hiện thực và không làm mất đi tính quan trọng của dữ liệu Tuy nhiên, cũng giống một số phương pháp trước, việc khôi phục lại dữ liệu gốc bằng EPAA không chính xác Hơn nữa, phương pháp này phần nào cũng làm tăng số chiều của dữ liệu thu giảm
Phương pháp xấp xỉ từng đoạn thích nghi APCA
Phương pháp xấp xỉ từng đoạn thích nghi APCA (Adaptive Piecewise Constant
Approximation) do Keogh và các cộng sự đề nghị năm 2001 [5] Phương pháp APCA cũng giống như phương pháp PAA là xấp xỉ dữ liệu ban đầu thành các đoạn thẳng nằm ngang Nhưng không giống như phương pháp PAA là chia thành các đoạn bằng nhau, phương pháp APCA chia thành các đoạn có độ dài khác nhau tùy theo dữ liệu Những vùng nào trên chuỗi thời gian có biến động nhấp nho nhiều thì được phân thành những đoạn ngắn, còn những vùng nào ít biến động thì được phân thành những đoạn dài hơn
Cụ thể, cho chuỗi thời gian Q = {q 1 , q 2 , …, q n }, chuỗi biến đổi Q’ có dạng:
Q’ = {<qv 1 , qr 1 >, <qv 2 , qr 2 >, …, <qv m , qr m >} với qr 0 = 0 Trong đó qv i là giá trị trung bình cộng của những điểm dữ liệu ở đoạn thứ i, tức là
Trang 35Và qr i là điểm bên phải cùng của đoạn thứ i (cho biết chiều dài của đoạn thứ i)
Phương pháp này hỗ trợ hàm đo khoảng cách Minkowski, Euclid Ngoài ra còn có hai hàm đo khoảng cách được thiết kế riêng cho phương pháp này, một hàm xấp xỉ khoảng cách Euclid trên dữ liệu gốc nhưng không thỏa mãn chặn dưới (hỗ trợ tốt cho việc tìm kiếm xấp xỉ), một hàm còn lại thỏa mãn chặn dưới nhưng chặt hơn so với dùng các khoảng cách Minkowski hoặc Euclid (hỗ trợ tốt cho việc tìm kiếm chính xác)
Ưu điểm của phương pháp APCA là xấp xỉ tốt hơn PAA và tỷ lệ lỗi khi tái tạo lại
dữ liệu ban đầu nhỏ hơn PAA Tuy nhiên nhược điểm của phương pháp là độ phức
tạp biến đổi O(nlogn)
Phương pháp xấp xỉ tuyến tính từng đoạn PLA
Phương pháp xấp xỉ tuyến tính từng đoạn PLA (Piecewise Linear Approximation)
do Keogh và các cộng sự đề nghị ([17], [19]) Trong phương pháp này dữ liệu ban đầu được chia thành các chuỗi con có chiều dài bằng nhau, mỗi chuỗi con sẽ được xấp xỉ bằng một đoạn thẳng tuyến tính
Ví dụ, cho một chuỗi con S = {s 1 ,…, s n }, một đoạn thẳng tuyến tính xấp xỉ chuỗi con S này có dạng s’ t = a.t + b (t ∈ [1, n]), trong đó hệ số a và b được tính toán sao cho lỗi tái tạo RecErr(S) của S là nhỏ nhất (RecErr(S) chính bằng khoảng cách Euclid của S và đoạn thẳng tuyến tính xấp xỉ) Hàm đo khoảng cách được đề xuất là
khoảng cách PLA ([7]) thỏa điều kiện chặn dưới Cấu trúc chỉ mục là R-tree
Ưu điểm của phương pháp PLA là xấp xỉ tốt hơn phương pháp APCA vì đoạn thẳng xấp xỉ không cần thiết phải là đoạn thẳng nằm ngang như APCA và do đó lỗi tái tạo
của PLA là thấp hơn APCA Độ phức tạp biến đổi O(n) Tuy nhiên khả năng tính
toán khoảng cách trong cấu trúc chỉ mục do phương pháp PLA đề xuất khá phức tạp
Trang 362.2.2 Các phương pháp rời rạc hóa
Trong phương pháp rời rạc hóa (discretization), từ dữ liệu ban đầu, ta chia thành
những đoạn dữ liệu nhỏ hơn Sau đó, tương ứng với mỗi đoạn nhỏ này ta sẽ mã hóa chúng bởi những đặc trưng của đoạn Tập hợp những đặc trưng của nhứng đoạn nhỏ này sẽ làm thành một tràng ký hiệu biểu diễn cho dữ liệu ban đầu Khác với những phương pháp trước có độ đo tương tự được tính dựa trên khoảng cách, phương pháp này có độ đo tương tự được tính dựa trên những đặc trưng Có một số phương pháp rời rạc hóa đã được đề xuất như SAX, ESAX và iSAX Lợi ích quan trọng của việc rời rạc hóa dữ liệu chuỗi thời gian là cho phép sử dụng những cấu trúc dữ liệu và giải thuật vốn có trong lãnh vực xử lý chuỗi ký tự như cây hậu tố, kỹ thuật băm, mô hình xích Markov, …
Phương pháp rời rạc hóa ký hiệu SAX
Phương pháp xấp xỉ gộp ký hiệu hóa SAX (Symbolic Aggregate approXimation) do
Lin và Keogh cùng các cộng sự đề xuất năm 2003 [14], được xây dựng dựa trên phương pháp thu giảm số chiều PAA Và giả sử dữ liệu thu giảm số chiều đã được chuẩn hóa theo trung bình zero và độ lệch chuẩn 1 Như vậy, dữ liệu ban đầu được chia thành từng đoạn dùng phương pháp PAA Tiếp đó, ánh xạ từng đoạn này thành các ký tự rời rạc 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ố Ở đây, phương pháp SAX sử dụng hàm tính khoảng cách MINDIST trên không gian thu giảm, thỏa điều kiện chặn dưới
Ưu điểm của phương pháp SAX là tân dụng được các giải thuật và cấu trúc dữ liệu
xử lý trên dữ liệu chuỗi ký tự Ngoài ra, phương pháp này định nghĩa được hàm tính khoảng cách trên không gian thu giảm thỏa mãn điều kiện chặn dưới Hơn nữa, bằng cách ánh xạ khoảng cách giữa hai ký tự được tính toán trước một lần cho mỗi loại dữ liệu, việc tính toán khoảng cách rất nhanh thông qua tra cứu bảng này Tuy nhiên, nhược điểm chính của SAX là cách định nghĩa những đặc trưng cũng như
Trang 37phương pháp này không hỗ trợ tốt việc tính khoảng cách Euclid và giả định rằng dữ liệu chuỗi thời gian phải thỏa phân bố xác suất Gauss
Phương pháp rời rạc hóa ký hiệu ESAX
Phương pháp xấp xỉ gộp ký hiệu mở rộng ESAX (Extended Symbolic Aggregate
approXimation SAX) do Lkhagva và các cộng sự đề xuất năm 2006 [15] để đem lại một cách rời rạc hóa hữu hiệu hơn SAX khi áp dụng vào dữ liệu chuỗi thời gian trong lãnh vực tài chính Đối với dữ liệu tài chính, các điểm có giá trị lớn nhất và có giá trị nhỏ nhất là rất quan trọng trong việc phân tích tài chính Trong khi đó phương pháp SAX dựa vào cách biểu diễn PAA chỉ quan tâm đến giá trị trung bình của từng đoạn, do đó sẽ làm mất đi thông tin quan trọng của dữ liệu tài chính ban đầu Để khắc phục điểm này, sau khi đạt được giá trị trung bình của mỗi đoạn bằng phương pháp PAA, nhóm tác giả đưa thêm vào giá trị lớn nhất và giá trị nhỏ nhất của mỗi đoạn Như vậy, mỗi phân đoạn được diễn tả bằng một bộ ba <giá trị trung bình, giá nhỏ nhất, giá trị lớn nhất>, và sau đó bộ ba này sẽ được mã hóa bằng ba ký hiệu thay vì chỉ một ký hiệu nhưng trong phương pháp rời rạc hóa SAX
Phương pháp rời rạc hóa khả chỉ mục iSAX
Phương pháp rời rạc hóa khả chỉ mục iSAX (indexable Symbolic Aggregate
approXimation) được Shieh và Keogh đưa ra năm 2008 ([29]) Phương pháp này cũng là sự mở rộng của phương pháp SAX mà thay vì mã hóa mỗi phân đoạn chuỗi thời gian thành một ký hiệu như là chữ hay số nguyên, iSAX mã hóa mỗi phân đoạn chuỗi thời gian thành số nhị phân, thí dụ “00”, “01”, “10”, “11”
Với cách này iSAX có thể mã hóa chuỗi thời gian thành chuỗi bit và nhờ đó tiết kiệm được rất nhiều không gian bộ nhớ lưu trữ Ngoài ra iSAX còn hỗ trợ khả năng
biểu diễn đa mức phân giải (muti-resolution) dựa trên khả năng đa mức phân giải của các mức rời rạc hóa Bằng việc kết hợp với một cấu trúc chỉ mục cây phân cấp
(hierachical tree) với phương pháp iSAX, ta có thể truy vấn nhanh trên cơ sở dữ liệu
chuỗi thời gian với kích thước lớn lên đến hàng terabyte
Trang 382.3 Các công trình về cấu trúc chỉ mục
Dữ liệu chuỗi thời gian là rất lớn, nên thực hiện các thao tác tìm kiếm, so trùng gặp rất nhiều khó khăn Ngoài việc sử dụng các kỹ thuật thu giảm số chiều hay các kỹ thuật biểu diễn chuỗi thời gian, ta thường sử dụng các cấu trúc chỉ mục để đánh chỉ mục cho chuỗi thời gian nhằm giảm chi phí trong việc tính toán Một số cấu trúc chỉ mục thường dùng để lập chỉ mục cho dữ liệu chuỗi thời gian:
2.3.1 K-D-Tree:
K-D-Tree do J.Bernley đề nghị [4]: loại cấu trúc lập chỉ mục này không chứa dữ liệu trong cấu trúc cây, phù hợp cho các dữ liệu không gian lớn K-D-Tree là một
dạng cây nhị phân, được xây dựng bằng cách chia không gian d chiều thành các
không gian con, mỗi không gian con này được chia nhỏ cho đến khi nào là một điểm duy nhất
2.3.2 Quad Tree
Quad Tree do H.Samet đề nghị [11]: là cấu trúc cây và có cách thức phân chia không gian thành các không gian con là tương tự K-D-Tree Tuy nhiên, cấu trúc cây của Quad Tree không phải là cây nhị phân Số con mỗi nút trong Quad Tree bằng
2 d , trong đó d là số chiều của không gian điểm
2.3.3 R-Tree
R-Tree do A.Guttman đề nghị [16]: là cấu trúc cây dựa trên B-tree Tương tự như
B-tree, R-tree là một cây cân bằng Mỗi nút trong R-tree có chứa từ m đến M dữ liệu (m và M là 2 thông số trong quá trình xây dựng R-tree) Mỗi dữ liệu chứa một hình chữ nhật bao nhỏ nhất (minimum bounding rectanges – MBR) có thể giao nhau
Mỗi nút lá của cây R-tree chứa con trỏ tới dữ liệu thật sự
2.3.4 R*-tree
R*-tree do N.Beckmann và cộng sự đề nghị [2]: về cơ bản là cấu trúc giống R-tree, tuy nhiên R*-tree đã cải tiến một số nhược điểm của R-tree đặc biệt trong thao tác thêm phần tử
Trang 39Trong nội dung đề tài, chúng tôi chỉ quan tâm và sử dụng cấu trúc chỉ mục R*-tree
áp dụng vào bài toán so trùng chuỗi Chương sau, chúng tôi sẽ trình bày chi tiết cấu trúc chỉ mục này
2.4 Các thuật toán phát hiện chuỗi con “bất đồng”
Định nghĩa 1.1: Khoảng cách: Dist là hàm tính khoảng cách của hai đối số C và M,
có tính đối xứng, tức là Dist(C, M) = Dist(M, C)
Định nghĩa 1.2: Khớp không tầm thường (non-self match): Cho một chuỗi thời gian
T, chứa chuỗi con C chiều dài n bắt đầu từ vị trí p và chuỗi con trùng khớp M bắt đầu từ vị trí q, ta nói M và C là khớp không tầm thường ở khoảng cách Dist(C, M) nếu |p-q|≥n
Định nghĩa 1.3: Chuỗi thời gian bất đồng (time series discord): Cho một chuỗi thời gian T, chuỗi con D chiều dài n bắt đầu ở vị trí l được gọi là chuỗi con “bất đồng” của T nếu D có khoảng cách lớn nhất đến chuỗi con khớp không tầm thường gần nhất của nó Tức là, mọi chuỗi con C của T, chuỗi con khớp không tầm thường M D của D, và chuỗi con khớp không tầm thường M C của C, min(Dist(D, M D )) > min(Dist(C, M C ))
2.4.1 Giải thuật hệ thống miễn dịch nhân tạo IMM
Giải thuật này do Dasgupta và các cộng sự đề xuất năm 1999 [8] Ý tưởng của giải
thuật dựa trên cơ chế loại thải (negative selection) của hệ thống miễn dịch, dùng để
phân biệt giữa tế bào cơ thể và những tế bào ngoại xâm nhập Những mẫu dữ liệu bình thường được xem như là tế bào cơ thể và những mẫu thay đổi vượt quá sự cho phép được xem là tế bào ngoại Phương pháp này là một phương pháp xác suất, nó theo dõi những sự thay đổi của hành vi bình thường mà không cần biết trước những thay đổi nào sẽ xảy ra Do đó nó cải thiện được so với một số phương pháp khác đòi hỏi phải biết trước một số điều kiện thay đổi bất thường sẽ xảy ra
Trang 402.4.2 Giải thuật dựa trên cây TSA
Giải thuật này do Shahabi và các cộng sự đề nghị năm 2000 [28] Shahabi và các cộng sự giới thiệu một cấu trúc cây dựa trên phép biến đổi wavelet (DWT) nhằm cải
thiện hiệu quả của việc truy vấn xu hướng đa mức độ (multi-level trend) và truy vấn
những mẫu bất đồng Để truy vấn xu hướng đa mức độ và mẫu bất đồng, thông thường những tập con lớn của dữ liệu gốc cần được truy xuất và xử lý Sử dụng cây TSA có thể tăng tốc quá trình này Mỗi nút của cây TSA chứa những xu hướng và những bất đồng được tính toán trước ở nhiều mức độ khác nhau Phép biến đổi wavelet được sử dụng để tạo một cách đệ quy những nút của cây TSA Kích thước của mỗi nút là nhỏ hơn đáng kể so với chuỗi thời gian gốc, do đó thao tác xuất nhập nhanh hơn
2.4.3 Giải thuật Tarzan
Giải thuật Tarzan do Keogh và các cộng sự đề xuất năm 2002 [21] Dựa trên định
nghĩa về bất đồng (“Một chuỗi thời gian P, được rút trích từ database X là
“surprising” đối với database R, nếu tần suất xuất hiện của nó trong X là khác một cách đáng kể so với mong đợi, với giả sử rằng X và R được tạo ra bởi cùng một tiến
trình”), kết hợp mô hình Markov ẩn bậc cao và cây hậu tố để phát hiện chuỗi con
“bất đồng” Mô hình Markov ẩn dùng để dự đoán xác suất xuất hiện của một chuỗi con nào đó so với chuỗi huấn luyện cho trước, còn cây hậu tố dùng để đếm số lần xuất hiện của từng chuỗi con trong chuỗi lớn Giải thuật bắt đầu với việc user cung
cấp chuỗi dữ liệu huấn luyện R được cho là không chứa chuỗi con bất đồng, rời rạc hóa R và xây dựng cây hậu tố cho chuỗi này Tiếp tục ta rời rạc hóa và xây dựng cây hậu tố cho chuỗi cần kiểm tra X Dựa vào chiều dài l 2 của chuỗi con bất đồng
mà user cung cấp, ta lần lượt kiểm tra tất cả các chuỗi con có chiều dài l 2 trong X và tính xác suất xuất hiện của từng chuỗi con trong R nhờ mô hình Markov Nếu độ khác biệt giữa xác suất xuất hiện của một chuỗi con nào đó trong X với xác suất xuất hiện của nó trong R vượt quá ngưỡng c nào đó (ngưỡng c này do người dùng
quy định) thì ta kết luận chuỗi con đó là “bất đồng”