Nghiên cứu so sánh hiệu quả của hai phương pháp rời rạc hóa SAX và iSAX khi áp dụng vào giải thuật nhận dạng chuỗi con bất ñồng nhất trên dữ liệu chuỗi thời gian.. Chúng tôi tận dụng tín
Trang 1Đại Học Quốc Gia Tp Hồ Chí Minh
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-
HUỲNH TRẦN QUỐC BỬU
NGHIÊN CỨU PHƯƠNG PHÁP BIỂU DIỄN CHUỖI THỜI GIAN iSAX VÀ ỨNG DỤNG PHƯƠNG PHÁP NÀY VÀO BÀI TOÁN NHẬN DẠNG CHUỖI CON BẤT THƯỜNG NHẤT TRONG DỮ LIỆU CHUỖI THỜI
GIAN
Chuyên ngành: KHOA HỌC MÁY TÍNH
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, tháng 07 năm 2010
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
Cán bộ hướng dẫn khoa học: PGS TS Dương Tuấn Anh
Cán bộ chấm nhận xét 1: PGS TS Đỗ Phúc
Cán bộ chấm nhận xét 2: TS Quản Thành Thơ
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 30 tháng 8 năm 2010
Thành phần Hội ñồng ñánh giá luận văn thạc sĩ gồm:
Trang 3TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN Độc Lập - Tự Do - Hạnh Phúc
- -oOo -
Tp HCM, ngày tháng năm
NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: HUỲNH TRẦN QUỐC BỬU Phái: Nam
Ngày, tháng, năm sinh: 02 / 11 / 1985 Nơi sinh: Long Xuyên-An Giang Chuyên ngành: Khoa Học Máy Tính MSHV: 00708187
1- TÊN ĐỀ TÀI:
NGHIÊN CỨU PHƯƠNG PHÁP BIỂU DIỄN CHUỖI THỜI GIAN iSAX VÀ ỨNG DỤNG PHƯƠNG PHÁP NÀY VÀO BÀI TOÁN NHẬN DẠNG CHUỖI CON BẤT THƯỜNG NHẤT TRONG DỮ LIỆU CHUỖI THỜI GIAN
2- NHIỆM VỤ LUẬN VĂN:
Nghiên cứu so sánh hiệu quả của hai phương pháp rời rạc hóa SAX và iSAX khi áp dụng vào giải thuật nhận dạng chuỗi con bất ñồng nhất trên dữ liệu chuỗi thời gian
3- NGÀY GIAO NHIỆM VỤ:
4- NGÀY HOÀN THÀNH NHIỆM VỤ:
5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: PGS TS Dương Tuấn Anh
Nội dung và ñề cương Luận văn thạc sĩ ñã ñược Hội Đồng Chuyên Ngành thông qua
(Họ tên và chữ ký) QUẢN LÝ CHUYÊN NGÀNH
(Họ tên và chữ ký)
(Họ tên và chữ ký)
Trang 4i
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 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…………
Huỳnh Trần Quốc Bửu
Trang 5ii
LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn chân thành và sâu sắc ñế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 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è ñã ñộ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 và 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 Cha Mẹ Nhờ công lao dưỡng dục của Người mà chúng 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 6iii
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 Vì dữ liệu chuỗi thời gian là rất lớn, các lĩnh vực ứng dụng của nó ngày càng phát triển, nên ñòi hỏi cần có một phương pháp biểu diễn chuỗi thời gian hợp lý cho từng loại dữ liệu cũng như từng loại ứng dụng
cụ thể nhằm cải thiện tốc ñộ cũng như ñộ chính xác khi hoàn thành bài toán
Đề tài này tìm hiểu phương pháp rời rạc hóa dữ liệu ở mức bit iSAX (phương
pháp xấp xỉ gộp ký hiệu hóa khả chỉ mục), qua ñó ñề ra một cách ứng dụng phương
pháp này vào bài toán tìm chuỗi con bất ñồng Thông qua hai giải thuật HOT SAX
và EHOT (hai giải thuật ñã rất thành công khi ứng dụng một phương pháp rời rạc
hóa dữ liệu khác, phương pháp xấp xỉ gộp ký hiệu hóa SAX), chúng tôi so sánh ñộ
hiệu quả của iSAX và SAX khi giải quyết bài toán tìm chuỗi con bất ñồng
Chúng tôi tận dụng tính ña mức phân giải của phương pháp iSAX (một ưu thế mà phương pháp SAX không có ñược) ñể lập chỉ mục các chuỗi con và rút ngắn thời gian tìm kiếm chuỗi con bất ñồng cũng như làm giảm số lần gọi hàm tính ñộ tương
tự giữa hai chuỗi con Qua thực nghiệm cho thấy, phương pháp iSAX hiệu quả hơn nhiều lần so với phương pháp SAX khi ứng dụng vào bài toán tìm kiếm chuỗi con bất ñồng
Trang 7iv
ABSTRACT
The representation of time series plays more and more important role in time series data mining problems Since time series data has very big size, with many growing applications of time series data, it is necessary to have a suitable representation method for each kind of datasets and each kind of application which aims to improve the speed and the accuracy of the data mining solutions
This thesis studies a bit level representation of time series data iSAX (indexable
Symbolic Aggregate approXimation), then applies this representation to discord
discovery problem By applying iSAX to HOT SAX algorithm and EHOT algorithm
(which were successful with another representation SAX, Symbolic Aggregate
approXimation, for solving discord discovery problem), we compare the efficiency
of iSAX and SAX
We take advantage of multi-resolution feature of iSAX (which SAX does not have) to index time series and to shorten CPU time used for finding discords as well
as to decrease raw time series data retrieval times (distance function calls) Through experiments, we find out that iSAX is more effective than SAX
Trang 8v
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
DANH MỤC HÌNH ix
DANH MỤ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.2 Phát hiện bất thường 3
1.3 Mục tiêu và giới hạn của ñề tài 6
1.4 Tóm lược những kết quả ñạt ñược 7
1.5 Cấu trúc luận văn 8
Chương 2: Tổng thuật các công trình liên quan 9
2.1 Các công trình về ñộ ño tương tự 9
2.1.1 Độ ño Minkowski 10
2.1.2 Độ ño xoắn thời gian ñộng 11
2.1.3 Phương pháp chuỗi con chung dài nhất 14
2.2 Các công trình về biểu diễn chuỗi thời gian 15
2.2.1 Phương pháp biến ñổi Fourier rời rạc DFT 17
2.2.2 Phương pháp biến ñổi Wavelet rời rạc DWT 19
2.2.3 Phương pháp xấp xỉ gộp từng ñoạn PAA 20
2.2.4 Phương pháp xấp xỉ từng ñoạn thích nghi APCA 21
2.2.5 Phương pháp xấp xỉ tuyến tính từng ñoạn PLA 22
Trang 9vi
2.2.6 Phương pháp xấp xỉ gộp ký hiệu hóa SAX 23
2.2.7 Phương pháp ESAX 24
2.2.8 Phương pháp xén dữ liệu 25
2.2.9 Phương pháp SAX khả chỉ mục iSAX 26
2.3 Các cấu trúc chỉ mục 27
2.3.1 Cấu trúc chỉ mục cây hậu tố 28
2.3.2 Cấu trúc chỉ mục R-tree 28
2.3.3 Framework GEMINI 29
2.4 Các giải thuật phát hiện bất thường 30
2.4.1 Giải thuật hệ miễn nhiễm nhân tạo IMM (Immunology) 30
2.4.2 Giải thuật dựa trên cây TSA (TSA-tree) 31
2.4.3 Giải thuật Tarzan 31
Chương 3: Những cơ sở lý thuyết nền tảng 34
3.1 Phương pháp SAX 34
3.1.1 Chuẩn hóa dữ liệu 34
3.1.2 Thu giảm số chiều bằng phương pháp PAA 35
3.1.3 Ký hiệu hóa chuỗi thời gian 35
3.1.4 Hàm tính ñộ tương tự 37
3.2 Phương pháp iSAX 38
3.2.1 Mã hóa các ký tự có ñược sau khi áp dụng phương pháp SAX 39
3.2.2 Hàm tính ñộ tương tự trên không gian thu giảm 39
3.2.3 Cấu trúc chỉ mục 40
3.2.4 Truy vấn dữ liệu 44
3.3 Giải thuật phát hiện chuỗi con bất ñồng BFDD 47
3.4 Giải thuật phát hiện chuỗi con bất ñồng dựa vào heuristic HDD 48
Trang 10vii
3.5 Giải thuật phát hiện chuỗi con bất ñồng HOT SAX 50
3.5.1 Heuristic vòng lặp ngoài 52
3.5.2 Heuristic vòng lặp trong 52
3.6 Giải thuật phát hiện chuỗi con bất ñồng EHOT 53
3.6.1 Heuristic vòng lặp ngoài 53
3.6.2 Heuristic vòng lặp trong 56
Chương 4: Phương pháp giải quyết vấn ñề và hệ thống ứng dụng 58
4.1 Đặt vấn ñề 58
4.2 Phương pháp giải quyết vấn ñề 59
4.2.1 Giải thuật HOTiSAX 59
4.2.2 Giải thuật EHOTiSAX 69
4.3 Hệ thống phát hiện chuỗi con bất thường 69
4.3.1 Khối tạo dữ liệu 69
4.3.2 Khối tìm kiếm chuỗi con bất ñồng 71
4.3.3 Khối biểu diễn dữ liệu 72
4.3.4 Khối cấu trúc dữ liệu 72
Chương 5: Thực nghiệm 73
5.1 Tinh chỉnh thông số và xác ñịnh các heuristic 73
5.1.1 Tinh chỉnh thông số cho HOTiSAX 74
5.1.2 Tinh chỉnh thông số và xác ñịnh các heuristic cho EHOTiSAX 76
5.2 Kết quả thực nghiệm so sánh HOT SAX với HOTiSAX 79
5.2.1 Thực nghiệm trên tập dữ liệu dự báo sự kiện ERP 79
5.2.2 Thực nghiệm trên dữ liệu ñiện não ñồ EEG 80
Trang 11viii
5.2.3 Thực nghiệm trên dữ liệu ñiện tâm ñồ KOSKI 81
5.2.4 Thực nghiệm trên dữ liệu năng lượng POWER 82
5.2.5 Thực nghiệm trên dữ liệu chứng khoán STOCK 83
5.3 Kết quả thực nghiệm so sánh EHOT với EHOTiSAX 85
5.3.1 Thực nghiệm trên dữ liệu dự báo sự kiện ERP 85
5.3.2 Thực nghiệm trên dữ liệu ñiện não ñồ EEG 86
5.3.3 Thực nghiệm trên dữ liệu ñiện tâm ñồ KOSKI 87
5.3.4 Thực nghiệm trên dữ liệu năng lượng POWER 88
5.3.5 Thực nghiệm trên dữ liệu chứng khoán STOCK 89
Chương 6: Kết luận 91
6.1 Tổng kết 91
6.2 Những ñóng góp của ñề tài 92
6.3 Hướng phát triển 93
Tài liệu tham khảo 95 PHỤ LỤC A: BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH - VIỆT A1 PHỤ LỤC B: LÝ LỊCH TRÍCH NGANG A3
Trang 12ix
DANH MỤC HÌNH
Hình 1.1: Chuỗi thời gian ở trên cùng là ñiện tâm ñồ của một người khỏe mạnh bình thường với một ñường thằng cố tình ñược thêm vào Chuỗi bên dưới chỉ ra mức ñộ gây ngạc nhiên của những phần cục bộ của chuỗi bên trên theo ñịnh nghĩa của
Shahabi và các cộng sự (nguồn [22]) 4
Hình 2.1: Trường hợp 2 chuỗi có ñường cơ bản lệch nhau và biên ñộ dao ñộng khác nhau (nguồn [13]) 11
Hình 2.2: Minh họa sự khác nhau giữa 2 ñộ ño Euclid và DTW (nguồn [12]) 12
Hình 2.3: Một ví dụ ñường ñi xoắn (nguồn [10]) 13
Hình 2.4: Các phương pháp biểu diễn chuỗi thời gian (nguồn [13]) 17
Hình 2.5: Các dạng biểu diễn phổ biến nhất cho khai phá dữ liệu chuỗi thời gian (nguồn [13]) 18
Hình 2.6: Phương pháp biểu diễn PAA với n=128, N=8 (nguồn [18]) 20
Hình 2.7: Dữ liệu chuỗi thời gian trong lĩnh vực tài chính ñược biểu diễn bằng phương pháp SAX (nguồn [2]) 25
Hình 2.8: Dạng biểu diễn xén c của C (nguồn [8]) 26
Hình 2.9: Một chuỗi thời gian T ñược chuyển sang dạng biểu diễn SAX theo số ñoạn là 4 (bên trái) và 2 (bên phải) (nguồn [25]) 26
Hình 2.10: Cây hậu tố cho các chuỗi S 1 =babab, S 2 =aab, S 3 =baa (nguồn [35]) 28
Hình 2.11: Minh họa cấu trúc R-tree cho dữ liệu không gian (nguồn [1]) 29
Hình 2.12: Một so sánh của 3 giải thuật phát hiện bất thường A) Dữ liệu huấn luyện B) Chuỗi thời gian chứa bất thường nhân tạo, ñược tạo ra cùng thông số với dữ liệu huấn luyện C) Giải thuật IMM tìm kiếm bất thường với một vài false alarm D) Giải thuật cây TSA không thể phát hiện bất thường E) Giải thuật Tarzan chỉ ra ñược khoảng thời gian bất thường bằng một ñỉnh nhô cao (nguồn [21]) 32
Hình 3.1: Một chuỗi thời gian ñược biến ñổi PAA rồi mã hóa thành các ký tự SAX Chuỗi thời gian ñược mã hóa thành baabcabc (nguồn [24]) 36
Trang 13x
Hình 3.2: Minh họa 3 dạng biểu diễn chuỗi thời gian và các hàm tính khoảng cách tương ứng A) Chuỗi thời gian ban ñầu và hàm tính khoảng cách Euclid B) Dạng biểu diễn PAA của chuỗi thời gian và hàm tính khoảng cách DR C) Dạng biểu diễn
SAX và hàm tính khoảng cách MINDIST (nguồn [24]) 38
Hình 3.3: Cấu trúc chỉ mục trong iSAX (nguồn [25]) 41
Hình 3.4: Hai cấu trúc dữ liệu hỗ trợ cho heuristic vòng lặp ngoài và heuristic vòng lặp trong Bên trái, một dãy các từ SAX, cột cuối cùng chứa số lần xuất hiện của mỗi từ trong dãy Bên phải, một cây gia tố (Augmented Trie) có nút lá chứa những chỉ mục (vị trí) của từ SAX tương ứng trong dãy (nguồn [17]) 51
Hình 3.5: Tìm kiếm nhánh và cận cho vòng lặp trong, ñường ñi tô ñậm là ñường ñi ñược xem xét trong quá trình tìm kiếm (nguồn [28]) 56
Hình 4.1: Cấu trúc dữ liệu dãy: cột thứ 1 chứa vị trí của chuỗi con trong chuỗi lớn ban ñầu, cột thứ 2 chứa dạng biểu diễn iSAX của chuỗi con ở mức phân giải cơ bản, cột thứ 3 chứa dạng biểu diễn iSAX của chuỗi con ở mức phân giải cao nhất trong cây chỉ mục iSAX, cột thứ 4 chứa số lần xuất hiện của mỗi từ iSAX (ở mức phân giải cơ bản) trong cấu trúc dãy 62
Hình 4.2: Hệ thống phát hiện chuỗi con bất thường 70
Hình 5.1: Số lần gọi hàm tính khoảng cách của HOTiSAX 74
Hình 5.2: Thời gian chạy của giải thuật HOTiSAX thay ñổi theo giá trị w 75
Hình 5.3: Số lần gọi hàm tính khoảng cách của HOTiSAX thay ñổi theo giá trị α 75
Hình 5.4: Thời gian chạy của HOTiSAX thay ñổi theo giá trị α 76
Hình 5.5: Số lần gọi hàm tính khoảng cách của EHOTiSAX 77
Hình 5.6: Thời gian chạy của EHOTiSAX thay ñổi theo giá trị w 77
Hình 5.7: Số lần gọi hàm tính khoảng cách của EHOTiSAX thay ñổi theo giá trị α 78 Hình 5.8: Thời gian chạy của EHOTiSAX thay ñổi theo giá trị α 78
Hình 5.9: Số lần gọi hàm tính khoảng cách của HOT SAX và HOTiSAX trên dữ liệu ERP 79
Hình 5.10: Thời gian chạy của HOT SAX và HOTiSAX trên dữ liệu ERP 79
Trang 14xi
Hình 5.11: Số lần gọi hàm tính khoảng cách của HOT SAX và HOTiSAX trên dữ
liệu EEG 80
Hình 5.12: Thời gian chạy của HOT SAX và HOTiSAX trên dữ liệu EEG 80
Hình 5.13: Số lần gọi hàm của HOT SAX và HOTiSAX trên dữ liệu KOSKI 81
Hình 5.14: Thời gian chạy của HOT SAX và HOTiSAX trên dữ liệu KOSKI 81
Hình 5.15: Số lần gọi hàm khoảng cách của HOT SAX và HOTiSAX trên dữ liệu POWER 82
Hình 5.16: Thời gian chạy của HOT SAX và HOTiSAX trên dữ liệu POWER 82
Hình 5.17: Số lần gọi hàm khoảng cách của HOT SAX và HOTiSAX trên dữ liệu STOCK 83
Hình 5.18: Thời gian chạy của HOT SAX và HOTiSAX trên dữ liệu STOCK 83
Hình 5.19: Số lần gọi hàm tính khoảng cách của EHOT và EHOTiSAX trên dữ liệu ERP 85
Hình 5.20: Thời gian chạy của EHOT và EHOTiSAX trên dữ liệu ERP 85
Hình 5.21: Số lần gọi hàm tính khoảng cách của EHOT và EHOTiSAX trên dữ liệu EEG 86
Hình 5.22: Thời gian chạy của EHOT và EHOTiSAX trên dữ liệu EEG 86
Hình 5.23: Số lần gọi hàm tính khoảng cách của EHOT và EHOTiSAX trên dữ liệu KOSKI 87
Hình 5.24: Thời gian chạy của EHOT và EHOTiSAX trên dữ liệu KOSKI 87
Hình 5.25: Số lần gọi hàm tính khoảng cách của EHOT và EHOTiSAX trên dữ liệu POWER 88
Hình 5.26: Thời gian chạy của EHOT và EHOTiSAX trên dữ liệu POWER 88
Hình 5.27: Số lần gọi hàm tính khoảng cách của EHOT và EHOTiSAX trên dữ liệu STOCK 89
Hình 5.28: Thời gian chạy của EHOT và EHOTiSAX trên dữ liệu STOCK 89
Trang 15xii
DANH MỤC BẢNG
Bảng 1.1: Cách tiếp cận chung cho các nhiệm vụ khai phá dữ liệu (nguồn [14]) 2
Bảng 2.1: Mã giả giải thuật xây dựng chỉ mục GEMINI (nguồn [4]) 30
Bảng 3.1: Bảng tra tìm các giá trị β theo từng giá trị α tương ứng (nguồn [24]) 36
Bảng 3.2: Bảng tra cứu giá trị hàm dist giữa hai ký tự trường hợp α = 4 (nguồn [24]) 37
Bảng 3.3: Bảng tra cứu khoảng cách giữa các bit khi α = 4 ( nguồn [25]) 40
Bảng 3.4: Giải thuật chèn dữ liệu (nguồn [25]) 43
Bảng 3.5: Giải thuật tìm kiếm chính xác (nguồn [25]) 46
Bảng 3.6: Mã giả giải thuật BFDD (nguồn [17]) 48
Bảng 3.7: Mã giả giải thuật HDD (nguồn [17]) 50
Bảng 3.8: Bảng tần số ký tự (Symbol Frequency Table) (nguồn [28]) 54
Bảng 4.1: Hàm sắp xếp các chuỗi con trên cấu trúc chỉ mục iSAX 63
Bảng 4.2: Hàm tìm kiếm xấp xỉ so trùng không-tầm-thường 65
Bảng 4.3: Hàm tìm kiếm chính xác so trùng không-tầm-thường 67
Bảng 5.1: Kiểu sinh heuristic vòng lặp ngoài cho từng loại dữ liệu 76
Trang 161
Chương 1: Phát biểu vấn ñề
Dữ liệu ñược lưu trữ trong máy tính ngày càng nhiều và tốc ñộ tăng là khá nhanh Hầu hết dữ liệu ñược thu thập một cách tự ñộng theo thời gian bởi các ứng dụng sensor hoặc ứng dụng quan sát, theo dõi Những dữ liệu như vậy gọi là dữ liệu chuỗi thời gian Dữ liệu 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 Vì vậy, ñã có nhiều nghiên cứu nhằm mục ñích quản lý, xử lý một cách hiệu quả những yêu cầu có liên quan ñến dữ liệu chuỗi thời gian Tổng quát:
Định nghĩa 1.1: Chuỗi thời gian (Time Series) 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
Có rất nhiều dữ liệu có yếu tố thời gian như dữ liệu về giá chứng khoán, ñiện tâm
ñồ, mực nước, lưu lượng truyền trên mạng, dữ liệu tài chính… 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:
ñộ tương tự hoặc ñộ sai biệt D(Q,C), tìm những chuỗi thời gian tương tự nhất
với Q trong cơ sở dữ liệu DB nào ñó
chuỗi thời gian trong cơ sở dữ liệu DB theo một hàm tính ñộ tương tự D(Q,C)
vào một trong những nhóm ñã ñược ñịnh nghĩa trước
Trang 172
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ó
• Phát hiện bất thường (Anomaly detection): cho một chuỗi thời gian Q, và
một vài mô hình hành vi bình thường (normal behavior), tìm tất cả những phần thuộc Q có chứa bất thường Ngoài ra còn có nhiều tên gọi khác cho lĩnh vực này như phát hiện những hành vi gây ngạc nhiên (surprising behavior), hành
vi quan tâm (interesting behavior), hành vi không mong ñợi (unexpected
behavior), hành vi lạ thường (novel behavior) Đồng thời có rất nhiều ñịnh
nghĩa như thế nào gọi là bất thường
Vì dữ liệu chuỗi thời gian là rất lớn, không lưu trữ ñủ trong bộ nhớ chính, nên khi
xử lý ta 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 cho các nhiệm vụ khai phá dữ liệu (mặc dù tốc ñộ xuất nhập ñĩa ngày nay ñã ñược cải thiện ñáng kể, nhưng tốc ñộ gia tăng kích thước dữ liệu chuỗi thời gian là nhanh hơn rất nhiều lần) Người ta nghĩ ngay ñến việc xấp xỉ những chuỗi dữ liệu ñể vừa khít với bộ nhớ chính (nhằm hạn chế số lần truy cập ñĩa) Một framework chung ñể thực hiện các nhiệm vụ khai phá dữ liệu chuỗi thời gian ñược ñề ra ở [6] Cách tiếp cận
cơ bản này ñược chỉ ra trong Bảng 1.1 sau:
duy trì các ñặc trưng cần quan tâm
ñúng với dữ liệu gốc
Bảng 1.1: Cách tiếp cận chung cho các nhiệm vụ khai phá dữ liệu (nguồn [14])
Ta dễ dàng thấy rằng hiệu quả của framework 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 sự xấp xỉ càng gần với dữ liệu gốc thì
Trang 183
lời giải ñạt ñược trong bộ nhớ chính càng gần với lời giải ñạt ñược với dữ liệu gốc Dẫn ñến số lần truy cập ñĩa ngoài ở bước 3 là càng ít Chính vì vậy ñã có nhiều phương pháp xấp xỉ ñược nghiên cứu và so sánh mà chúng tôi sẽ trình bày ở các phần sau
Để so sánh các phương pháp xấp xỉ, người ta lần lượt kiểm tra ñộ hữu hiệu của chúng trong những nhiệm vụ khai phá dữ liệu chuỗi thời gian khác nhau Đề tài này chỉ gói gọn kiểm tra trong lĩnh vực phát hiện bất thường Ở phần tiếp theo, chúng tôi
sẽ trình bày rõ hơn về lĩnh vực này
Tập dữ liệu chuỗi thời gian có thể ñược tạo ra từ những chuỗi thời gian ñộc lập hoặc bằng cách rút trích các chuỗi con từ một chuỗi thời gian ban ñầu Với trường hợp thứ hai, sự tương quan về vị trí giữa các chuỗi con trong chuỗi thời gian ban ñầu là
rất quan trọng Do ñó, tồn tại hai ñịnh nghĩa khác nhau là ñịnh nghĩa chuỗi thời gian
bất thường và ñịnh nghĩa chuỗi con bất ñồng
Lĩnh vực phát hiện bất thường ñã xuất hiện dưới nhiều cái tên khác nhau Do ñó, cũng có nhiều ñịnh nghĩa khác nhau cho sự bất thường [34, 11, 7, 3, 36] Tuy nhiên,
ña số những ñịnh nghĩa này chỉ ñúng trong giới hạn của một công cụ khai phá dữ
liệu nào ñó Ví dụ, ta xem một ñịnh nghĩa do Shahabi và các cộng sự [11] ñề ra như
sau Họ ñịnh nghĩa chuỗi thời gian gây ngạc nhiên (surprising time series) như
“…những thay ñổi ñột ngột trong dữ liệu chuỗi thời gian gốc, ñược xác ñịnh bởi những ñiểm có giá trị cực ñại trong những giá trị tuyệt ñối của những hệ số wavelet” Và Hình 1.1 là một ví dụ cho thấy một trường hợp mà ñịnh nghĩa này không ñúng Trong ñó, ñịnh nghĩa này cho rằng mỗi một nhịp tim bình thường thì gây ngạc nhiên còn chỗ không có nhịp tim thì lại là phần ít gây ngạc nhiên nhất!
Trang 194
Hình 1.1: Chuỗi thời gian ở trên cùng là ñiện tâm ñồ của một người khỏe mạnh bình thường với một ñường thằng cố tình ñược thêm vào Chuỗi bên dưới chỉ
ra mức ñộ gây ngạc nhiên của những phần cục bộ của chuỗi bên trên theo ñịnh
nghĩa của Shahabi và các cộng sự (nguồn [22])
Một ñịnh nghĩa tổng quát do Keogh và các cộng sự [22] ñề ra như sau:
Định nghĩa 1.2: Một chuỗi thời gian P, ñược rút trích từ cơ sở dữ liệu X là gây
ngạc nhiên ñối với cơ sở dữ liệu 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 trong R, với giả sử rằng X và R ñược tạo ra bởi
cùng một tiến trình
Định nghĩa 1.2 có ưu ñiểm là không phụ thuộc vào cấu trúc của chuỗi thời gian cần kiểm tra cũng như không phụ thuộc vào một lĩnh vực nào Thay vào ñó, người dùng chỉ cần cung cấp những dữ liệu ñã quan sát ñược cho là bình thường
Nhược ñiểm của nó là không tận dụng ñược những kiến thức từ các chuyên gia lĩnh vực, và các kỹ thuật trong cộng ñồng khai phá dữ liệu không hỗ trợ việc xác
ñịnh một cách hiệu quả tần suất xuất hiện của chuỗi thời gian
Những ñịnh nghĩa trên là những ñịnh nghĩa chuỗi thời gian bất thường trên tập dữ liệu ñược tạo ra từ những chuỗi thời gian ñộc lập Sau ñây, ta sẽ xem xét ñịnh nghĩa
chuỗi con bất ñồng dựa trên ý tưởng tìm kiếm tương tự (similarity search) cũng do
Keogh và các cộng sự ñề xuất [17]
Định nghĩa 1.3: Khoảng cách (Distance): Dist là hàm tính khoảng cách của hai
ñối số C và M, có tính ñối xứng, tức là Dist(C,M) = Dist(M,C)
Trang 205
Định nghĩa 1.4: So trùng 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 ở vị trí p và chuỗi con so trùng
M bắt ñầu vị trí q, ta nói M và C là so trùng không-tầm-thường ở khoảng cách Dist(C,M) nếu |p-q| ≥ n
Định nghĩa 1.5: Chuỗi con 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 so trùng không-tầm-thường gần nhất của nó Tức là, ∀ chuỗi con C của T, chuỗi con so trùng không-tầm-
Định nghĩa 1.5 có ưu ñiểm là người dùng chỉ việc cung cấp một ñối số duy nhất
là chiều dài n của chuỗi con bất ñồng nhưng nhược ñiểm là nó không tận dụng ñược
những giải thuật dựa trên mật ñộ phân bố, và các giải thuật chia nhỏ vấn ñề như quy hoạch ñộng, chia ñể trị, bottom-up,…do những nhận xét thu ñược ở [17] Ngoài ra,
ñể tìm kiếm chuỗi con bất ñồng theo ñịnh nghĩa này thì ta cần phải có một hàm tính
khoảng cách (hay còn gọi là hàm tính ñộ tương tự) thích hợp Cũng ñã có nhiều nghiên cứu phương pháp tính ñộ tương tự, nhưng mỗi phương pháp dường như chỉ thích hợp với một vài kiểu dữ liệu chuỗi thời gian nào ñó
Các giải thuật phát hiện bất thường dù dựa trên ñịnh nghĩa chuỗi thời gian bất thường hay ñịnh nghĩa chuỗi con bất ñồng ñều có thể ñược chỉnh sửa dễ dàng ñể áp dụng ñúng ñắn vào ñịnh nghĩa còn lại Chúng ta chỉ cần thêm hoặc bỏ bớt quá trình kiểm tra so trùng không-tầm-thường Tuy nhiên, ñề tài này chỉ xem xét bài toán tìm kiếm chuỗi con bất ñồng trong chuỗi thời gian cho trước
Chúng tôi sẽ trình bày các giải thuật tương ứng với hai ñịnh nghĩa trên (ñịnh nghĩa 1.2 và 1.5) và các phương pháp xấp xỉ dữ liệu thích hợp phục vụ cho các nhiệm vụ khai phá dữ liệu nói chung và phát hiện bất thường nói riêng trong chương
3
Trang 216
Mục tiêu chính của luận văn là tìm hiểu phương pháp rời rạc hóa chuỗi dữ liệu thời
gian ở dạng bit iSAX [25] Sau ñó, ñề xuất một cách ứng dụng iSAX vào bài toán tìm kiếm chuỗi con bất ñồng Cụ thể, ñề tài này chọn ra hai giải thuật tìm kiếm chuỗi con bất ñồng là HOT SAX [17] và EHOT [28] ñể so sánh ñộ hiệu quả giữa phương pháp iSAX và phương pháp SAX [24] Lý do chọn hai giải thuật này sẽ
ñược chúng tôi nêu rõ trong quá trình trình bày và chốt lại ở cuối chương 2
Sau khi khảo sát các phương pháp biểu diễn, hàm tính ñộ tương tự, tìm hiểu
phương pháp iSAX và các ñặc tính của nó, chúng tôi ñề xuất cách ứng dụng iSAX vào bài toán tìm kiếm chuỗi con bất ñồng như sau:
và cộng sự ñề nghị [20]
• Rời rạc hóa dữ liệu bằng phương pháp xấp xỉ gộp ký hiệu hóa khả chỉ mục
iSAX do J Shieh và cộng sự ñề nghị [25]
MINDIST_PAA_iSAX [25] Hàm tính ñộ tương tự trong không gian nguyên thủy là Euclid
SAX [17] và EHOT [28]
• Tận dụng tính ña mức phân giải và cấu trúc chỉ mục của iSAX ñể tạo ra heuristic vòng lặp ngoài và heuristic vòng lặp trong hữu hiệu hơn
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
Trang 227
Trong giới hạn thời gian hiện thực, chúng tôi ñã hiện thực hệ thống tìm kiếm chuỗi con bất ñồ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
Trong môñun thứ nhất, chúng tôi 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 Trong 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à iSAX
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, cấu trúc dãy iSAX và cấu trúc chỉ mục
iSAX (iSAX Index) cho phương pháp iSAX 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, giải thuật EHOT, giải thuật HOTiSAX và giải thuật EHOTiSAX (hai giải thuật sau
do chúng tôi ñề xuấ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 SAX và phương pháp iSAX 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 iSAX 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
Trang 238
Phần còn lại của luận văn ñược tổ chức như sau:
Chương 2 trình bày tổng quan các công trình liên quan về các hàm tính ñộ tương
tự, các phương pháp thu giảm số chiều, các phương pháp rời rạc hóa dữ liệu chuỗi thời gian, các cấu trúc chỉ mục phổ biến, cùng các giải thuật phát hiện bất thườ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ể, những giải thuật tìm kiếm chuỗi con bất ñồng ñược chọn như giải thuật BFDD (Brute Force Discord Discovery) [17], giải thuật HDD (Heuristic Discord Discovery) [17], giải thuật HOT SAX và giải thuật EHOT
Chương 4, chúng tôi trình bày về phương pháp giải quyết vấn ñề, cách ứng dụng iSAX vào 2 giải thuật tìm kiếm chuỗi con bất ñồng là HOT SAX và EHOT Hệ thống hiện thực hóa phương pháp giải quyết vấn ñề cũng sẽ ñược giới thiệu trong chương 4
Chương 5, các kết quả thực nghiệm ñược công bố và so sánh Chúng tôi chạy thực nghiệm hệ thống trên các tập dữ liệu khác nhau Ứng với mỗi tập dữ liệu, chúng tôi kiểm tra với các thông số thiết lập khác nhau như: chiều dài chuỗi thời gian ban ñầu, chiều dài chuỗi con bất ñồng, số chiều trong không gian thu giảm, mức phân giải hay còn gọi là số ký tự mã hóa chuỗi thời gian
Chương 6 là một số kết luận và hướng mở rộng của ñề tài
Trang 249
Chương 2: Tổng thuật các công trình liên quan
Chương 2 sẽ tổng thuật các công trình về ñộ ño tương tự, các phương pháp biểu diễn dữ liệu chuỗi thời gian (gồm các phương pháp thu giảm số chiều và các phương pháp rời rạc hóa dữ liệu chuỗi thời gian), các phương pháp lập chỉ mục, và các giải thuật phát hiện bất thường
Trong mọi bài toán về chuỗi thời gian nói chung hay bài toán tìm kiếm chuỗi con
khoảng cách của chúng bằng 0, là tương tự nhau khi khoảng cách của chúng nhỏ
hơn một giá trị ngưỡng nào ñó Và với một hàm tính ñộ tương tự D(x, y), các tính
chất sau cần ñược thỏa mãn:
Trang 25Mặc dù có nhiều sự lựa chọn khác nhau cho p, nhưng người ta thường chọn p = 2 vì
những ưu ñiểm sau:
Ưu ñiểm:
tự Thích hợp cho nhiều phép biến biểu diễn xấp xỉ như DFT [5], DWT [26], PAA [20], hay APCA [30] …
Nhược ñiểm:
ñổi giống nhau nhưng lệch nhau về thời gian hoặc biên ñộ (amplitude) khác
nhau (xem Hình 2.1)
Để khắc phục nhược ñiểm này, trước khi tính khoảng cách, ta cần chuẩn hóa các
chuỗi thời gian Một cách chuẩn hóa ñược sử dụng phổ biến là ñưa về dạng trung
bình zero (zero-mean) và ñộ lệch chuẩn (deviation) là 1
Trang 2611
(1) Đường cơ bản khác nhau (2) Biên ñộ dao ñộng khác nhau
Hình 2.1: Trường hợp 2 chuỗi có ñường cơ bản lệch nhau và biên ñộ dao ñộng
khác nhau (nguồn [13])
Ví dụ, cho Q có giá trị trung bình là mean(Q) và ñộ lệch chuẩn là var(Q), Q’ là chuỗi chuẩn hóa của Q ñược tính như sau:
Q’[i] = (Q[i] – mean(Q))/var(Q)
2.1.2 Độ ño xoắn thời gian ñộng (Dynamic Time Warping –DTW)
Phương pháp DTW do Berndt và các cộng sự ñề ra năm 1994 [10] Việc so trùng 2
ñường biểu diễn dữ liệu bằng cách tính khoảng cách từng cặp ñiểm 1-1 (ñiểm thứ i
của ñường thứ I so với ñiểm thứ i của ñường thứ II) như phương pháp Minkowski là
không phù hợp trong trường hợp hai ñường này không hoàn toàn giống nhau nhưng hình dạng biến ñổi rất giống nhau Như trong Hình 2.2a, 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 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 2 ñường thì kết quả rất khác nhau và kết quả cuối cùng có thể không như mong muốn
Để khắc phục, một ñiểm có thể ánh xạ với nhiều ñiểm và ánh xạ này không thẳng hàng (Hình 2.2b) Phương pháp này gọi là xoắn thời gian ñộng [10]
Trang 2712
(a) Tính theo khoảng cách Euclid (b) Tính theo khoảng cách DTW Hình 2.2: Minh họa sự khác nhau giữa 2 ñộ ño Euclid và DTW (nguồn [12])
Để tìm DTW của S = s 1 , s 2 ,…,s n và T = t 1 , t 2 ,…,t m, ta sắp xếp 2 chuỗi thời gian
này lên mặt phẳng lưới n x m, trong ñó mỗi ñiểm lưới (i,j) tương ứng với một sự ánh
cách” giữa chúng là nhỏ nhất
W = w 1 , w 2 … w k
Trong ñó w k tương ứng với ñiểm (i,j) k như trong Hình 2.3
Có rất nhiều cách tính khoảng cách giữa 2 thành phần s i và t j, có thể tính theo một trong hai cách sau:
δ(i, j) = |s i – t j |
δ(i, j) = (s i – t j ) 2
Như vậy,
DTW(S, T) = minw[ ]
Trang 2813
Hình 2.3: Một ví dụ ñường ñi xoắn (nguồn [10])
Để giới hạn không gian tìm kiếm ñường ñi xoắn, những ràng buộc sau phải ñược
cửa sổ xoắn cho trước, tức là |i k – j k | ≤ ω, trong ñó ω là chiều rộng của cửa sổ
xoắn (số nguyên dương) (xem Hình 2.3)
Ngoài ra, còn một số ràng buộc khác cần thỏa mãn ñể việc tìm kiếm có hiệu quả và nhanh hơn [8] Có thể tìm kiếm ñường ñi xoắn theo giải thuật quy hoạch ñộng, dựa
trên công thức truy hồi ñịnh nghĩa khoảng cách tích lũy λ(i, j), của mỗi ñiểm
λ(i, j) = δ(i, j) + min[λ(i-1, j), λ(i-1, j-1), λ(i, j-1)]
Trang 2914
Ưu ñiểm:
về thời gian có thể khác nhau
Nhược ñiểm:
2.1.3 Phương pháp chuỗi con chung dài nhất (Longest Common Subsequence – LCS)
Phương pháp LCS do Vlachos và các cộng sự ñề ra năm 2004 [27] Điểm nổi bật của phương pháp này là nó cho phép bỏ qua những ñiểm bất thường khi so sánh Ý tưởng chính của phương pháp này là tìm những chuỗi con chung Hai chuỗi có
chuỗi con chung càng dài thì càng giống nhau Ví dụ, cho 2 chuỗi X, Y:
• Cũng giống phương pháp Euclid, dữ liệu nên ñược chuẩn hóa trước khi áp
dụng phương pháp này, nhằm tránh hiện tượng tịnh tiến (shifting) ñường cơ bản hay co giãn (scaling) biên ñộ
Trang 3015
Vì dữ liệu chuỗi thời gian là rất lớn, không thể xử lý trong bộ nhớ chính mà phải tốn nhiều lần truy cập ñĩa ngoài, chi phí truy cập ñĩa ngoài là rất ñáng kể so với chi phí tính toán, thường gây ra hiện tượng thắt cổ chai khi thực hiện các nhiệm vụ khai phá
dữ liệu Do ñó, nhiều phương pháp xấp xỉ chuỗi thời gian ñược ñề xuất ñể có thể dễ dàng xử lý trong bộ nhớ chính và giảm thiểu số lần truy cập ñĩa ngoài Những
phương pháp này thường ñược gọi là những kỹ thuật thu giảm số chiều
(dimensionality reduction) Một số phương pháp vừa thu giảm số chiều vừa rời rạc
hóa dữ liệu chuỗi thời gian ñược gọi là phương pháp rời rạc hóa (discretization)
Phương pháp tổng quát ñể thu giảm số chiều có thể tóm tắt như sau:
dùng là hàm tính khoảng cách Euclid)
k (tức là một ñặc trưng gồm k giá trị), với k 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)
• Cung cấp một ñộ ño tương tự d k trên không gian ñặc trưng k chiều trên và
chứng tỏ rằng nó thỏa ñiều kiện chặn dưới sau:
d k (X’, Y’) ≤ d(X, Y)
Điều kiện chặn dưới như trên có nghĩa là hàm khoảng cách tính trên không gian
ñặc trưng (hay không gian thu giảm) của hai chuỗi thời gian ñã ñược biến ñổi X’, Y’
từ hai chuỗi ban ñầu X, Y phải chặn dưới khoảng cách thật của chúng trên không gian nguyên thủy, ñiều này ñảm bảo không xảy ra false dismissal (những ñối tượng
thỏa ñiều kiện nhưng bị bỏ sót)
Hầu hết các phương pháp xấp xỉ ñều chỉ ra ñược hàm tính ñộ tương tự trên không gian thu giảm sao cho nó là chặn dưới của khoảng cách thực của dữ liệu gốc Chỉ một số phương pháp không thỏa mãn ñiều kiện chặn dưới này cho rằng phải hy sinh
Trang 3116
ñộ chính xác của kết quả tìm ñược ñể tăng tốc ñộ tính toán và tìm kiếm (xem Hình
2.4, phương pháp Value-based và Slope-based) Sau khi có ñược sự xấp xỉ của dữ liệu gốc, ñể tăng tốc ñộ tìm kiếm và tính toán, cần thiết phải có cơ chế lập chỉ mục cho dữ liệu xấp xỉ này
Trước khi trình bày một số phương pháp biểu diễn cụ thể, ta sẽ tìm hiểu sơ qua các nhóm phương pháp biểu diễn phổ biến hiện nay Các phương pháp này ñược chia thành 4 nhóm:
Phương pháp này dùng những mô hình toán học nổi tiếng như mô hình Markov ẩn, mô hình thống kê… ñể xây dựng mô hình cho dữ liệu ñã ñược quan sát trước (hay còn gọi là dữ liệu huấn luyện) Sau ñó, sử dụng mô hình ñã xây dựng ñược ñể tính xác suất xuất hiện của các chuỗi con mới
Phương pháp này ñòi hỏi các thành phần thông số cần phải ñược thiết lập lại mỗi khi có dữ liệu mới thêm vào
Các thông số ñược thiết lập trước và không cần phải thiết lập lại mỗi khi có dữ liệu mới thêm vào
Các thông số ñược thiết lập bởi chính dữ liệu, người dùng không tự mình thiết lập ñược
Trang 3217
Hình 2.4: Các phương pháp biểu diễn chuỗi thời gian (nguồn [13])
Sau ñây là một số phương pháp biểu diễn cụ thể
2.2.1 Phương pháp biến ñổi Fourier rời rạc DFT (Discrete Fourier Transform)
Phương pháp DFT, do Agrawal và các cộng sự ñề nghị năm 1993 [31], biến ñổi từ domain thời gian sang domain tần số Sau ñó, lập chỉ mục trên một vài tần số ñầu tiên, loại bỏ những tần số còn lại dựa trên nhận xé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 [31]
Chuỗi biến ñổi X f (f = 0,…,n-1) của chuỗi X t (t = 0,…,n-1) ñược ñịnh nghĩa như sau:
Trang 3318
X f là các số phức Hàm tính ñộ tương tự ñược ñề nghị cho phương pháp này là phương pháp Euclid Phương pháp lập chỉ mục ñề nghị như F-Index [31], ST-index [5]
Ưu ñiểm:
do ñó thỏa mãn ñiều kiện chặn dưới của khoảng cách thực của dữ liệu gốc
• Độ phức tạp tính toán O(nlogn) cho phương pháp Fast Fourier Transform (một
cải tiến của DFT)
Nhược ñiểm:
ñầu tiên (ñược ñịnh nghĩa là pink noise, brown noise) trong khi sẽ thiếu sót
thông tin quan trọng ñối với các loại dữ liệu có năng lượng phân bố ñều (white noise) hoặc năng lượng tập trung ở các tần số cuối (blue noise, violet noise) [9]
Hình 2.5: Các dạng biểu diễn phổ biến nhất cho khai phá dữ liệu chuỗi thời
gian (nguồn [13])
Trang 34ñược sử dụng khá phổ biến bởi dễ tính toán và ñủ tốt cho bài toán khai phá dữ liệu
chuỗi thời gian
Ví dụ cho một chuỗi X = (9 7 3 5) Biến ñổi Haar Wavelet của chuỗi này như
Như vậy, chuỗi biến ñổi của X là X’ = (6 2 1 -1) Để thu giảm số chiều ta chỉ sử
dụng một vài hệ số ñầu Hàm tính ñộ tương tự ñề nghị là hàm khoảng cách Euclid Cấu trúc chỉ mục là R-tree [26]
• Độ phức tạp O(n), nhanh hơn so với Fast Fourier Transform
Nhược ñiểm:
Fourier Transform)
Trang 3520
2.2.3 Phương pháp xấp xỉ gộp từng ñoạn PAA (Piecewise Aggregate Approximation)
Phương pháp PAA, do Keogh và các cộng sự ñề xuất năm 2001 [18], tuần tự xấp xỉ
k giá trị liền kề nhau thành một giá trị, là giá trị trung bình cộng của k giá trị ñó
Quá trính bắt ñầu từ ñầu chuỗi thời gian ñến cuối chuỗi Kết quả biến ñổi là ñường thẳng có dạng bậc thang (Hình 2.6)
Ví dụ cho chuỗi x j (j = 1,…,n), chuỗi biến ñổi X i (i = 1,…,N) (N là số chiều thu
giảm) ñược tính theo công thức sau:
Hình 2.6: Phương pháp biểu diễn PAA với n=128, N=8 (nguồn [18])
Hỗ trợ các phương pháp tính khoảng cách như: khoảng cách Euclid, DTW, Minkowski…Ngoài ra, một phương pháp ño khoảng cách ñược ñề xuất như sau:
Trang 36Nhược ñiểm:
pháp trên có công thức ñể tái tạo lại chuỗi ban ñầu với tỉ lệ lỗi nhỏ
nhất của mỗi ñoạn xấp xỉ Những ñiểm như thế này rất quan trọng ñối với những dữ liệu tài chính mà chúng ta sẽ thấy ở phần trình bày phương pháp ESAX
2.2.4 Phương pháp xấp xỉ từng ñoạn thích nghi APCA (Adaptive Piecewise Constant Approximation)
Phương pháp APCA do Keogh và các cộng sự ñề xuất năm 2001 [19] Phương pháp này giống với phương pháp PAA là nó xấp xỉ dữ liệu ban ñầu thành các ñoạn thẳng nằm ngang Nhưng nó khác ở chỗ các ñoạn thẳng này có chiều dài khác nhau (không như ở PAA, các ñoạn thẳng có chiều dài bằng nhau) Để xấp xỉ chính xác hơn, những vùng nào trên chuỗi thời gian có biến ñộng nhấp nhô 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 C = {c 1 ,…,c n }, thì chuỗi biến ñổi C’ có dạng:
Trang 3722
C’ = {<cv 1 , cr 1 >,…,<cv m , cr m >} với cr 0 = 0
Trong ñó cv 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à
và cr 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 APCA hỗ trợ hàm tính khoảng cách Minskowki, Euclid Ngoài ra còn có hai hàm tính 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 Minskowki hoặc Euclid (hỗ trợ tốt cho việc tìm kiếm chính xác) Cấu trúc chỉ mục ñược sử dụng là R-tree [19]
Ưu ñiểm:
Nhược ñiểm:
• Độ phức tạp biến ñổi O(nlogn)
2.2.5 Phương pháp xấp xỉ tuyến tính từng ñoạn PLA (Piecewise Linear Approximation)
Phương pháp PLA [14][16][30], do Morinaka và các cộng sự ñề nghị năm 2001, biểu diễn dữ liệu ban ñầu bằng chuỗi các ñoạn thẳng tuyến tính 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ỉ)
[30]
Trang 3823
Hàm tính khoảng cách ñược ñề xuất là khoảng cách PLA [30] thỏa ñiều kiện chặn dưới Cấu trúc chỉ mục là R-tree
Ưu ñiểm:
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)
Nhược ñiểm:
2.2.6 Phương pháp xấp xỉ gộp ký hiệu hóa SAX (Symbolic Aggregate approXimation)
Phương pháp SAX, do Lin và các cộng sự ñề xuất năm 2003 [24], ñượ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 Dữ liệu ban ñầu ñược chia
thành từng ñoạn dùng phương pháp PAA Sau ñó, á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 2 ký tự thành giá trị số
Phương pháp SAX sử dụng hàm tính khoảng cách MINDIST [24] trên không gian thu giảm, thỏa ñiều kiện chặn dưới Phương pháp lập chỉ mục ñược sử dụng là phương pháp tập tin xấp xỉ hóa vector (Vector Approximation File) [23], ngoài ra có
thể sử dụng R-tree và các kỹ thuật lập chỉ mục cho chuỗi ký tự cổ ñiển như cây hậu
tố (suffix tree)
Ưu ñiểm:
Trang 3924
giải thuật và cấu trúc dữ liệu xử lý trên dữ liệu chuỗi, dữ liệu rời rạc như kỹ thuật băm, mô hình Markov, cây hậu tố
• Định nghĩa ñược hàm tính khoảng cách trên không gian thu giảm thỏa mãn
chặn dưới, ñiều mà nhiều phương pháp rời rạc hóa khác không có ñược
loại dữ liệu, sau ñó tính toán khoảng cách rất nhanh thông qua bảng này
Nhược ñiểm:
Do ñó, ta phải huấn luyện dữ liệu ñể tìm ra cách ánh xạ tốt nhất ñối với mỗi loại dữ liệu
của mỗi ñoạn, giống như phương pháp PAA
2.2.7 Phương pháp ESAX (Extended SAX)
Một sự mở rộng của SAX, gọi là ESAX [2], do Lkhagva và các cộng sự ñề xuất năm 2006, ñem lại một cách rời rạc hóa dữ liệu 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 Phương pháp ESAX dựa trên quan sát rằng ñối với dữ liệu tài chính, các ñiểm có giá trị nhỏ nhất hay lớn nhất là rất quan trọng trong phân tích tài chính Mà phương pháp SAX chỉ quan tâm ñến giá trị trung bình, do ñó sẽ mất ñi thông tin quan trọng của dữ liệu ban ñầu (xem Hình 2.7)
Để khắc phục nhượ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, cần 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 sẽ ñược thể hiện bằng một bộ ba <trị trung bình, trị
nhỏ nhất, trị lớn nhất> (thứ tự của 3 giá trị này tùy thuộc vào thứ tự thực tế theo thời gian của chúng), và sau ñó bộ ba này sẽ ñược mã hóa thành 3 ký tự thay vì chỉ một
ký tự như SAX Phương pháp ESAX sử dụng hàm tính khoảng cách và cấu trúc chỉ mục như SAX
Trang 4025
Hình 2.7: Dữ liệu chuỗi thời gian trong lĩnh vực tài chính ñược biểu diễn bằng
phương pháp SAX (nguồn [2])
2.2.8 Phương pháp xén dữ liệu (Clipped data)
Trong phương pháp xén dữ liệu, do Ratanamahatana và các cộng sự ñề nghị năm
2005 [8], mỗi ñiểm giá trị thực ñược thay thế bằng một giá trị bit Cụ thể ta có thể
ñịnh nghĩa c, dạng biểu diễn xén của chuỗi thời gian C như sau:
Trong ñó µ là giá trị trung bình của C (xem Hình 2.8)
Ưu ñiểm:
trên cửa sổ trượt [8]… Do ñó khả năng nén dữ liệu rất cao
dưới
• Chuỗi dữ liệu truy vấn không cần chuyển ñổi về không gian thu giảm ñể so