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

Nhân dạng mẫu đáng quan tâm trong tập 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.16 MB, 105 trang )

Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Trường Đại Học Bách Khoa

NGUYỄN QUỐC VIỆT HÙNG

NHẬN DẠNG MẪU ĐÁNG QUAN
TÂM TRONG TẬP 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 11 năm 2007


ĐẠI HỌC QUỐC GIA TP. HCM
CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
Độc Lập - Tự Do - Hạnh Phúc
------------------oOo--Tp. HCM, ngày . .. . tháng . .. . năm .2007.

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ và tên học viên : Nguyễn Quốc Việt Hùng...................Giới tính : Nam ;/ Nữ …
Ngày, tháng, năm sinh : 02/09/1982...................................Nơi sinh : Quảng Ngãi..............
Chun ngành : Khoa học Máy tính......................................................................................
Khố : 2005 .........................................................................................................................
1- TÊN ĐỀ TÀI : ................................................................................................................
NHẬN DẠNG MẪU ĐÁNG QUAN TÂM TRONG TẬP DỮ LIỆU CHUỖI
THỜI GIAN.....................................................................................................................
...........................................................................................................................................
2- NHIỆM VỤ LUẬN VĂN :..............................................................................................


...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
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 : 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ý)

TS. Dương Tuấn Anh

TS. Đinh Đức Anh Vũ


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 : TS. Dương Tuấn Anh ..................................................

Cán bộ chấm nhận xét 1 : ............................................................................................

Cán bộ chấm nhận xét 2 : ............................................................................................


Luận văn thạc sĩ được bảo vệ tại
HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ
TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày . . . . tháng . . . . năm . 2007 .


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

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 05 tháng 11 năm 2007

Nguyễn Quốc Việt Hùng

Nguyễn Quốc Việt Hùng

i


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

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 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 từ đại học tới 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 đã độ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 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.

Nguyễn Quốc Việt Hùng

ii


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

TĨM TẮT LUẬN VĂN
Tìm kiếm tương tự trên dữ liệu chuỗi thời gian ngày càng đóng vai trị quan
trọng trong lĩnh vực khai phá dữ liệu. Với sự phát triển nhanh chóng của dữ liệu
chuỗi thời gian trong nhiều ứng dụng từ lĩnh vực tài chính cho đến lĩnh vực khoa
học, đòi hỏi phải đề ra những giải pháp tìm kiếm những mẫu tương tự một cách
hiệu quả và gần gũi người sử dụng để từ đó có thể đưa ra những quyết định đúng
đắn.
Đề tài này sẽ đề nghị các giải pháp tìm kiếm tất cả những mẫu con trùng với
chuỗi truy vấn trên dữ liệu chuỗi thời gian. Có 2 loại giải pháp chính cần thiết kế
và hiện thực là cách đánh giá độ tương tự và các kỹ thuật lập chỉ mục.
Chúng tôi sử dụng khoảng cách Euclid cho việc tìm kiếm thơ ban đầu và đề
ra cách biểu diễn những mẫu hình dạng trừu tượng để nâng cao chất lương so trùng
mẫu dựa trên hình dạng. Ngồi ra, chúng tơi cịn đề nghị cách lập chỉ mục mới,
phương pháp xấp xỉ tuyến tính gộp từng đoạn kết hợp với giải thuật tìm kiếm
nhánh và cận trên cây hậu tố của phương pháp gộp ký hiệu hóa, để nâng cao hiệu
quả tìm kiếm. Qua thực nghiệm cho thấy, những kỹ thuật tìm kiếm tương tự mà
chúng tôi đề nghị đều hiệu quả với những dữ liệu có nhiễu hay dữ liệu bị co giãn và
tịnh tiến.


Nguyễn Quốc Việt Hùng

iii


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

ABSTRACT
Similarity search on time-series data sets is of growing inportance in data
mining. With the increasing amount of time-series data in many application, from
financial to scientific, it is important to study methods of retrieving similarity
patterns effciently and user friendly for business decission making.
The thesis proposes methods of efficient retrieval of all subsequences in
the time series databases similar to a query sequence. Two kinds of the methods,
similarity measures and indexing techniques, are designed and implemented.
We use Euclidean distance as the basis for similarity queries on time-series
data and design an innovative representation technique which abstracts the shapes
in time series sequences to enhance similar patterns based on shape. Moreover, we
propose new indexing technique, the piecewise linear aggregate approximation
combining branch and bound algorithm on suffix tree of the symbolic aggregate
approximation method, to speed up searching. The experiments show that the
retrieval technique we propose is also efficient with noisy, scaled and shifted data.

Nguyễn Quốc Việt Hùng

iv


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian


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 ................................................................................................................vii
DANH MỤC BẢNG ................................................................................................................ix
CHƯƠNG 1.

GIỚI THIỆU ĐỀ TÀI .................................................................................. 1

1.1

Dữ liệu chuỗi thời gian ...................................................................................1

1.2

Những yêu cầu đòi hỏi phải so trùng mẫu con.............................................2

1.3

Mục tiêu và giới hạn của đề tài......................................................................4

1.4

Tóm lược những kết quả đạt được................................................................5

1.5


Cấu trúc của luận văn ....................................................................................6

CHƯƠNG 2.

2.1

CƠ SỞ LÝ THUYẾT NỀN TẢNG ............................................................. 7

Cây hậu tố (suffix tree)...................................................................................7

2.1.2 Quá trình tạo cây hậu tố (suffix tree):.................................................................... 8
2.1.3 Tìm kiếm trên cây hậu tố ...................................................................................... 10

2.2

Tìm đường thẳng tốt nhất qua một tập điểm.............................................10

2.3

Một số vấn đề về xác suất.............................................................................11

CHƯƠNG 3.

3.1

NHỮNG CƠNG TRÌNH LIÊN QUAN .................................................... 14

Các cơng trình về phương pháp đo độ tương tự........................................14

3.1.1 Độ đo Minkowski .................................................................................................. 15

3.1.2 Phương pháp xoắn thời gian động ....................................................................... 18
3.1.3 Phương pháp chuỗi con chung dài nhất (longest common subsequence )........... 21
3.1.4 Phương pháp tính độ tương tự dựa trên xác suất................................................. 22

3.2

Các phương pháp thu giảm số chiểu dữ liệu..............................................23

3.2.1 Phương pháp khơng thích nghi dữ liệu ................................................................ 24
3.2.2 Phương pháp thích nghi dữ liệu ........................................................................... 26

3.3

Các phương pháp rời rạc hóa dữ liệu.........................................................28

3.4
Các cơng trình về cấu trúc lập chỉ mục (indexing) cho dữ liệu chuỗi thời
gian ........................................................................................................................31
3.5

Kết luận..........................................................................................................33

Nguyễn Quốc Việt Hùng

v


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

CHƯƠNG 4.


HỆ THỐNG SO TRÙNG MẪU CON ...................................................... 35

4.1

Đặt vấn đề ......................................................................................................35

4.2

Hướng giải quyết...........................................................................................35

4.3

Kiến trúc hệ thống ........................................................................................37

4.4

Cách đánh giá độ tương tự...........................................................................39

4.4.1 Q trình chuẩn hóa dữ liệu................................................................................. 40
4.4.2 So trùng mẫu......................................................................................................... 42
4.4.3 Tuyến tính hóa các chuỗi dữ liệu thời gian .......................................................... 44
4.4.4 Cách đánh giá tính 2 chuỗi sau khi tuyến tính hóa .............................................. 46

4.5

Lập chỉ mục đa mức để nâng cao tốc độ tìm kiếm ....................................49

4.5.2 Cách mã hóa dữ liệu bằng phương pháp PAA [21]............................................. 50
4.5.3 Cách thu giảm số chiều bằng phương pháp PLAA............................................... 53

4.5.4 Rời rạc hóa dữ liệu bằng phương pháp SAX........................................................ 59
4.5.5 Xây dựng chỉ mục dựa trên cây hậu tố ................................................................. 64

4.6

Kết luận..........................................................................................................67

CHƯƠNG 5.

THỰC NGHIỆM ........................................................................................ 69

5.1

So sánh kết quả tương tự .............................................................................69

5.2

So sánh các phương pháp lập chỉ mục........................................................71

5.2.1 Thực nghiệm: độ chặt chận dưới.......................................................................... 71
5.2.2 Thực nghiệm: Tỉ lệ thu giảm truy xuất (pruning power)...................................... 74
5.2.3 Thực nghiệm: hệ thống hiện thực ......................................................................... 76

5.3

Kết luận..........................................................................................................80

CHƯƠNG 6.

KẾT LUẬN ................................................................................................. 82


6.1

Tổng kết .........................................................................................................82

6.2

Những đóng góp của đề tài ..........................................................................83

6.3

Hướng phát triển ..........................................................................................83

CƠNG TRÌNH CƠNG BỐ .................................................................................................... 85
TÀI LIỆU THAM KHẢO...................................................................................................... 86
PHỤ LỤC 1: BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH - VIỆT ..........................................i

Nguyễn Quốc Việt Hùng

vi


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

DANH MỤC HÌNH
Hình 1.1.

Đường biểu diễn dữ liệu chuỗi thời gian ................................................................ 2

Hình 1.2.


Minh họa so trùng mẫu con. ................................................................................... 4

Hình 2.1.

Cây hậu tố của từ mississippi ................................................................................. 8

Hình 2.2.

Quá trình tạo cây hậu tố của chuỗi mississippi ...................................................... 9

Hình 2.3.

Đồ thị phân bố xác suất chuẩn.............................................................................. 12

Hình 3.1.

Minh họa 2 đường giống nhau, nhưng đường cơ bản khác nhau. ....................... 17

Hình 3.2.

Minh họa 2 đường giống nhau, nhưng biên độ dao động khác nhau. .................. 17

Hình 3.3.

(a) tính khoảng cách theo Euclid

Hình 3.4.

Minh họa cách tính khoảng cách theo DWT......................................................... 20


Hình 3.5.

Minh họa phương pháp LCS ................................................................................ 21

Hình 3.6.

Minh họa cách biến đổi dữ liệu ban đầu theo các
phương pháp DFT, DWT, PAA............................................................................. 25

Hình 3.7.

Minh họa cách biến đổi dữ liệu ban đầu theo các phương pháp SVD, APCA,
PLA. ..................................................................................................................... 27

Hình 3.8.

Minh họa phương pháp rời rạc hóa chuỗi bit ....................................................... 29

Hình 3.9.

Minh họa phương pháp rời rạc hóa theo góc nghiêng.......................................... 29

(b) tính khoảng cách theo DWT. .............. 19

Hình 3.10. Rời rạc hóa dữ liệu ban đầu theo phương pháp SAX. ........................................... 30
Hình 3.11. Cách tạo cây K-D-Tree......................................................................................... 32
Hình 3.12. Cách tạo cây R-tree .............................................................................................. 33
Hình 4.1.


Sơ đồ kiến trúc hệ thống....................................................................................... 38

Hình 4.2.

Chuẩn hóa dữ liệu................................................................................................. 41

Hình 4.3.

Giải thuật so trùng mẫu ........................................................................................ 43

Hình 4.4.

Giải thuật so trùng dựa trên hình dạng ................................................................. 45

Hình 4.5.

Cách mã hóa các trạng thái đoạn tuyến tính - u2d10u1 .......................................... 47

Hình 4.6.

Cây phân cấp các trạng thái của đường tuyến tính............................................... 48

Hình 4.7.

Minh họa tư tưởng mã hóa dữ liệu ....................................................................... 49

Hình 4.8.

Thu giảm số chiều bằng phương pháp PAA ......................................................... 51


Hình 4.9.

Các trường hợp cùng giá trị trung bình nhưng khoảng cách khác nhau............... 53

Hình 4.10.

Minh họa quá trinh ánh xạ dữ liệu của phương pháp PLAA sang không gian
PAA và PLA ...................................................................................................... 54

Hình 4.11.

Minh họa quá trình rời rạc hóa thành chuỗi ký tự theo phương
pháp SAX .......................................................................................................... 61

Hình 4.12. Xét vị trí tương quan giữa các điểm ..................................................................... 63
Hình 4.13. Cây hậu tố của chuỗi S = abcbcabcaa .................................................................. 65

Nguyễn Quốc Việt Hùng

vii


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

Hình 4.14. Minh họa quá trình tìm kiếm chuỗi Q = cba trên cây hậu tố của chuỗi
S = abcbcabcaa bằng giải thuật nhánh và cận ................................................. 67
Hình 5.1.

Kết quả so trùng mẫu. (1). Sau giai đoạn SAX ta thu được mẫu (2), (3), (4). Sau
giai đoạn PLA kết quả chỉ cịn lại mẫu (3) ........................................................... 70


Hình 5.2.

Kết quả thực nghiệm về độ chặt chận dưới của các phương pháp PAA,PLAA và
SAX ....................................................................................................................... 73

Hình 5.3.

Kết quả thực nghiệm về tỉ lệ thu giảm truy xuất (pruning power) của các .phương
pháp PAA,PLAA và SAX....................................................................................... 76

Hình 5.4.

Kết quả thực nghiệm về chi phí CPU chuẩn hóa của các phương pháp PAA,
PLAA và PLAA+SAX theo tỉ lệ thu giảm ............................................................. 77

Hình 5.5.

Kết quả thực nghiệm về chi phí CPU chuẩn hóa của các phương pháp PAA,PLAA
và PLAA+SAX (phóng to Hình 5.4.) .................................................................... 79

Hình 5.6.

Kết quả thực nghiệm về chi phí CPU chuẩn hóa của các phương pháp PAA,PLAA
và PLAA+SAX theo kich thước dữ liệu................................................................ 80

Nguyễn Quốc Việt Hùng

viii



Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

DANH MỤC BẢNG
Bảng 2.1.

Bảng tra phân bố xác suất chuẩn chuẩn hóa......................................................... 12

Bảng 4.1.

Bảng danh sách các trạng thái của đường tuyến tính dựa trên góc nghiên........... 47

Bảng 4.2.

Bảng xác định các khoảng chia tương ứng với số ký tự....................................... 61

Bảng 5.1.

Số chuỗi con trùng nếu dùng phương pháp SAX và phương pháp SAX kết hợp
PLA ....................................................................................................................... 71

Nguyễn Quốc Việt Hùng

ix


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
Chương giới thiệu đề tài này sẽ trình bày yêu cầu, mục tiêu và nội dung sơ

lược của đề tài. Đồng thời ở đây cũng nêu lên những động cơ trong nghiên cứu và
trong thực tiễn đòi hỏi cần phải thực hiện đề tài này.

1.1 Dữ liệu chuỗi thời gian
Dữ liệu có yếu tố thời gian là sự quan sát tuần tự theo thời gian. Dữ liệu này
có thể là 2 chiều hay nhiều chiều nhưng đó phải có 1 chiều là thời gian. Có rất
nhiều loại dữ liệu khác nhau có yếu tố thời gian và thông thường đây là những dữ
liệu rất lớn (very large database). Theo khảo sát từ 4000 hình ngẫu nhiên trên các
tờ báo xuất bản giai đoạn 1974 – 1989 thì 75% là các hình biểu diễn dữ liệu chuỗi
thời gian. Đặt biệt, trong thời đại hiện nay, thơng tin là rất quan trọng. Tuy nhiên
dữ liệu thì quá lớn nên cần phải sử dụng công cụ máy tính để tìm được những
thơng tin từ nguồn dữ liệu đó. Chính vì vậy những nghiên cứu và ứng dụng dữ liệu
chuỗi thời gian là những lĩnh vực rất rộng lớn và cần thiết của khoa học máy tính
và các ngành khoa học khác.
Trong phạm vi nghiên cứu của đề tài này, ta quan tâm đến dữ liệu chuỗi thời
gian được biểu diễn bằng một chuỗi các số thực X = x1 x2……xn. Trong đó xi là giá
trị đo ở thời điểm thứ i. Hình 1.1trình bày đường cong biểu diễn dữ liệu chuỗi thời
gian.
Những khó khăn và thách thức khi nghiên cứu dữ liệu chuỗi thời gian:
Dữ liệu quá lớn
Ví dụ: Trong 1 giờ, dữ liệu điện tâm đồ (EKG) là 1 GigaByte.
Phụ thuộc vào nhiều yếu tố chủ quan
Việc đánh giá mức độ tương tự giữa các dữ liệu phụ thuộc vào yếu tố chủ
quan của người dùng, của tập dữ liệu và những công việc này đều phải làm bằng
tay.

Nguyễn Quốc Việt Hùng

1



Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

Dữ liệu thường không đồng nhất
ƒ Định dạng của các loại dữ liệu khác nhau
ƒ Tần số lấy mẫu khác nhau
ƒ Bị nhiễu, thiếu một vài giá trị, dữ liệu khơng sạch….

2
2
2
2
2
2
2

0

5

10

15

20

25

30


35

40

45

50

Hình 1.1. Đường biểu diễn dữ liệu chuỗi thời gian

1.2 Những yêu cầu đòi hỏi phải so trùng mẫu con
Bài toán so trùng mẫu trong dữ liệu chuỗi thời gian là tập trung vào việc
thiết kế một phương pháp tìm kiếm nhanh và hiệu quả để tìm trong cơ sở dữ liệu
chuỗi thời gian (time series) những mẫu con trùng hoặc xấp xỉ với mẫu yêu cầu.
Bài toán so trùng mẫu là một bài toán rất cơ bản trong lĩnh vực nghiên cứu về dữ
liệu chuỗi thời gian. Đặc biệt, nó rất quan trọng đối với các dữ liệu chuỗi thời gian
có tính chất lịch sử hay các dữ liệu không gian - thời gian (spatio-temporal data).
Một số dạng yêu cầu truy vấn mà ta thường gặp:
™ Lĩnh vực tài chính, thương mại như giá cả thị trường chứng khốn, số lượng
sản phẩm bán được…
ƒ Tìm trong q khứ, những giai đoạn mà số lượng sản phẩm bán được
như tháng vừa rồi.

Nguyễn Quốc Việt Hùng

2


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian


ƒ Tìm những sản phẩm có chu kỳ bán hàng giống nhau.
ƒ Tìm đoạn nhạc bản quyền trong một bài hát.
™ Về lĩnh vực khoa học như dữ liệu thu được của các bộ cảm biến về thời tiết,
môi trường, địa lý…
ƒ Tìm những tháng trong quá khứ mà lượng mưa giống như tháng vừa
rồi
ƒ Tìm những năm khơ hạn, mực nước các sông ở mức thấp.
™ Các lĩnh vực khác dữ liệu không phải là thời gian. Sau đó, từ dữ liệu này ta
chuyển về dạng dữ liệu chuỗi thời gian. Như bài toán nhận dạng chữ viết
hay các bài toán trong lĩnh vực xử lý ảnh được chuyển thành bài toán dữ
liệu hướng chuỗi thời gian.
Mặc dù có nhiều loại khác nhau, nhưng các yêu cầu truy vấn có thể chia làm
2 loại:
So trùng tồn bộ: Đối với những truy vấn so trùng tồn bộ thì chiều dài của
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 ta 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
giá chứng khốn của những công ty nào thay đổi giống nhau”.
So trùng một phần: Trong trường hợp so trùng một phần thì 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. Vì vậy,
nhiệm vụ chính là tìm những đoạn trong 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 tồ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. Ví dụ: “tìm những khoảng thời
gian mà giá của thị trường chứng khốn khơng đổi trong một khoảng thời gian”,
“tìm những thời điểm mà giá chứng khốn giảm đột ngột”, hay “những thời điểm
nào mà giá chứng khoán thay đổi theo dạng hình răng cưa”…..
Bài tốn so trùng mẫu con là bài toán rất căn bản của lĩnh vực nghiên cứu về
dữ liệu chuỗi thời gian. Từ bài toán so trùng mẫu con trên dữ liệu chuỗi thời gian
thì ta có thể mở rộng thành so trùng tồn bộ. Ngồi ra, có nhiều bài tốn khác cũng
Nguyễn Quốc Việt Hùng


3


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

sử dụng bài toán so trùng trùng mẫu con. Ví dụ: bài tốn gom cụm (clustering),
phân loại (classification), tìm quy luật của dữ liệu (rule discovery), phát hiện điểm
bất thường (novelty detection), dự báo dữ liệu trong tương lai (prediction)…

1.3 Mục tiêu và giới hạn của đề tài
Mẫu truy vấn cần tìm

Dữ liệu ban đầu

Chuỗi con tương tự nhất
Hình 1.2. Minh họa so trùng mẫu con. ( Từ nguồn [26])

Mục tiêu chính của luận văn là so trùng mẫu con trên dữ liệu chuỗi thời
gian. 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. ( Xem
Hình 1.2).
Bài tốn so trùng chuỗi con trên dữ liệu chuỗi thời gian cũng chính là bài
tố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, nhữ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.

Bài tốn so trùng mẫu con thì có nhiều khía cạnh khác nhau để nghiên cứu.
Ví dụ như phải đưa ra cách tính mức độ tương tự một cách tổng quát phù hợp cho

Nguyễn Quốc Việt Hùng

4


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

nhiều dữ liệu, hiện thực các giải thuật mà không cần tham số truyền vào, đưa ra
giải pháp để truy vấn một cách linh hoạt, phải giải quyết vấn đề kích thước các mẫu
khơng bằng nhau…. Tuy nhiên, luận văn này giới hạn nghiên cứu ở những khía
cạnh sau:
ƒ Đưa ra cách đánh giá phù hợp với 2 mẫu con có kích thước bằng
nhau.
ƒ Đề nghị cách biểu diễn dữ liệu để cải tiến hơn nữa tốc độ tìm kiếm.
Hơn nữa, nó phải linh động phù hợp những tài nguyên hệ thống khác
như kích thước bộ nhớ, giới hạn về thời gian thực thi…
ƒ Giao diện tương tác phải thân thiện.

1.4 Tóm lược những kết quả đạt được
Với những yêu cầu của đề tài, sau thời gian nghiên cứu và hiện thực, chúng
tôi đã xây dựng hệ thống so trùng chuỗi con trên dữ liệu chuỗi thời gian. Hệ thống
này có 2 thành phần chính. Thành phần thứ nhất cho phép người dùng đưa dữ liệu
chuỗi thời gian ban đầu vào hệ thống. Sau đó hệ thống sẽ chuẩn hóa dữ liệu, mã
hóa dữ liệu và lập chỉ mục cho dữ liệu chuỗi thời gian này. Thành phần thứ hai có
nhiệm vụ nhận chuỗi con truy vấn và so trùng để tìm chuỗi con nào trong chuỗi dữ
liệu ban đầu phù hợp nhất.
Trong thành phần thứ nhất, sau khi tìm hiểu về các cách mã hóa và lập chỉ

mục, chúng tôi đề ra giải pháp lập chỉ mục kết hợp phương pháp xấp xỉ tuyến
tính gộp từng đoạn (Piecewise Linear Aggregate Approximation -PLAA) và
phương pháp xấp xỉ gộp ký hiệu hóa (Symbolic Aggregate approXimation SAX). Phương pháp PLAA là phương pháp mới do chúng tôi đề nghị. PLAA thực
sự hiệu quả hơn so với phương pháp xấp xỉ gộp từng đoạn (Piecewise Aggregate
Approximation –PAA) do E. Keogh và các cộng sự đề nghị năm 2000 [21] và hiện
tại đang được sử dụng phổ biến. Phương pháp SAX là phương pháp lập chỉ mục
mới do J. Lin đề nghị năm 2003 [10]. Tuy nhiên, trong luận văn này chúng tôi đã
vận dụng cấu trúc dữ liệu cây hậu tố kết hợp giải thuật tìm kiếm nhánh và cận vào
phương pháp SAX để nâng cao cách hiệu quả tìm kiếm.
Nguyễn Quốc Việt Hùng

5


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

Trong thành phần thứ hai là so trùng chuỗi con. Trong thành phần này thì
cách xác định độ tương tự giữa các mẫu là quan trọng nhất. Cũng giống như các
nghiên cứu khác, chúng tôi cũng sử dụng khoảng cách Euclid. Tuy nhiên, cách
đánh giá này chỉ sử dụng trong bước tìm kiếm thơ ban đầu. Các kết quả sau giai
đoạn tìm kiếm thơ sẽ được tinh chỉnh trong bước kế tiếp. Bước này chúng tôi đưa
ra cách đánh giá dựa trên hình dạng với các mẫu hình dạng được định nghĩa trước.
Do đó, kết quả của mẫu so trùng sẽ phù hợp hơn, trực quan hơn.
Như vậy, với hệ thống đã hiện thực mà chúng tơi sẽ trình bày chi tiết ở
những chương sau sẽ đã đáp ứng những yêu cầu và nhiệm vụ của đề tài.

1.5 Cấu trúc của luận văn
Tổ chức của phần còn lại của luận văn theo cấu trúc sau đây:
Chương II sẽ giới thiệu một số lý thuyết phức tạp mà chúng ta sẽ sử dụng
trong luận văn. Trước hết đó là cấu trúc dữ liệu cây hậu tố (suffix tree) sẽ được sử

dụng để lập chỉ mục dữ liệu. Sau đó, là lý thuyết tìm đường thẳng tốt nhất (best fit
line) đi qua tập điểm cho trước. Cuối cùng là một số lý thuyết về phân bố xác suất
và tính chất phân bố xác suất chuẩn.
Chương III là tổng quan về các cơng trình liên quan. Những cơng trình này
nhằm cải tiến quá trình tìm kiếm tương tự và được tiến hành ở các khía cạnh đánh
giá độ tương tự, mã hóa dữ liệu và lập chỉ mục.
Chương IV trình bày những vấn đề đặt ra khi so trùng mẫu con. Trong
chương này sẽ phân tích những vấn đề chính mà hệ thống cần phải giải quyết. Vấn
đề đó chính là định nghĩa thế nào gọi là 2 mẫu tương tự nhau? Và tổ chức dữ liệu
như thế nào để có thể tìm kiếm nhanh? Sau đó, chúng tơi sẽ trình bày từng bước
cách giải quyết 2 vấn đề này.
Chương V là một số kết quả thực nghiệm.
Chương VI là một số kết luận sau khi thực hiện đề tài.

Nguyễn Quốc Việt Hùng

6


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT NỀN TẢNG
Trong đề tài này để giải quyết bài toán so trùng chuỗi con trên dữ liệu chuỗi
thời gian thì một số vấn đề lý thuyết của các lĩnh vực khác sẽ được sử dụng. Do đó,
chương này sẽ trình bày những điểm cơ bản của các lý thuyết đó. Trước hết, đó là
cấu trúc dữ liệu cây hậu tố, cách xây dựng cũng như cách tìm kiếm trên cây hậu tố.
Cấu trúc dữ liệu này sẽ được sử dụng trong quá trình lập chỉ mục cho dữ liệu chuỗi
thời gian, sau khi dữ liệu chuỗi thời gian được rời rạc hóa thành dịng ký tự.
Ngồi ra, trong giai đoạn tuyến tính hóa dữ liệu chuỗi thời gian thì ta phải
biểu diễn đường dữ liệu đó thành những đoạn thẳng. Khi đó sẽ đặt ra vấn đề tìm

đường thẳng tốt nhất đi qua một tập điểm cho trước. Đường thẳng này phải thể hiện
được đặc trưng của tập hợp điểm trên.
Cuối cùng vấn đề phân bố xác suất. Với mỗi loại dữ liệu khác nhau thì nó có
phân bố xác suất khác nhau. Trong những nghiên cứu về lĩnh vực tài chính, thì
phân phối xác suất có dạng đặc biệt. Đó là phân bố xác suất chuẩn. Đây là vấn để
quan trọng để ta có thể đưa ra cách mã hóa ký tự hợp lý trong phương pháp SAX.

2.1 Cây hậu tố (suffix tree)
Trước khi tìm hiểu về cây hậu tố thì ta tìm hiểu về khái niệm hậu tố. Hậu
tố của 1 chuỗi là những phần còn lại của chuỗi khi ta bỏ một số ký tự đầu của
chuỗi.
Ví dụ: cho chuỗi mississippi thì có các hậu tố tương ứng là:
1
2
3
4
5
6
7
8
9
10
11

Nguyễn Quốc Việt Hùng

mississippi
ississippi
ssissippi
sissippi

issippi
ssippi
sippi
ippi
ppi
pi
i

7


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

Bây giờ ta sẽ xây dựng cây hậu tố. Cây hậu tố là cây trong đó có m lá với m
là chiều dài của chuỗi ban đầu tướng ứng với m chuỗi con hậu tố. Ngoài ra, bất kỳ
nút lá i nào của cây thì khi nối các chuỗi của các cạnh trên lối đi từ nút gốc đến nút
nút lá i thì cũng bằng chính xác chuỗi con hậu tố thứ i của chuỗi ban đầu.
Hình 2.1là cây hậu tố của chuỗi mississippi

Hình 2.1. Cây hậu tố của từ mississippi

2.1.2 Quá trình tạo cây hậu tố (suffix tree):
Quá trình xây dựng cây hậu tố là quá trình thêm tuần tự các chuỗi con hậu tố
vào cây. Trong quá trình thêm này, các cạnh sẽ biểu diễn cho một chuỗi con, cịn
các nút sẽ cho biết vị trí xuất hiện của chuỗi con đó trong chuỗi ban đầu.
Để tạo cây hậu tố cho chuỗi mississippi, thì đầu tiên ta đưa chuỗi con thứ
1 vào cây. Khi đó cây có dạng như Hình 2.2(a). Tiếp theo đưa chuỗi thứ 2 vào cây.
Chuỗi thứ 2 và chuỗi thứ 1 khơng có chung phần tiền tố nên nó sẽ tạo thêm nhánh
riêng từ gốc như Hình 2.2(b). Tiếp tục ta thêm chuỗi thứ 3, như Hình 2.2(c). Khi
thêm chuỗi thứ 4, thì chuỗi thứ 4 “sissippi” và chuỗi thứ 3 “ssissippi” có chung

Nguyễn Quốc Việt Hùng

8


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

phần tiền tố “s” nên không thêm nhánh thứ 4 từ gốc mà thêm vào từ nút trung gian
để biểu diễn cho nhánh 3 và 4 có chung phần tiền tố “s”. Hình 2.2(d) là hình ảnh
của cây sau khi thêm nhánh 4. Quá trình cứ tiếp tục đến khi thêm chuỗi hậu tố cuối
cùng thêm vào. Khi đó cây hậu tố sẽ có hình dạng như Hình 2.2(e).
root

root

missisippi

missisippi

issisippi

(a)

(b)
1

1

2


root
root
missisippi

(c)

missisippi

ssisippi

(d)

issisippi

issisippi
1

1

sisippi

isippi

2

3

2

s


4

3

root

p
4

(e)

s

i
mississippi
ppi

11
ssi

si

i

pi

10

9


i

8
ppi

1
ssippi
2

ppi
5

ssippi

ssippi
ppi

6

3

7

4

Hình 2.2. Quá trình tạo cây hậu tố của chuỗi mississippi

Nguyễn Quốc Việt Hùng


9


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

2.1.3 Tìm kiếm trên cây hậu tố
Quá trình tìm kiếm trên cây hậu tố hồn tồn giống với tìm kiếm trên cây từ
điển (Trie tree), cây tìm kiếm nhị phân (Binary search tree). Khi tìm chuỗi truy vấn
Q trong chuỗi ban đầu thì lần lượt theo từng ký tự của Q ta sẽ đi theo các nhánh
của cây hậu tố. Quá trình tìm kiếm chỉ dừng lại khi ta đã đi đến nút lá trên cây hậu
tố hoặc đã duyệt đến ký tự cuối cùng của chuỗi truy vấn Q.
Xét về khía cạnh độ phức tạp, khi xây dựng cây hậu tố thì sẽ có k chuỗi con
hậu tố lần lượt thêm vào cây. Trong đó k là chiều dài của chuỗi ban đầu. Do đó, độ
phức tạp của giải thuật xây dựng cây là O(k).
Mặc khác, đối với tìm kiếm, thì quá trình này sẽ dừng lại khi ta đi đến nút lá
trên cây hoặc khi đã duyệt qua toàn bộ ký tự trong chuỗi truy vấn Q. Vì vậy, độ
phức tạp của giải thuật tìm kiếm là O(n). Trong đó, n là chiều dài của chuỗi truy
vấn.
Cây hậu tố vừa trình bày là cây hậu tố đơn giản. Để cải thiện quá trình xây
dựng và tìm kiếm thì có thể sử dụng cây hậu tố liên kết (suffix linked tree) phức
tạp hơn nhưng hiệu quả hơn.

2.2 Tìm đường thẳng tốt nhất qua một tập điểm
Bài tốn tìm đường thẳng đi qua n điểm đã được đặt ra rất nhiều. Đường
thẳng này gọi là đường thẳng tốt nhất ( best fit line ). Có nhiều loại đường thẳng
tốt nhất này tùy theo từng cách định nghĩa. Trong luận văn này, đường thẳng tốt
nhất là đường thẳng đi qua n điểm và tổng bình phương khoảng cách Euclid của
các điểm so với đường này là nhỏ nhất.
Với tập n điểm (x1, y1), …..(xn, yn) thì đường thẳng tốt nhất có dạng y=
ax+b. Bây giờ ta phải tìm hệ số a, b sao cho cực tiểu tổng sau:

n

∑ [ yi − (a * xi + b)]2
i =1

Để thỏa mãn yêu cầu trên, giá trị của a, b được xác định theo công thức sau:
Nguyễn Quốc Việt Hùng

10


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

n

a=

b=

n

n

n(∑ xi yi ) − (∑ xi )(∑ yi )
i =1

i =1

i =1


n

n

i =1

i =1

n(∑ xi2 ) − (∑ xi ) 2

n

n

n

n

i =1

i =1
n

i =1
n

i =1

(∑ xi2 )(∑ yi ) − (∑ xi yi )(∑ xi )
n(∑ xi2 ) − (∑ xi ) 2

i =1

i =1

Trong công thức trên thì khi ta tịnh tiến tập điểm ban đầu theo vectơ v thì
giá trị của a sẽ khơng đổi. Chỉ có giá trị b là thay đổi. Do đó khi tịnh tiến như vậy,
các đường thẳng tốt nhất sẽ song song với nhau. Điều này hoàn toàn phù hợp với lý
thuyết.

2.3 Một số vấn đề về xác suất
Trong toán học, hàm mật độ xác suất dùng để biểu diễn một phân bố xác
suất theo tích phân. Hàm hàm mật độ xác suất ln có giá trị khơng âm và tích
phân của nó từ −∞ tới +∞ có giá trị bằng 1. Nếu một phân bố xác suất có mật độ
f(x), thì về mặt trực quan, khoảng vi phân (vơ cùng bé) [x, x + dx] có xác suất bằng
f(x) dx.
Một cách khơng chính thức, hàm mật độ xác suất có thể được coi là phiên
bản được làm mịn của một biểu đồ tần số: nếu ai đó liên tiếp đo đạc bằng thực
nghiệm các giá trị của một biến ngẫu nhiên liên tục và tạo một biểu đồ tần số mô tả
tần suất tương đối của các miền biến thiên của kết quả, thì biểu đồ tần số đó sẽ
trơng giống với mật độ xác suất của biến ngẫu nhiên đó (giả sử rằng biến được lấy
mẫu đủ thường xuyên và các miền biến thiên của kết quả là đủ nhỏ).
Một cách chính thức, một phân bố xác suất có mật độ f(x) thì xác suất của
khoảng [a, b] được xác định bởi công thức

Nguyễn Quốc Việt Hùng

11


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian


với hai số bất kỳ a và b.
Trường hợp a= −∞ và b=+∞, khi đó tích phân tồn phần của f phải bằng 1.
Phân bố chuẩn, còn gọi là phân bố Gauss, là một phân bố xác suất cực kì
quan trọng trong nhiều lĩnh vực. Nó là họ phân bố có dạng tổng quát giống nhau,
chỉ khác tham số vị trí và tỉ lệ: trung bình ("mean") và độ lệch chuẩn
("variability"), tương ứng. Phân bố chuẩn chuẩn hóa (standard normal
distribution) là phân bố chuẩn với mean là 0 và độ lệch chuẩn là 1. Với phân bố
chuẩn chuẩn hóa thì mật độ xác suất có dạng chng như Hình 2.3

Hình 2.3. Đồ thị phân bố xác suất chuẩn

Bảng 2.1.

Bảng tra phân bố xác suất chuẩn chuẩn hóa

Dựa vào đường biểu diễn phân bố xác suất và công thức định nghĩa về mật
độ xác suất thì ta có thể tính xác suất xuất hiện của giá trị x với x nằm trong khoảng
Nguyễn Quốc Việt Hùng

12


Nhận dạng mẫu đáng quan tâm trong tập dữ liệu thời gian

[a,b]. Từ đó, để thuận tiên cho việc tính toán người ta đưa ra bảng tra phân bố xác
suất chuẩn ( 0. Từ bảng này ta có thể xác định xác suất của x với x < z là P(x < z).
Ví dụ: P(x < 0.43) = 0.666 ; P (x < 0.67) = 0.75.

Nguyễn Quốc Việt Hùng


13


×