Tải bản đầy đủ (.pdf) (117 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.94 MB, 117 trang )

Đạ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


CƠNG TRÌNH ĐƯỢC HỒ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:


1. TS. Nguyễn Văn Minh Mẫn
2. PGS. TS. Đỗ Phúc
3. TS. Quản Thành Thơ
4. PGS. TS. Dương Tuấn Anh
5. TS. Phạm Văn Chung
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Bộ mơn 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 đánh giá LV

Bộ mơn quản lý chuyên ngành


TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CƠNG NGHỆ THƠNG TIN
----------------

CỘNG HỒ XÃ HỘI CHỦ NGHIÃ VIỆT NAM
Độ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.
CÁN BỘ HƯỚNG DẪN
(Họ tên và chữ ký)

CHỦ NHIỆM BỘ MÔN
QUẢN LÝ CHUYÊN NGÀNH
(Họ tên và chữ ký)

KHOA QL CHUYÊN NGÀNH
(Họ tên và chữ ký)


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

i


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 q trình học Cao học và tạo mọi
điều kiện để tơi có thể hồ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.

ii


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
tố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 hồn thành bài tố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 tố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 tốn tìm kiếm chuỗi con
bất đồng.

iii


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.

iv



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
v


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
vi


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 ngồ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 ngồ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
vii


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

viii


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 S1=babab, S2=aab, S3=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
ix


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 ngồ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

x


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

xi


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 ngồi cho từng loại dữ liệu ......................... 76

xii


Chương 1: Phát biểu vấn ñề
1.1 Dữ liệu chuỗi thời gian
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 = t1, t2… tm 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 ti 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 khố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:
• Lập chỉ mục (Indexing): cho một chuỗi thời gian truy vấn Q, và một hàm tính
độ 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 đó.
• 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 cơ sở dữ liệu DB theo một hàm tính độ tương tự D(Q,C).
• Phân lớp (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.
• Tóm tắt (Summarization): cho chuỗi thời gian Q có n điểm dữ liệu trong đó n


1


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. Ngồ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:

1.

Tạo một sự xấp xỉ dữ liệu để nó vừa khít với bộ nhớ chính, nhưng vẫn
duy trì các đặc trưng cần quan tâm

2.

Giải quyết bài tốn với dữ liệu xấp xỉ trong bộ nhớ chính


3.

Truy cập dữ liệu gốc ñể hậu kiểm lời giải ở bước 2, bổ sung lời giải ñể
ñú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ì
2


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 ngồ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.

1.2 Phát hiện bất thường
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!

3


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).
4


Đị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ầmthường MD của D, và chuỗi con so trùng không-tầm-thường MC của C,
min(Dist(D,MD)) > min(Dist(C,MC)).
Đị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]. Ngồ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 q 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 tố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.

5


1.3 Mục tiêu và giới hạn của ñề tài
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 tố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 q 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 tốn tìm kiếm chuỗi con bất đồng như sau:
• Thu giảm số chiều bằng phương pháp xấp xỉ gộp từng ñoạn PAA do E. Keogh
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].
• Xây dựng cấu trúc chỉ mục iSAX cho dữ liệu chuỗi thời gian.
• Chọn

hàm

tính

độ

tương


tự

trong

khơng

gian

thu

giảm



MINDIST_PAA_iSAX [25]. Hàm tính độ tương tự trong khơng gian ngun
thủy là Euclid.
• Áp dụng iSAX và SAX vào 2 giải thuật tìm kiếm chuỗi con bất đồng là HOT
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 ngồi và heuristic vịng lặp trong hữu hiệu hơn.
• So sánh phương pháp iSAX và SAX trên từng giải thuật cho nhiều loại 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.

6


1.4 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 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 ngồ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 tố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 u cầu và nhiệm vụ của ñề tài.

7


1.5 Cấu trúc luận văn
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.

8


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.

2.1 Các cơng trình về độ đo tương tự
Trong mọi bài tốn về chuỗi thời gian nói chung hay bài tốn tìm kiếm chuỗi con
bất đồng nói riêng, việc tính tốn độ tương tự (khoảng cách) của hai đối tượng O1,
O2 là vấn ñề cơ bản và rất quan trọng. Hai ñối tượng ñược xem là giống nhau khi
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:
• D(x, y) = D(y, x)

(1)

• D(x, x) = D(y, y) = 0

(2)

• D(x, y) = 0 nếu và chỉ nếu x = y (3)
• D(x, y) ≤ D(x, z) + D(z, y)

(4)

Dễ dàng nhận thấy các tính chất này là cần thiết như thế nào. Ví dụ, giả sử tính
chất (1) khơng thỏa, như vậy số lần tính khoảng cách sẽ tăng gấp đơi (vì ta phải tính
cả khoảng cách từ x ñến y và khoảng cách từ y ñến x), thêm nữa ta sẽ có một phát
biểu hết sức khơng tự nhiên “x tương tự y nhưng y không tương tự x!”.
Chúng ta sẽ xem xét các hàm tính độ tương tự phổ biến trong phần tiếp theo.

9


2.1.1 Độ đo Minkowski

Dist(X,Y) =
trong đó,
p = 1 (độ đo Manhattan)
p = 2 (ñộ ño Euclid)
p = ∞ (ñộ ño Max)


Mặ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ính tốn dễ dàng.
• Có thể áp dụng trong nhiều bài toán như phân loại, gom cụm, tìm kiếm tương
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:
• Nhạy cảm với nhiễu.
• Khơng thể áp dụng cho các chuỗi thời gian có đường cơ bản (base line) biến
ñổ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.

10


×