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

Nhận dạng các mẫu lặp lại (mô típ) 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 (8.44 MB, 77 trang )

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

HUỲ H A H KIỆT

HẬ DẠ G CÁC MẪU LẶP LẠI (MƠ TÍP)
TRO G DỮ LIỆU CHUỖI THỜI GIA
(FI DI G MOTIFS I TIME SERIES DATA)
Chuyên ngành: Khoa học Máy tính

LUẬ VĂ THẠC SĨ
TP. HỒ CHÍ MI H, tháng 07 năm 2009


CƠ G TRÌ H ĐƯỢC HỒ THÀ H TẠI
TRƯỜ G ĐẠI HỌC BÁCH KHOA
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MI H
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: ..............................................................

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 ĐỒ G CHẤM BẢO VỆ LUẬ VĂ THẠC SĨ
TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày

tháng

năm 2009




hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian
ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜ G ĐẠI HỌC BÁCH KHOA

CỘ G HOÀ XÃ HỘI CHỦ GHĨA VIỆT AM
Độc lập - Tự do - Hạnh phúc

----------------

---oOo--Tp. HCM, ngày . .. . tháng . .. . năm 2009

HIỆM VỤ LUẬ VĂ THẠC SĨ
Họ và tên học viên: Huỳnh Anh Kiệt . . . . . . . . . … Phái: Nam……………..
Ngày, tháng, năm sinh: 03/03/1977 Nơi sinh: Long An
Chuyên ngành: Khoa học máy tính . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MSHV: 00706136. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1- TÊ ĐỀ TÀI: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HẬ DẠ G CÁC MẪU LẶP LẠI (MƠ TÍP) TRO G DỮ LIỆU CHUỖI THỜI GIA
2- HIỆM VỤ LUẬ VĂ : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
- Tìm hiểu các giải thuật nhận dạng các mơ típ trong dữ liệu chuỗi thời gian. . . . . . . . . . . . . . .
– Nghiên cứu so sánh bằng thực nghiệm hai phương pháp rời rạc hóa dữ liệu chuỗi thời gian
SAX và ESAX khi áp dụng vào giải thuật nhận dạng mơ típ trong dữ liệu chuỗi thời gian. . . . .
. . 3- GÀY GIAO HIỆM VỤ : . . . . . . . . . . . . . . . . . . . . .
4- GÀY HOÀ THÀ H HIỆM VỤ : . . . . . . . . . . . . . . . . . . . . .
5- HỌ VÀ TÊ CÁ BỘ HƯỚ G DẪ (Ghi đầy đủ học hàm, học vị ):
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Á BỘ HƯỚ G DẪ

(Họ tên và chữ ký)

CHỦ HIỆM BỘ MÔ
QUẢ LÝ CHUYÊ
GÀ H

KHOA QL CHUYÊ

GÀ H

(Họ tên và chữ ký)

(Họ tên và chữ ký)

PGS.TS. Dương Tuấn Anh

TS. Đinh Đức Anh Vũ

TS. Thoại Nam


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi 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 07 tháng 07 năm 2009

Huỳnh Anh Kiệt


Trang i


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi 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 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ể
hồn thành luận văn này.
Tơi 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.

Trang ii


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian

TĨM TẮT LUẬN VĂN
Nhận dạng mơ típ trên dữ liệu chuỗi thời gian ngày càng đóng vai trò quan trọng trong các
lĩnh vực: khai phá dữ liệu chuỗi thời gian (data-mining). 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 như dự báo, ra quyết định, đòi hỏi phải đề ra những giải pháp nhận dạng mơ típ
một cách hiệu quả và chính xác.
Luận văn này nghiên cứu so sánh bằng thực nghiệm phương pháp rời rạc hóa dữ liệu chuỗi
thời gian SAX và ESAX khi áp dụng vào giải thuật EMMA nhận dạng mơ típ trong các
dạng dữ liệu chuỗi thời gian thuộc lĩnh vực tài chính. Qua kết quả thực nghiệm cho thấy
giải thuật EMMA đã được nâng cao hiệu quả khi áp dụng phương pháp ESAX.


Trang iii


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian

ABSTRACT
Finding motifs on time-series data sets is of growing importance in time series data
mining. With the increasing amount of time-series data in many applications, from
financial to scientific, it is important to study methods of finding motifs efficiently and
precisely.
This thesis studies and empirically compares the two discretization methods SAX and
ESAX used in EMMA Algorithm for finding motifs of time-series data in finance. The
experiments show that EMMA Algorithm is improved performance by using ESAX as
discretization method.

Trang iv


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian

MỤC LỤC
LỜI CAM ĐOAN
LỜI CẢM ƠN
TÓM TẮT LUẬN VĂN
ASTRACT
CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI
1.1.
Dữ liệu chuỗi thời gian
1.2

Bài tốn nhận dạng các mơ típ trong dữ liệu chuỗi thời gian
1.3.
Phương hướng giải bài tốn nhận dạng mơ típ trong dữ liệu chuỗi thời gian
1.4.
Mục tiêu và giới hạn của luận văn
1.5.
Tóm tắt kết quả đạt được
1.6.
Cấu trúc của luận văn
CHƯƠNG II: NHỮNG CƠNG TRÌNH LIÊN QUAN
2.1.
Các phương pháp thu giảm số chiều (dimensionality reduction)
2.2.
Các phương pháp rời rạc hóa dữ liệu ( Discretization)
2.3.
Các phương pháp đo độ tương tự
2.4.
Các phương pháp nhận dạng mẫu lặp trong dữ liệu chuỗi thời gian (Finding motifs)
2.5.
Kết luận
CHƯƠNG III: CƠ SỞ LÝ THUYẾT NỀN TẢNG
3.1.
Một số khái niệm xác suất có liên quan
3.2.
Các khái niệm sử dụng trong nhận dạng mô típ trên dữ liệu chuỗi thời gian
3.2.1 Dữ liệu chuỗi thời gian (Time series)
3.2.2 Chuỗi con (subsequence)
3.2.3 Trùng khớp (Match)
3.2.4 Trùng khớp tầm thường (Trivial match)
3.2.5 K-Mơ típ (K-motif)

3.2.6 Mơ típ liền kề gần nhất (Nearest-Neighbor Motif)
3.2.7 Chuỗi con liền kề gần nhất không tầm thường (Non-trivial nearest neighbor)
3.3.
Phương pháp thu giảm số chiều dữ liệu chuỗi thời gian PAA
3.4.
Phương pháp rời rạc hóa dữ liệu chuỗi thời gian SAX
3.5.
Phương pháp rời rạc hóa dữ liệu chuỗi thời gian ESAX
3.6.
Giải thuật nhận dạng mơ típ EMMA
CHƯƠNG IV: HỆ THỐNG TÌM KIẾM MƠ TÍP
4.1.
Giới thiệu
4.2.
Quy trình thực hiện của hệ thống
4.3.
ChuNn hóa dữ liệu, thu giảm số chiều, rời rạc hóa
4.4.
N hận dạng mơ típ
4.4.1 Giải thuật nhận dang mơ típ EMMA
4.4.2 Hàm hash h
4.4.3 Giải thuật ADM
4.5.
Kết luận
CHƯƠN G V: THỰC N GHIỆM
5.1
Các tiêu chuNn thực nghiệm
5.2
Đánh giá kết quả thực nghiệm
5.3

Kết luận
CHƯƠN G VI: KẾT LUẬN
6.1
Tổng kết
6.2
N hững đóng góp của luận văn
6.3
Hướng phát triển
THƯ MỤC THAM KHẢO
PHỤ LỤC A: BẢN G ĐỐI CHIẾU THUẬT N GỮ AN H - VIỆT

i
ii
iii
iv
1
1
2
2
4
4
5
7
7
12
14
19
24
25
25

26
26
27
27
27
27
28
28
28
30
33
36
40
40
40
41
46
46
47
48
49
51
51
52
57
59
59
59
60
61

A.1

Trang v


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian

DA H MỤC HÌ H
Hình 1. 1: Minh họa đồ thị biểu diễn dữ liệu chuỗi thời gian ( Từ nguồn [18]) ......................... 1
Hình 1. 2: Hình minh họa hệ thống nhận dạng mơ típ ................................................................ 5
Hình 2. 1: Minh họa phương pháp DFT (Từ nguồn [12]) .......................................................... 8
Hình 2. 2: Minh họa phương pháp DWT (Từ nguồn [12]) ........................................................ 9
Hình 2. 3: Minh họa phương pháp PAA (Từ nguồn [12]) ....................................................... 10
Hình 2. 4: Minh họa phương pháp SVD (Từ nguồn [12]) ........................................................ 11
Hình 2. 5: Minh họa phương pháp rời rạc hóa dữ liệu dựa trên góc nghiêng ........................... 12
Hình 2. 6: Minh họa phương pháp biểu diễn thành chuỗi bit ................................................... 13
Hình 2. 7: Minh họa phương pháp SAX (Từ nguồn [20]) ........................................................ 14
Hình 2. 8: Minh họa các trường hợp tính chất của hai mẫu là giống nhau nhưng giá trị khác
nhau thì khoảng cách hai mẫu sẽ rất khác nhau (Từ nguồn [14]) ............................................. 16
Hình 2. 9: Minh họa hai đường biểu diễn rất giống nhau về hình dạng nhưng lệch nhau về
thời gian (Từ nguồn [14]) ......................................................................................................... 17
Hình 2. 10: Minh họa cách tính khoảng cách theo DWT ......................................................... 18
Hình 2. 11: Minh họa phương pháp LCS.................................................................................. 19
Hình 2. 12: Minh họa giải thuật chiếu (Từ nguồn [8]) ............................................................. 21
Hình 2. 13: Minh họa cây vizTree (Từ nguồn [21]) ................................................................. 22
Hình 2. 14: Minh họa cho trường hợp hai chuỗi con có tính chất biến đổi (Từ nguồn [43]) ... 23
Hình 2. 15: Minh họa cho hai trường hợp sử dụng độ đo khoảng cách Euclid (Từ nguồn [43])
................................................................................................................................................... 23
Hình 3. 1: Minh họa phân phối xác suất chuNn......................................................................... 26
Hình 3. 2: Hình minh họa K-Motif cần đảm bảo các mơ típ có khoảng cách lớn hơn 2R (Từ

nguồn [18])................................................................................................................................ 28
Hình 3. 3: Minh họa cách thu giảm số chiều (Từ nguồn [12]) ................................................. 29
Hình 3. 4: Minh họa cách thu giảm số chiều dùng PAA (Từ nguồn [12]) ..... 29_Toc235615534
Hình 3. 5 : Minh họa cho cách rời rạc hóa dữ liệu dùng phương pháp SAX . Trong ví dụ trên
áp dụng cho chuỗi dữ liệu thời gian với n = 128, w = 8, a = 3 (Từ nguồn [20]) ...................... 31
Hình 3. 6 : Minh họa cho phương pháp tính khoảng cách trong phương pháp SAX (Từ nguồn
[20])........................................................................................................................................... 32
Hình 3. 7: Minh họa cho các điểm quan trọng trong dữ liệu chuỗi thời gian bị bỏ sót khi áp
dụng phương pháp SAX (Từ nguồn [17]) ................................................................................ 34
Hình 3. 8: Minh họa cách xác định vị trí của các giá trị min, max và trung bình trong phương
pháp ESAX ............................................................................................................................... 35
Hình 3. 9: Minh họa cho cách rời rạc hóa dữ liệu dùng phương pháp ESAX (Từ nguồn [17])36
Hình 3. 10: Hình minh họa hàm hash h() trong giải thuật EMMA (Từ nguồn [49]) ................ 37
Hình 3. 11: Minh họa giải thuật ADM trong giải thuật EMMA ............................................... 38
Hình 4. 1: Minh họa quy trình thực hiện của hệ thống ............................................................. 41
Hình 5. 1: Dữ liệu tỷ giá EUR -USD và mơ típ tương ứng với n=100 và R=0.03 ................... 52
Hình 5. 2: Dữ liệu chứng khốn 3M và mơ típ tương ứng với n=460 và R=0.3 ...................... 53

Trang vi


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian

DA H MỤC BẢ G
Bảng 3. 1: Bảng tra phân phối xác suất chuNn .......................................................................... 26
Bảng 3. 2: Bảng tra các điểm chia (breakpoints) cho các giá trị a từ 3 đến 10 (Từ nguồn [20])
31
Bảng 3. 3 : Minh họa bảng tra cứu cho hàm dist () trong trường hợp a = 4 ............................. 33
Bảng 5.1: Kết quả thực nghiệm trên 20 dữ liệu chuỗi thời gian ............................................... 55
Bảng 5.2: Kết quả thực nghiệm trên dữ liệu Daily simple returns of 3M stock ....................... 56

Bảng 5.3: Kết quả thực nghiệm trên dữ liệu Daily simple returns of value-weighted ............. 57

Trang vii


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian

CHƯƠ G I: GIỚI THIỆU ĐỀ TÀI
Chương này trình bày yêu cầu, mục tiêu và nội dung sơ lược của luận văn. Đồng thời ở
đây cũng nêu lên những động cơ nghiên cứu của luận văn.

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

Dữ liệu chuỗi thời gian là dữ liệu được quan sát và ghi nhận theo thời gian xuất hiện. Dữ
liệu này thường là những dữ liệu rất lớn, có thể lên đến hàng tỷ điểm, vd: các dữ liệu về tài
chính, chứng khốn, y học, thời tiết, mơi trường, địa lý … Việc phân tích các dữ liệu này
rất cần thiết để phục vụ cho các công việc phân tích thơng tin, đưa ra các quyết định ...
Tuy nhiên, do độ lớn của các dữ liệu này nên cần phải áp dụng các cơng cụ máy tính để
thực hiện phân tích mới có thể đạt được thơng tin kịp thời. Chính vì vậy nghiên cứu và
ứng dụng dữ liệu thời gian là một lĩnh vực được nghiên cứu nhiều trong lĩnh vực khoa học
máy tính và các lĩnh vực khác.
Phạm vi nghiên cứu của luận văn này tập trung vào các dữ liệu thời gian có dạng là dãy
các giá trị có thứ tự theo dạng T=t1 ,t2, …, tm với ti là dữ liệu tại thời điểm thứ i. Hình 1.1
là ví dụ đồ thị biểu diễn dữ liệu chuỗi thời gian.

Hình 1. 1: Minh họa đồ thị biểu diễn dữ liệu chuỗi thời gian ( Từ nguồn [18])

Trang 1



hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian

1.2. Bài tốn nhận dạng các mơ típ trong dữ liệu chuỗi thời gian

Dữ liệu chuỗi thời gian có một thuộc tính đặc biệt là các dữ liệu trong cùng một chuỗi
không độc lập với nhau mà các dữ liệu sau có quan hệ với các dữ liệu đã xuất hiện trước
đó. Do đó, trong những năm gần đây bài tốn tìm kiếm tương tự theo mẫu cho trước trên
dữ liệu chuỗi thời gian đã được quan tâm nghiên cứu rất nhiều và đã được giải quyết. Tuy
nhiên, có một bài tốn được đặt ra và được rất nhiều mối quan tâm là tìm ra tất cả các mẫu
thường được lặp lại (mơ típ) trong một chuỗi dữ liệu thời gian, nó tương tự như bài tốn
nhận dạng mơ típ trong sinh học tính tốn (computational biology). Hình 1 là một ví dụ có
1 mẫu được lặp lại 4 lần (A, B, C, D) trên chuỗi dữ liệu thời gian.
Khi tìm được giải thuật nhận dạng các mơ típ sẽ rất hữu ích trong việc tóm tắt và trực quan
hóa dữ liệu chuỗi thời gian. N gồi ra, nó có thể được áp dụng vào một số công việc khai
phá dữ liệu chuỗi thời gian (data-mining) như là:
Khám phá các luật kết hợp trong dữ liệu chuỗi thời gian.
Tìm điểm khởi đầu và giá trị K trong giải thuật K-Means dùng để gom cụm dữ
liệu chuỗi thời gian.
Xây dựng các mẫu dữ liệu điển hình trong một số giải thuật phân loại dữ liệu.

1.3. Phương hướng giải bài tốn nhận dạng mơ típ trong dữ liệu chuỗi
thời gian

Do đặc thù dữ liệu chuỗi thời gian là rất lớn nên để nghiên cứu các giải thuật nhận dạng
mô típ hay phân tích dữ liệu, ta cần tìm cách thu giảm số chiều của dữ liệu, biểu diễn dữ
liệu chuỗi thời gian thành các dạng khác. Sau đó, ta sẽ xây dựng các giải thuật nhận dạng
mơ típ trên các dạng biểu diễn.
-

Một số cách biểu diễn dữ liệu chuỗi thời gian như sau:

Chia dữ liệu thành các đường tuyến tính (Linear segments): biến đổi Fourier rời
rạc (Discrete Fourier Transform -DTF) do Agrawal, R. và các cộng sự đề xuất

Trang 2


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian
năm 1993 [1], Singular Value Decomposition (SVD) do Korn, F. và các cộng sự
đề xuất năm 1997 [34].
Chia dữ liệu thành các đoạn dùng phương pháp xấp xỉ (Aggregate
Approximations): phương pháp xấp xỉ gộp từng đoạn (Piecewise Aggregate
Approximation –PAA) do Keogh, E. và các cộng sự đề xuất năm 2000 [12].
Biểu diễn bằng phương pháp toán học Wavelets: biến đổi Wavelet rời rạc
(Discrete Wavelet Transform - DWT) do Chan, K. và Fu, W. đề xuất năm 1999
[5], [6], [29], [40].
Biểu diễn thành chuỗi ký tự: phương pháp biểu diễn thành chuỗi bit (bitstring) do
Keogh, E. và cộng sự đề xuất năm 1999 [10], phương pháp rời rạc hóa dựa trên
góc nghiêng do Xia đề xuất năm 1997 [41], phương pháp xấp xỉ gộp ký hiệu hóa
(Symbolic Aggregate approXimation – SAX) do Lin, J. đề xuất năm 2003 [20],
phương pháp xấp xỉ gộp ký hiệu hóa mở rộng (Extension of Symbolic Aggregate
Approximation for Financial Time Series Data Representation) do Lkhagva, B.
và các cộng sự đề xuất năm 2006 [17].
Biểu diễn bằng mơ hình: mơ hình Xích Markov Nn HMM (hidden Markov
model) [34], [27], ARMA [32], [42].
-

Một số giải thuật áp dụng để nhận dạng các mơ típ trên dữ liệu chuỗi thời gian như
sau:
Giải thuật dựa theo xác suất: giải thuật chiếu (Projection Algorithm) do Buhler
và Tompa đề xuất năm 2001[4], [8], [28].

Giải thuật dựa trên ma trận EMMA (Enumeration of Motifs through Matrix
Approximation) do J. Lin đề xuất năm 2002 đang được sử dụng nhiều [18], [35].
Sử dụng cây VizTree, một phương tiện trực quan hóa [21] do Lin, J. đề xuất năm
2004: xây dựng cây VizTree từ dữ liệu chuỗi thời gian sau khi đã thu giảm số
chiều. Sau đó, thực hiện tìm mơ típ trên cây được xây dựng.
Sử dụng giải thuật dựa trên giải thuật di truyền MTA (Motif Tracking Algorithm)
do Wilson, W. đề xuất năm 2006 [38], [39].

-

N goài ra, trong lĩnh vực sinh học tính tốn cũng đã có rất nhiều nghiên cứu về việc tìm
mơ típ, một số giải thuật sau đã được áp dụng nhiều: MotifFinder do Leung W. đề
xuất năm 2003[16], giải thuật EM [36],[30] (Hartley, 1958; Dempster và các cộng sự,
Trang 3


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian
1977; McLachlan và Krishnan, 1997) đã được tích hợp vào cơng cụ MEME, giải thuật
nhận dạng mơ típ trong Protein sử dụng kỹ thuật tối ưu dựa vào mạng nơron và logic
mờ (Protein motif extraction with neuro-fuzzy optimization) [30], …

1.4. Mục tiêu và giới hạn của luận văn

Mục tiêu chính của luận văn là tìm mẫu lặp (mơ típ) trong một chuỗi dữ liệu thời gian cho
trước. 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 đó, chương trình sẽ tìm trên chuỗi dữ liệu đầu vào mẫu con nào
được lặp lại nhiều lần trên chuỗi dữ liệu.
Bài tốn tìm mơ típ là một bài tốn phức tạp có nhiều khía cạnh để nghiên cứu như: tìm
mơ típ có kích thước lớn nhất, tìm rất cả các mơ típ có xuất hiện không biết trước. Tuy
nhiên trong luận văn này chỉ giới hạn ở những khía cạnh sau:

-

Thu giảm số chiều của dữ liệu lại áp dụng phương pháp PAA,

-

Rời rạc hóa và biểu diễn dữ liệu chuỗi thời gian thành dạng chuỗi ký hiệu dùng
phương pháp SAX, ESAX.

-

Sử dụng giải thuật EMMA để nhận dạng các mơ típ trên dữ liệu chuỗi thời gian đã
được rời rạc hóa bằng phương pháp SAX, ESAX.

-

Hiện thực phần mềm và thử nghiệm trên các bộ dữ liệu mẫu về tài chính để so sánh
hiệu quả của giải thuật EMMA khi áp dụng hai phương pháp rời rạc hóa SAX và
ESAX.

1.5. Tóm tắt kết quả đạt được

Với những yêu cầu của luận văn, sau thời gian nghiên cứu và hiện thực, chúng tôi đã xây
dựng phần mềm nhận dạng mơ típ trên chuỗi dữ liệu thời gian sử dụng giải thuật EMMA
và phương pháp rời rạc hóa ESAX, SAX. Phần mềm này có sử dụng công cụ khai phá dữ
liệu chuỗi thời gian của nhóm nghiên cứu chuỗi dữ liệu thời gian thuộc Khoa Khoa Học và
Kỹ Thuật Máy Tính trường Đại Học Bách Khoa Thành phố Hồ Chí Minh. Hình 1.2 Minh
họa cho hệ thống nhận dạng mơ típ.
Trang 4



hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian
Chuỗi dữ liệu thời gian
Giải thuật EMMA
Hàm hash
Chuẩn hóa dữ liệu

Thu giảm số chiều (PAA)

Rời rạc hóa

Tìm kiếm mơ típ (ADM)

Mơ típ tìm được

Hình 1. 2: Hình minh họa hệ thống nhận dạng mơ típ

Dữ liệu chuỗi thời gian sau khi đưa vào hệ thống sẽ được chuNn hóa, thu giảm số chiều và
rời rạc hóa. Hệ thống sử dụng một hàm h để thực hiện phân các dữ liệu thành các nhóm
bucket. Từ các nhóm dữ liệu này, hệ thống thực hiện tìm ra các nhóm có khả năng là mơ
típ nhất (nhóm liền kề - neighborhood

).

N hóm dữ liệu liền kề được đưa vào giải thuật

ADM để thực hiện nhận dạng mơ típ.
N hư vậy, với phần mềm đã hiện thực và kết quả thực nghiệm sẽ trình bày chi tiết ở những
chương sau đã đáp ứng những yêu cầu và nhiệm vụ của luận văn.


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

Phần còn lại của luận văn được tổ chức theo cấu trúc sau:
Chương II trình bày tổng quan về các cơng trình liên quan. N hững cơng trình này là
nghiên cứu về các phương pháp thu giảm số chiều, rời rạc hóa dữ liệu và nhận dạng mơ
típ.

Trang 5


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian
Chương III trình bày các lý thuyết được sử dụng trong luận văn: phương pháp thu giảm số
chiều PAA, phương pháp rời rạc hóa dữ liệu SAX, ESAX và giải thuật EMMA dùng để
nhận dạng mơ típ.
Chương IV trình bày những vấn đề đặt ra khi nhận dạng mơ típ: phân tích những vấn đề
chính mà hệ thống cần phải giải quyết, hiện thực phương pháp PAA, SAX, ESAX và giải
thuật EMMA.
Chương V trình bày một số kết quả thực nghiệm và nhận xét.
Chương VI là những kết luận sau khi thực hiện luận văn.

Trang 6


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian

CHƯƠ G II: HỮ G CÔ G TRÌ H LIÊ QUA
Bài tốn nhận dạng mơ típ trong chuỗi thời gian hiện đang được quan tâm và nghiên cứu
rất nhiều. Các cơng trình liên quan đến bài tốn này có thể được chia thành các loại như
sau:
Thứ nhất là các cơng trình mã hóa dữ liệu. Do dữ liệu chuỗi thời gian thường rất lớn nên

nhiều phương pháp mã hóa dữ liệu được đề nghị nhằm thu giảm kích thước dữ liệu để
nâng cao tốc độ tìm kiếm. N gồi ra, các phương pháp mã hóa dữ liệu cịn nhằm mục đích
chuNn hóa dữ liệu. Trong các phương pháp mã hóa dữ liệu thì có hai loại phương pháp
chính đó là phương pháp thu giảm số chiều (dimensional reduction) và phương pháp rời
rạc hóa (discretization).
Thứ hai là các cơng trình nghiên cứu nhằm đưa ra cách đánh giá về độ tương tự. Cho đến
hiện tại thì có nhiều cách đánh giá được đề nghị. Tùy theo từng loại ứng dụng khác nhau,
từng mục đích khác nhau mà ta sẽ dùng cách đánh giá khác nhau.
Thứ ba là các cơng trình nghiên cứu nhằm tìm ra các giải thuật nhận dạng mơ típ trên
chuỗi dữ liệu thời gian.
Với các hướng như vậy, ta sẽ xem xét những cơng trình những cơng trình liên quan cho
đến nay.

2.1. Các phương pháp thu giảm số chiều (dimensionality reduction)

Phương pháp thu giảm số chiều là cách thức biểu diễn lại chuỗi dữ liệu thời gian X={x1,
x2,...,xn} thành chuỗi dữ liệu Y={y1, y2, ..., yk}, k nhỏ hơn n, k gọi là hệ số biến đổi, nếu k
càng nhỏ thì đặc tính của chuỗi dữ liệu X khi chuyển thành chuỗi dữ liệu Y càng nhiều và
ngược lại. Hệ số k được dùng để phục hồi lại chuỗi dữ liệu X từ chuỗi dữ liệu Y, k càng lớn
thì dữ liệu được phục hồi càng chính xác và ngược lại. Do đó, đối với các phương pháp
này ta cần chọn hệ số k phù hợp, nếu chọn k quá lớn thì hiệu suất bị giảm, nếu chọn k q
nhỏ thì thơng tin khi chuyển đổi bị mất quá nhiều nên kết quả tìm được sẽ khơng chính
xác.
Trang 7


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian
2.1.1 Phương pháp biến đổi Fourier rời rạc (Discrete Fourier Transform - DFT)
Phương pháp biến đổi rời rạc Fourier do R. Agrawal và cộng sự đề xuất năm 1993[1]. Ý
tưởng cơ bản của phương pháp này là một đồ thị (chuỗi dữ liệu) nào cũng có thể biểu diễn

bằng một số xác định các đường đồ thị cơ bản Sin và Cosin. Hình 2.1 là hình minh họa
cho phương pháp DFT.

Hình 2. 1: Minh họa phương pháp DFT (Từ nguồn [12])

N goài khả năng nén dữ liệu, với cách tính khoảng cách dựa trên khoảng cách Euclid thì
phương pháp Fourier cho phép so sánh gián tiếp 2 chuỗi X, Y thông qua khoảng cách của
2 chuỗi Xf , Yf đã được biến đổi. Sở dĩ phép biến đổi Fourier rời rạc có tính chất trên là vì:

Trong đó α là hằng số
Vì vậy, phương pháp Fourier đã được sử dụng trong nhiều ứng dụng và một số phương
pháp lập chỉ mục như F-index, ST-index … đã được đề nghị. Ưu điểm của phương pháp
này là thích hợp với các loại đường biểu diễn dữ liệu khác nhau và giải thuật để biến đổi

Trang 8


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian
dữ liệu chỉ có độ phức tạp O(nlgn). Tuy nhiên, nhược điểm lớn nhất rất khó giải quyết nếu
các đường biểu diễn có chiều dài khác nhau.

2.1.2 Phương pháp biến đổi Wavelet rời rạc (Discrete Wavelet Transform - DWT)
Phương pháp biến đổi rời rạc Wavelet do K. Chan và W. Fu đề xuất năm 1999 [5], [6],
[29], [40]. Phương pháp DWT cũng giống như DFT biểu diễn dữ liệu chuỗi thời gian
thành các đường cơ bản gọi là Haar, đường Haar được định nghĩa theo công thức như
sau:

Hình 2.2 là hình minh họa cho phương pháp DWT

Hình 2. 2: Minh họa phương pháp DWT (Từ nguồn [12])


N gồi sử dụng đường Haar, phương pháp Wavelet có thể sử dụng các đường cơ bản khác
như đường Daubechies, Coiflet, Symmlet… Tuy nhiên, Haar Wavalet đã được sử dụng rất
nhiều trong khai phá dữ liệu chuỗi thời gian và lập chỉ mục.
Trang 9


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian
Giải thuật Wavelet rất hiệu quả bởi vì nó mã hóa đơn giản và nhanh. Độ phức tạp của việc
mã hóa này là tuyến tính. Đặc biệt, giải thuật này rất thích hợp với những dữ liệu tĩnh ít
thay đổi. Bởi vì đường Haar cũng khơng thay đổi liên tục. Một ưu điểm của giải thuật
Wavelet là nó hỗ trợ một số phương pháp tính khoảng cách khác không phải là dựa trên
khoảng cách Euclid.
Tuy nhiên nhược điểm lớn nhất là chiều dài chuỗi dữ liệu ban đầu của nó phải là một số
lũy thừa 2. Cịn chiều dài của chuỗi truy vấn cũng nên là số lũy thừa của 2 thì giải thuật
mới thực hiện hiệu quả.

2.1.3 Phương pháp xấp xỉ gộp từng đoạn (Piecewise Aggregate Approximation PAA)

Hình 2. 3: Minh họa phương pháp PAA (Từ nguồn [12])

Phương pháp xấp xỉ gộp từng đoạn do E. Keogh và cộng sự đề xuất năm 2000 [12].
Phương pháp này rất đơn giản, ta tuần tự xấp xỉ k giá trị liền kề nhau thành cùng một giá
trị bằng trung bình cộng của k điểm đó. Q trình cứ tiếp tục như vậy từ trái sang phải. Kết
quả cuối cùng là đường thẳng có dạng bậc thang. Hình 2.3 là hình minh họa cho phương
pháp PAA. Cơng thức tính giá trị của điểm trung bình:

Trang 10



hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian

Với phương pháp này, thời gian tính tốn rất nhanh và cách biểu diễn của nó hỗ trợ nhiều
hàm tính khoảng cách. Do ưu điểm về tốc độ tính tốn nên phương pháp này hiện đạng
được áp dụng rộng rãi trong nghiên cứu dữ liệu chuỗi thời gian.

2.1.4 Phương pháp phân rã trị kỳ dị (Singular Value Decomposition - SVD)
Phương pháp phân rã trị kỳ dị do F. Korn và cộng sự đề xuất năm 1997 [34]. Phương pháp
SVD cũng giống như phương pháp DFT, DWT. Tuy nhiên, đường cơ bản thì phụ thuộc
vào dữ liệu. N hững đường cơ bản này gọi là đường eigenwave. Với mỗi dữ liệu thì ta có
giải thuật để xây dựng đường eigenwave. Hình 2.4 là hình minh họa cho phương pháp
SVD.

Hình 2. 4: Minh họa phương pháp SVD (Từ nguồn [12])

Tuy nhiên độ phức tạp của phương pháp SVD là rất cao. Và mỗi khi thêm dữ liệu mới vào
thì ta phải chạy lại giải thuật. Đây là nhược điểm chính khiến cho phương pháp SVD

Trang 11


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian
không được sử dụng rộng rãi. Ưu điểm lớn nhất của giải thuật này là các đường eigenwave
cho phép ta thấy được hình dạng của dữ liệu.

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

Dữ liệu chuỗi thời gian thường là những dữ liệu liên tục và lớn nên ta cần chia dữ liệu
thành những đoạn rời rạc nhỏ hơn và mã hóa các đoạn này dựa vào đặc trưng của nó thành
ra các ký hiệu, từ đó, giúp cho việc phân tích và tính tốn dễ dàng hơn, q trình này gọi là

q trình rời rạc hóa. Từ đó, có thể áp dụng các phương pháp, giải thuật có sẵn của lĩnh
vực xử lý chuỗi ký hiệu, xử lý trình tự sinh học vào việc giải quyết bài tốn nhận dạng mơ
típ trên chuỗi dữ liệu thời gian.

2.2.1 Phương pháp rời rạc hóa dữ liệu dựa trên góc nghiêng
Phương pháp rời rạc hóa dữ liệu dựa trên góc nghiêng do Xia đề xuất năm 1997 [41].
Trong phương pháp này dữ liệu ban đầu sẽ được tuyến tính hóa thành những đoạn thẳng.
Dựa trên hệ số góc của những đoạn thẳng này ta sẽ mã hóa thành các ký tự. Hình 2.5 là
hình minh họa cho phương pháp rời rạc hóa dữ liệu dựa trên góc nghiêng.

Hình 2. 5: Minh họa phương pháp rời rạc hóa dữ liệu dựa trên góc nghiêng

2.2.2 Phương pháp biểu diễn thành chuỗi bit (bitstring)
Phương pháp rời rạc hóa dữ liệu chuỗi thời gian và biểu diễn thành chuỗi bit do Keogh, E.
và cộng sự đề xuất năm 1999 [10]. Theo phương pháp này, dữ liệu ban đầu được chia
Trang 12


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian
thành những đoạn nhỏ. Trong từng đoạn nhỏ, nếu dữ liệu có xu hướng tăng thì mã hóa
thành ký số 1, nếu ngược lại dữ liệu có xu hướng giảm thì mã hóa thành ký số 0. N hư vậy,
từ dữ liệu ban đầu sau khi áp dụng phương pháp này sẽ thu được 1 chuỗi bit mà mỗi bit có
giá trị 0 hoặc 1. Hình 2.6 là hình minh họa phương pháp biểu diễn thành chuỗi bit.

Hình 2. 6: Minh họa phương pháp biểu diễn thành chuỗi bit

Phương pháp này có ưu điểm tiết kiệm bộ nhớ và tốc độ tính tốn rất nhanh do chuỗi dữ
liệu thời gian ban đầu đã được mã hóa thành chuỗi bit.

2.2.3 Phương pháp xấp xỉ gộp ký hiệu hóa (Symbolic Aggregate approXimation - SAX)

Phương pháp biểu diễn bằng chuỗi bit (bitstring) chỉ dùng 2 ký tự 0 và 1 để biểu diễn nên
khơng thể hiện được hết đặc tính của dữ liệu. Do đó, J. Lin và cộng sự đã đề xuất phương
pháp xấp xỉ gộp ký hiệu hóa (Symbolic Aggregate approXimation - SAX) vào năm năm
2003 [20] để thực hiện rời rạc hóa dữ liệu chuỗi thời gian. Dữ liệu ban đầu được chia
thành từng đoạn dùng phương pháp PAA. Sau đó, dựa trên giá trị trung bình cộng của
từng đoạn, ta sẽ biểu diễn đặc trưng của đoạn thành các ký tự. Khi đó, chuỗi dữ liệu ban
đầu sẽ được mã hóa rời rạc thành một chuỗi các ký hiệu. Hình 2.7 là hình minh họa
phương pháp SAX.
Phương pháp này biểu diễn dữ liệu chuỗi thời gian thành dạng chuỗi ký hiệu nên từ đó có
thể áp dụng các kỹ thuật xử lý trên dữ liệu chuỗi ký hiệu để thực hiện xử lý, phân tích dữ
liệu chuỗi thời gian. N goài ra, việc nhận dạng các mơ típ trên dữ liệu chuỗi thời gian có
thể vận dụng các giải thuật nhận dạng mơ típ đã được nghiên cứu trước đây trong lĩnh vực
sinh học tính tốn .
Trang 13


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian
Gần đây đã có nhiều cơng trình nghiên cứu theo hướng này [18], [20], [19], [25], [26],
[11], [14], [22], [24], [37], [44].

Hình 2. 7: Minh họa phương pháp SAX (Từ nguồn [20])

2.2.4 Phương pháp xấp xỉ gộp ký hiệu hóa mở rộng (Extended Symbolic Aggregate ESAX)
Phương pháp xấp xỉ gộp ký hiệu hóa (Symbolic Aggregate approXimation - SAX) biểu
diễn chuỗi dữ liệu thời gian thành các ký tự hiện được sử dụng phổ biến. Tuy nhiên,
phương pháp này chỉ dựa vào giá trị trung bình để biểu diễn chuỗi dữ liệu thành ký tự. Do
đó, đối với một số loại dữ liệu như là dữ liệu tài chính thì có thể có một số đặc điểm quan
trọng của dữ liệu bị bỏ qua. Vì vậy, năm 2006 Lkhagva, B. và các cộng sự [22] đưa ra
phương pháp xấp xỉ gộp ký hiệu hóa mở rộng nhằm khắc phục điểm yếu của SAX khi áp
dụng trên dữ liệu tài chính.

Phương pháp này vẫn dựa trên phương pháp thu giảm số chiều PAA, nhưng ngồi giá trị
trung bình thì còn giữ lại giá trị lớn nhất (max) và giá trị nhỏ nhất (min) của chuỗi con. Ba
giá trị max, min và trung bình sẽ được dùng để biến đổi thành chuỗi ký tự tương ứng.

2.3. Các phương pháp đo độ tương tự

Để giải quyết bài tốn nhận dạng mơ típ cần đo độ tương tự giữa hai mẫu bằng cách đo
khoảng cách giữa hai mẫu này. N ếu hai mẫu hồn tồn giống nhau thì khoảng cách bằng
0. N gược lại, nếu hai mẫu càng khác nhau thì khoảng cách càng lớn. Để có thể tính tốn
thì các khoảng cách này cần được biểu diễn bằng số thực.
Trang 14


hận dạng các mẫu lặp lại (mơ típ) trong dữ liệu chuỗi thời gian
Có một tính chất rất quan trọng của khoảng cách cần được chú ý trong khi thiết kế giải
thuật để giới hạn khơng gian tìm kiếm là
D(x,y) < D(x,z) + D(y,z)
D(x,y) là khoảng cách giữa hai mẫu x và y
Tính chất này tương tự như định lý tổng chiều dài hai cạnh trong một tam giác luôn lớn
hơn chiều dài của cạnh còn lại. Sau đây là một số cơng trình đã có:

2.3.1 Độ đo Minkowski
Trong phương pháp đo độ tương tự này thì Sim(X,Y) (độ tương tự giữa X và Y) được định
nghĩa như sau:

Tuy p có thể có nhiều sự lựa chọn khác nhau, nhưng trong các nghiên cứu đối với dữ liệu
chuỗi thời gian thì thường sử dụng p=2 (khoảng cách Euclid).
Phương pháp này có ưu điểm tính tốn dễ dàng. Tuy nhiên nó cũng có một số nhược điểm
là do phương pháp này tính tốn dựa trên giá trị nên đối với các trường hợp tính chất của
hai mẫu là giống nhau nhưng giá trị khác nhau (có đường căn bản khác nhau hay có biên

độ dao động khác nhau) thì khoảng cách hai mẫu sẽ rất khác nhau. Hình 2.8 minh họa
trường hợp này.
Để khắc phục trường hợp này, trước khi áp dụng các giải thuật ta cần thực hiện chuNn hóa
dữ liệu bằng phương pháp giá trị trung bình và độ lệch chu n [9], biến đổi dữ liệu Q thành
Q’ có cùng đường căn bản theo cơng thức:

Q’ = Q – mean(Q)
Với mean(Q) là giá trị trung bình của Q

Trang 15


×