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

Phát hiện tất cả các xu hướng thường xuyên 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 (3.8 MB, 121 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
----------------------------

ĐỖ DUY QUỐC

PHÁT HIỆN TẤT CẢ CÁC XU HƯỚNG THƯỜNG
XUYÊN TRONG DỮ LIỆU CHUỖI THỜI GIAN

Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60.48.01.01

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 12 năm 2016


CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM
Cán bộ hướng dẫn khoa học : PGS. TS. Dương Tuấn Anh.
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 1 : TS. Võ Thị Ngọc Châu.
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 2 : PGS.TS. Đỗ Phúc.
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp.
HCM ngày 30 tháng 12 năm 2016.

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1. PGS.TS. Quản Thành Thơ.


2. TS. Nguyễn Đức Dũng.
3. TS. Võ Thị Ngọc Châu.
4. PGS.TS. Đỗ Phúc.
5. PGS. TS. Lê Trung Quân.

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý
chuyên ngành sau khi luận văn đã được sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNG

TRƯỞNG KHOA KH&KTMT


ĐẠI HỌC QUỐC GIA TP.HCM

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

Độc lập – Tự do – Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Đỗ Duy Quốc

MSHV: 7140255

Ngày, tháng, năm sinh: 12/04/1991

Nơi sinh: Nam Định

Chuyên ngành: Khoa Học Máy Tính


Mãsố: 60.48.01.01

I. TÊN ĐỀ TÀI: PHÁT HIỆN TẤT CẢ CÁC XU HƯỚNG THƯỜNG XUYÊN
TRONG DỮ LIỆU CHUỖI THỜI GIAN
II. NHIỆM VỤ VÀ NỘI DUNG
-

Nghiên cứu dữ liệu chuỗi thời gian.

-

Nghiên cứu về cách mã hóa xu hướng của dữ liệu thành ký tự.

-

Nghiên cứu về cây hậu tố, mảng hậu tố và các vấn đề liên quan.

-

Nghiên cứu việc áp dụng mảng hậu tố nâng cao để tìm tất cả các xu hướng
thường xuyên và motif trong dữ liệu chuỗi thời gian.

-

So sánh kết quả của phương pháp nêu trên với kết quả của cây hậu tố và
giải thuật brute force

III. NGÀY GIAO NHIỆM VỤ: 17/08/2015
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 05/12/2016

V. CÁN BỘ HƯỚNG DẪN:

PGS. TS. Dương Tuấn Anh
Tp. HCM, ngày 05 tháng 12 năm 2016

CÁN BỘ HƯỚNG DẪN

TRƯỞNG KHOA KH&KTMT

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

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


LỜI CẢM ƠN


Trước hết, tôi xin đặc biệt 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 đã trực tiếp hướng dẫn tôi trong quá trình làm luận văn này. Thầy khơng
chỉ hướng dẫn chu đáo, tận tình mà cịn cung cấp cho tơi những kiến thức, những tài liệu
hay và những lời khuyên quý giá trong suốt q trình tơi học tập cũng như quá trình tìm
hiểu và làm đề tài luận văn này. Đây chính là một trong những nhân tố khơng thể thiếu để
tạo động lực cho tơi hồn thành đề tài này.
Tơi cũng xin gửi lời cảm ơn đến gia đình, bạn bè, những bạn đồng nghiệp, những
bạn học viên các khóa cao học đã chia sẻ kiến thức cho tơi, những người luôn sát cánh,
động viên và tạo mọi điều kiện tốt nhất để tơi có thể học tập và hồn tất được luận văn tốt
nghiệp này.
Tơi chân thành biết ơn sự tận tình dạy dỗ và sự giúp đỡ của tất cả quý thầy cô trong
khoa Khoa học và Kỹ thuật Máy tính trường Đại học Bách khoa TP. HCM.
Cuối cùng tơi đã cố gắng hồn thành tốt nhất có thể cho luận văn này, tuy nhiên khó

tránh khỏi thiếu sót do tầm nhìn của bản thân cịn hạn hẹp, rất mong nhận được sự góp ý
của quý thầy cô và các bạn.

i


TÓM TẮT LUẬN VĂN
Trong những thập niên gần đây các giải thuật tìm kiếm motif và các xu hướng
thường xuyên trong dữ liệu chuỗi thời gian không ngừng phát triển và được cải thiện
thường xuyên. Trong đó có nhiều phương pháp giúp tối ưu các giải thuật cũng như cho khả
năng tìm kiếm tốt hơn. Cây hậu tố, giải thuật được nghiên cứu trong rất nhiều đề tài và
được áp dụng vào các mơ hình tìm kiếm motif và xu hướng thường xuyên thực tiễn của dữ
liệu chuỗi thời gian nhờ vào khả năng xử lý tuyến tính và phát hiện được tất cả các mẫu xu
hướng hoặc motif mà không cần phải xác định chiều dài chuỗi ban đầu. Tuy nhiên, với
những những bộ dữ liệu có tính xu hướng tăng giảm khơng đáng kể trong thời gian ngắn
thì chất lượng tìm kiếm các xu hướng trong thời gian dài kém và đối với những bộ dữ liệu
lớn, cây hậu tố tốn rất nhiều bộ nhớ để lưu trữ đồng thời thời gian để sử lý việc đệ qui tìm
kiếm các nút trong cây rất chậm.
Trong luận văn này, chúng tôi xây dựng và hiện thực mảng hậu tố nâng cao để tìm
tất cả các xu hướng thường xuyên cũng như tất cả các motif trong dữ liệu chuỗi thời gian.
Ý tưởng chính là áp dụng phương pháp xấp xỉ tuyến tính từng đoạn nhằm làm nhẵn dữ liệu
đầu vào sau đó mã hóa dữ liệu thành chuỗi ký tự bằng phương pháp tính độ lệch góc giữa
hai điểm liên tiếp để tìm các mẫu xu hướng trong khoảng thời gian dài. Bên cạnh đó chúng
tơi cịn áp dụng phương pháp xấp xỉ gộp từng đoạn để thu giảm số chiều tăng tốc độ xử lý
việc tìm kiếm tất cả các motif trong dữ liệu chuỗi thời gian, việc làm này làm tăng tốc đáng
kể thời gian xây dựng và tìm kiếm các motif của mảng hậu tố nâng cao
Trong quá trình thực nghiệm của việc xây dựng và tìm kiếm tất cả các mẫu xu hướng
thường xuyên và motif trong dữ liệu chuỗi thời gian bằng mảng hậu tố nâng cao, giải thuật
này đã cho thấy khả năng xử lý tốt hơn so với cây hậu tố cũng như các giải thuật tìm kiếm
thơng thường (brute force, phương pháp chiếu ngẫu nhiên).

Các từ khóa: Mảng hậu tố, mảng hậu tố nâng cao, cây hậu tố, maximal repeat.

ii


ABSTRACT
In recent decades, the motif search and the frequent trend search in time series
data have been continuously developed and improved. Among them, there are many
methods to optimize the algorithms for better search. Suffix tree algorithm is researched
in a variety of topics and it is applied to the search of frequent trends and motifs in time
series, because it has linear complexity and it can detect all frequent trends or motifs
without having to determine the length of the original string. However, there are some
data sets, which have negligible uptrend or negligible downtrend in the short term, so the
suffix tree can not find the long frequent trends in the large data set. Besides suffix tree
was a lot of memory for storing data and the processing time to recursively search the
nodes in the tree are very slowly.
In this work, we study to implement and develop enhanced suffix array to find all
the frequent trend, as well as all the motifs of time series data. The main idea is to apply
piecewise linear approximation method to smooth the input data, then we encode the data
into strings by the method for calculating the deviation angle between two points to
represent the frequent trends in the long time. Besides, we also applied the symbolic
aggregate approximation – SAX method for dimension reduction of data set, that helps
improve the processing time, and significantly accelerates processing times of the suffix
array.
Experimental results on several real datasets, the building of enhanced suffix array
and the frequent trend searching or motif searching with enhanced suffix array are faster
than suffix tree and another searching (brute force, probabilistic discovery).
Keywords: suffix array, enhanced suffix array, suffix tree, maximal repeat

iii



LỜI CAM ĐOAN
Tôi xin 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 trong mục tham khảo của 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 chúng 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 đại học nào khác.

Hồ Chí Minh, ngày ….. tháng …. năm…….
Ký tên

iv


MỤC LỤC
LỜI CẢM ƠN ....................................................................................................................... i
TÓM TẮT LUẬN VĂN ...................................................................................................... ii
ABSTRACT ....................................................................................................................... iii
MỤC LỤC ........................................................................................................................... v
DANH MỤC HÌNH ẢNH ................................................................................................ viii
DANH MỤC BẢNG ........................................................................................................ xiii
CHƯƠNG 1. GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI .................................................... 1
1.1 GIỚI THIỆU ĐỀ TÀI .............................................................................................. 1
1.2 MỤC TIÊU VÀ GIỚI HẠN ĐỀ TÀI ...................................................................... 3
1.3 NHỮNG KẾT QUẢ ĐẠT ĐƯỢC .......................................................................... 3
1.4 CẤU TRÚC CỦA LUẬN VĂN .............................................................................. 4
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT .................................................................................... 6
2.1 DỮ LIỆU CHUỖI THỜI GIAN .............................................................................. 6
2.2 CÂY HẬU TỐ ......................................................................................................... 6
2.3 MẢNG HẬU TỐ ................................................................................................... 10

2.4 MẢNG TIỀN TỐ CHUNG DÀI NHẤT ............................................................... 12
2.5 XÂY DỰNG MẢNG HẬU TỐ ............................................................................ 13
2.6 MẢNG HẬU TỐ NÂNG CAO ............................................................................. 14
2.7 XÂY DỰNG CÂY HẬU TỐ ................................................................................ 17
2.8 MÃ HÓA DỮ LIỆU THÀNH XU HƯỚNG ........................................................ 22
2.9 XẤP XỈ DỮ LIỆU CHUỖI THỜI GIAN BẰNG PHƯƠNG PHÁP GỘP TỪNG
ĐOẠN (Piecewise Aggregate Approximation - PAA) .................................................. 22
2.10
RỜI RẠC HÓA DỮ LIỆU CHUỖI THỜI GIAN BẰNG PHƯƠNG PHẤP
XẤP XỈ GỘP KÝ HIỆU HÓA (Symbolic Aggregate approximation - SAX) .............. 24
2.11

PHƯƠNG PHÁP XẤP XI TUYẾN TÍNH TỪNG ĐOẠN (PLA) .................. 26

CHƯƠNG 3. NHỮNG CƠNG TRÌNH LIÊN QUAN ...................................................... 28
3.1 PHÁT HIỆN TẤT CẢ CÁC XU HƯỚNG THƯỜNG XUYÊN TRONG DỮ
LIỆU CHUỖI THỜI GIAN ........................................................................................... 28

v


3.1.1 Định nghĩa ........................................................................................... 28
3.1.2 Mã hóa dữ liệu xu hướng ..................................................................... 30
3.1.3 Xác định các xu hướng thường xuyên ................................................. 31
3.2 PHÁT HIỆN MOTIF TRÊN DỮ LIỆU CHUỖI THỜI GIAN DỰA VÀO GIẢI
THUẬT BRUTE FORCE .............................................................................................. 32
3.3 PHÁT HIỆN MOTIF TRÊN DỮ LIỆU CHUỖI THỜI GIAN DỰA VÀO GIẢI
THUẬT CHIẾU NGẪU NHIÊN ................................................................................... 34
3.3.1 Định nghĩa ........................................................................................... 34
3.3.2 Rời rạc hóa dữ liệu chuỗi thời gian ..................................................... 35

3.3.3 Thuật tốn chiếu ngẫu nhiên ................................................................ 36
3.4 TRUY VẤN HÌNH DẠNG DỮ LIỆU CỦA CHUỖI THỜI GIAN ..................... 38
3.4.1 Giới thiệu truy vấn hình dạng .............................................................. 38
3.4.2 Cú pháp ................................................................................................ 39
CHƯƠNG 4. PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ................................................. 42
4.1.

ÁP DỤNG PHƯƠNG PHÁP XẤP XỈ TUYẾN TÍNH TỪNG ĐOẠN .............. 42
4.1.1. Mơ hình tìm tất cả các xu hướng thường xuyên sử dụng mảng hậu tố

nâng cao và phương pháp xấp xỉ tuyến tính từng đoạn ............................................. 43
4.1.2. Giải thuật chi tiết: ................................................................................ 45
4.2. ÁP DỤNG PHƯƠNG PHÁP XẤP XỈ GỘP TỪNG ĐOẠN ĐỂ PHÁT HIỆN
MOTIF ........................................................................................................................... 46
4.2.1. Mơ hình tìm tất cả các xu hướng thường xuyên sử dụng mảng hậu tố
nâng cao và phương pháp xấp xỉ tuyến tính từng đoạn ............................................. 47
4.2.2. Giải thuật chi tiết: ................................................................................ 49
CHƯƠNG 5. HIỆN THỰC VÀ THỬ NGHIỆM .............................................................. 51
5.1.

MÔI TRƯỜNG PHÁT TRIỂN ............................................................................ 51

5.2.

KẾT QUẢ THỰC NGHIỆM CỦA CÁC GIẢI THUẬT .................................... 51

vi


5.2.1 Nhận diện xu hướng thường xuyên bằng mảng hậu tố nâng cao hoặc cây

hậu tố

52
5.2.2 Nhận diện motif bằng mảng hậu tố nâng cao ...................................... 73
5.2.3 Nhận xét chung về phát hiện tất cả các xu hướng thường xuyên của dữ

liệu thời gian 96
CHƯƠNG 6. KẾT LUẬN ................................................................................................. 97
6.1.

ĐÁNH GIÁ KẾT QUẢ ....................................................................................... 97

6.2.

HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI ............................................................... 98

PHỤ LỤC A. BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH – VIỆT ...................................... 1

vii


DANH MỤC HÌNH ẢNH
Hình 1-1 Dữ liệu về giá vàng từ năm 2009 đến 2013 .............................................. 2
Hình 1-2. Xu hướng thường xuyên (repeateing trend) cuả chuỗi thời gian ............ 2
Hình 2-1. Trie hậu tố ................................................................................................ 7
Hình 2-2. Khơng thể xây dựng được Trie với nút lá có nhãn AB ............................ 8
Hình 2-3. Thêm ký tự $ ở cuối mỗi chuỗi ................................................................ 9
Hình 2-4. Trie hậu tố 𝑻 = 𝑩𝑨𝑵𝑨𝑵𝑨$ .................................................................... 9
Hình 2-5. Cây hậu tố cho chuỗi xabxa$ ................................................................. 10
Hình 2-6. Mảng hậu tố theo thứ tự từ điển ............................................................. 11

Hình 2-7 Mảng hậu tố nâng cao của chuỗi S = acaaacatat$ ................................... 15
Hình 2-8 1-interval ................................................................................................. 16
Hình 2-9. Thêm chuỗi xabxa .................................................................................. 17
Bước 2: Thêm chuỗi abxa (hình 2-10) ................................................................... 17
Hình 2-11. Thêm chuỗi bxa .................................................................................... 18
Hình 2-12. Thêm chuỗi ax ...................................................................................... 18
Hình 2-13. Liên kết hậu tố của v tới nút gốc .......................................................... 19
Hình 2-14. Liên kết hậu tố của v tới nút trong ....................................................... 19
Hình 2-15. Cây hậu tố đầy đủ của chuỗi S ............................................................. 20
Hình 2-16 Bước chèn cho trường hợp 1 ................................................................. 21
Hình 2-17. S = axbxacxfs ....................................................................................... 21
Hình 2-18. S = xbxacxfs ......................................................................................... 22
Hình 2-19 Dữ liệu chuỗi thời gian sau khi xấp xỉ từng đoạn. ................................ 23

viii


Hình 2-20 Một chuỗi thời gian được biến đổi PAA rồi mã hóa thành các ký hiệu
SAX. .................................................................................................................................. 25
Hình 2-21 Dữ liệu ECG (điện tâm đồ) ................................................................... 26
Hình 2-22 Dữ liệu ECG sau khi làm nhẵn. ............................................................ 27
Hình 3-1. Những xu hướng giống nhau ................................................................. 30
Hình 3-2. Góc giữa 2 điểm dữ liệu ......................................................................... 31
Hình 3-3. Cây hậu tố .............................................................................................. 32
Hình 3-4. Motif trong dữ liệu chuỗi thời gian ........................................................ 34
Hình 3-5. Trùng khớp tầm thường của chuỗi con C .............................................. 35
Hình 3-6. Dữ liệu sau khi xử lý qua phương pháp PPA và SAX ........................... 35
Hình 3-7. Mã hóa dữ liệu chuỗi thời gian .............................................................. 36
Hình 3-8. Kết quả ma trận đụng độ khi chon cột {1, 2} làm mặt nạ ..................... 37
Hình 3-9. Kết quả ma trận đụng độ khi chọn cột {2, 4} làm mặt nạ ..................... 37

Hình 3-10. Dữ liệu chuỗi thời gian ........................................................................ 38
Hình 4-1 Dữ liệu sau khi làm nhẵn. ....................................................................... 43
Hình 4-2 Mơ hình tìm kiếm tất cả các xu hướng thuường xuyên trong dữ liệu chuỗi
thời gian ............................................................................................................................. 44
Hình 4-3 Xấp xỉ bằng PAA. ................................................................................... 46
Hình 4-4 Rời rạc hóa dữ liệu bằng SAX ................................................................ 47
Hình 4-5 Sơ đồ của quá trình tìm kiếm tất cả các motif trên dữ liệu chuỗi thời gian
........................................................................................................................................... 48
Hình 5-1 Dữ liệu ECG (điện tâm đồ) với kích thước 2500 điểm ........................... 53
Hình 5-2 Dữ liệu ECG sau khi làm nhẵn ............................................................... 54

ix


Hình 5-3 Sau khi thực hiện mảng hậu tố nâng cao ................................................ 55
Hình 5-4 Sau khi thực hiện mảng hậu tố nâng cao với phương pháp PLA ........... 55
Hình 5-5 Dữ liệu ECG với kích thước 10000 điểm ............................................... 57
Hình 5-6 Dữ liệu ECG sau khi làm nhẵn ............................................................... 57
Hình 5-7 Sau khi thực hiện mảng hậu tố nâng cao ................................................ 58
Hình 5-8 Sau khi thực hiện mảng hậu tố nâng cao với phương pháp PLA ........... 58
Hình 5-9 Dữ liệu Memory với kích thước 6873 điểm ........................................... 60
Hình 5-10 Dữ liệu Memory sau khi làm nhẵn........................................................ 60
Hình 5-11 Sau khi thực hiện mảng hậu tố nâng cao .............................................. 61
Hình 5-12 Sau khi thực hiện mảng hậu tố nâng cao với phương pháp PLA ......... 61
Hình 5-13 Dữ liệu power_data với kích thước 7926 điểm..................................... 63
Hình 5-14 Dữ liệu power_data sau khi làm nhẵn ................................................... 64
Hình 5-15 Sau khi thực hiện mảng hậu tố nâng cao .............................................. 64
Hình 5-16 Sau khi thực hiện mảng hậu tố nâng cao với phương pháp PLA ......... 65
Hình 5-17 Dữ liệu koski_ecg (Điện tâm đồ) với kích thước 9125 điểm ............... 66
Hình 5-18 Dữ liệu koski_ecg sau khi làm nhẵn ..................................................... 67

Hình 5-19 Sau khi thực hiện mảng hậu tố nâng cao .............................................. 67
Hình 5-20 Sau khi thực hiện mảng hậu tố nâng cao với phương pháp PLA ......... 68
Hình 5-21 Dữ liệu eeg (điện não đồ) với kích thước 2477 điểm ........................... 69
Hình 5-22 Dữ liệu eeg sau khi làm nhẵn ................................................................ 70
Hình 5-23 Sau khi thực hiện mảng hậu tố .............................................................. 70
Hình 5-24 Sau khi thực hiện mảng hậu tố nâng cao với phương pháp PLA ......... 71
Hình 5-25 Dữ liệu ECG (điện tâm đồ) với kích thước 2500 điểm ......................... 74

x


Hình 5-26 Dữ liệu ECG sau khi làm xấp xỉ gộp từng đoạn ................................... 75
Hình 5-27 Sau khi thực hiện mảng hậu tố nâng cao .............................................. 75
Hình 5-28 Sau khi thực hiện mảng hậu tố nâng cao với phương pháp PAA ......... 75
Hình 5-29 Sau khi thực hiện với phương pháp brute force .................................... 76
Hình 5-30 Dữ liệu ECG (điện tâm đồ) với kích thước 10000 điểm ....................... 77
Hình 5-31 Dữ liệu ECG sau khi xấp xỉ gộp từng đoạn .......................................... 78
Hình 5-32 Sau khi thực hiện mảng hậu tố nâng cao .............................................. 78
Hình 5-33 Sau khi thực hiện mảng hậu tố nâng cao với phương pháp PAA ......... 79
Hình 5-34 Sau khi thực hiện với phương pháp brute force .................................... 79
Hình 5-35 Dữ liệu Memory với kích thước 6873 điểm ......................................... 81
Hình 5-36 Dữ liệu Memory sau khi xấp xỉ gộp từng đoạn .................................... 81
Hình 5-37 Sau khi thực hiện mảng hậu tố nâng cao .............................................. 82
Hình 5-38 Sau khi thực hiện mảng hậu tố nâng cao với phương pháp PAA ......... 82
Hình 5-39 Sau khi thực hiện với phương pháp brute force .................................... 83
Hình 5-40 Dữ liệu power_data với kích thước 7926 điểm..................................... 84
Hình 5-41 Dữ liệu power_data sau khi xấp xỉ gộp từng đoạn ............................... 85
Hình 5-42 Sau khi thực hiện mảng hậu tố nâng cao .............................................. 85
Hình 5-43 Sau khi thực hiện mảng hậu tố nâng cao với phương pháp PAA ......... 86
Hình 5-44 Sau khi thực hiện với phương pháp brute force .................................... 86

Hình 5-45 Dữ liệu koski_ecg với kích thước 9125 điểm ....................................... 88
Hình 5-46 Dữ liệu koski_ecg sau khi xấp xỉ gộp từng đoạn .................................. 88
Hình 5-47 Sau khi thực hiện mảng hậu tố nâng cao .............................................. 89
Hình 5-48 Sau khi thực hiện mảng hậu tố nâng cao với phương pháp PAA ......... 89

xi


Hình 5-49 Sau khi thực hiện với phương pháp brute force .................................... 90
Hình 5-50 Dữ liệu eeg với kích thước 2477 điểm .................................................. 92
Hình 5-51 Dữ liệu eeg sau khi xấp xỉ gộp từng đoạn............................................. 92
Hình 5-52 Sau khi thực hiện mảng hậu tố nâng cao .............................................. 93
Hình 5-53 Sau khi thực hiện mảng hậu tố nâng cao với phương pháp PAA ......... 93
Hình 5-54 Sau khi thực hiện với phương pháp brute force .................................... 94

xii


DANH MỤC BẢNG
Bảng 3-1 Bảng ánh xạ dữ liệu từ giá trị thành ký tự .............................................. 39
Bảng 5-1 Tóm tắt các thông số đầu vào cho các bộ dữ liệu ................................... 53
Bảng 5-2 Các thông số của bộ dữ liệu ECG 2500 điểm......................................... 54
Bảng 5-3 Kết quả các mẫu xu hướng tìm được và thời gian chạy bộ dữ liệu ECG
(2500 điểm)........................................................................................................................ 55
Bảng 5-4 Các thông số của bộ dữ liệu ECG 10000 điểm....................................... 57
Bảng 5-5 Kết quả mẫu xu hướng tìm được và thời gian chạy bộ dữ liệu ECG (10000
điểm) .................................................................................................................................. 59
Bảng 5-6 Các thông số của bộ dữ liệu Memory 6873 điểm ................................... 60
Bảng 5-7 Kết quả mẫu xu hướng tìm được và thời gian chạy bộ dữ liệu Memory
(6873 điểm)........................................................................................................................ 62

Bảng 5-8 Các thông số của bộ dữ liệu power_data ................................................ 63
Bảng 5-9 Kết quả mẫu xu hướng tìm được và thời gian chạy bộ dữ liệu power_data
(6873 điểm)........................................................................................................................ 65
Bảng 5-10 Các thông số của bộ dữ liệu koski_ecg ................................................ 66
Bảng 5-11 Kết quả mẫu xu hướng tìm được và thời gian chạy bộ dữ liệu koski_ecg
(9125 điểm)........................................................................................................................ 68
Bảng 5-12 Các thông số của bộ dữ liệu eeg ........................................................... 70
Bảng 5-13 Kết quả mẫu xu hướng tìm được và thời gian chạy bộ dữ liệu eeg (2477
điểm) .................................................................................................................................. 71
Bảng 5-14 Tóm tắt kết quả tìm kiếm tất cả các xu hướng thường xuyên .............. 72
Bảng 5-15 Tóm tắt các thơng số đầu vào cho các bộ dữ liệu ................................. 73
Bảng 5-16 Các thông số của bộ dữ liệu ECG......................................................... 74

xiii


Bảng 5-17 Kết quả motif tìm được và thời gian chạy bộ dữ liệu ECG (2500 điểm)
........................................................................................................................................... 76
Bảng 5-18 Các thông số của bộ dữ liệu ECG 10000 điểm..................................... 77
Bảng 5-19 Kết quả motif tìm được và thời gian chạy bộ dữ liệu ECG (10000 điểm)
........................................................................................................................................... 79
Bảng 5-20 Các thông số của bộ dữ liệu Memory 6873 điểm ................................. 81
Bảng 5-21 Kết quả motif tìm được và thời gian chạy bộ dữ liệu Memory (6873
điểm) .................................................................................................................................. 83
Bảng 5-22 Các thông số của bộ dữ liệu power_data .............................................. 84
Bảng 5-23 Kết quả motif tìm được và thời gian chạy bộ dữ liệu power_data (7926
điểm) .................................................................................................................................. 86
Bảng 5-24 Các thông số của bộ dữ liệu Memory 6873 điểm ................................. 88
Bảng 5-25 Kết quả motif tìm được và thời gian chạy bộ dữ liệu koski_ecg (9125
điểm) .................................................................................................................................. 90

Bảng 5-26 Các thông số của bộ dữ liệu eeg 2477 điểm ......................................... 92
Bảng 5-27 Kết quả motif tìm được và thời gian chạy bộ dữ liệu eeg (2477 điểm)
........................................................................................................................................... 94
Bảng 5-28 Tóm tắt kết quả tìm kiếm tất cả motif .................................................. 95

xiv


Tìm tất cả các xu hướng thường xuyên trong dữ liệu chuỗi thời gian | Đỗ Duy Quốc

CHƯƠNG 1. GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI

Phần đầu của chương giới thiệu sơ lược về đề tài sẽ thực hiện những gì, tại sao lại
thực hiện và thực hiện như thế nào. Một số khái niệm cơ bản được giới thiệu sơ lược trong
chương này như: Dữ liệu chuỗi thời gian, xu hướng thường xuyên trong dữ liệu chuỗi thời
gian.
Phần thứ hai giới thiệu sơ lược về mục tiêu và phạm vi nghiên cứu.
Phần cuối của chương sẽ trình bày tổng quan về cấu trúc tổng thể của toàn bộ luận
văn.
1.1 GIỚI THIỆU ĐỀ TÀI
Trong thời đại bùng nổ thông tin hiện nay, rất nhiều lĩnh vực kinh tế, xã hội như
giáo dục, y tế, thương mại… đều sử dụng công nghệ thông tin nhằm đáp ứng việc khai thác
và quản lý các thông tin, dữ liệu một cách hiệu quả. Việc dự báo và đưa ra các quyết định
từ một khối dữ liệu đã được lưu trữ ngày càng được quan tâm và tập trung nghiên cứu, từ
đó các ứng dụng công nghệ thông tin hỗ trợ việc dự báo và đưa ra quyết định trong thời
gian cho phép đã ra đời và đang ngày càng phát triển không ngừng nhằm tăng độ chính xác
và tốc độ xử lý. Điển hình trong các ứng dụng là những ứng dụng trong khai phá dữ liệu
chuỗi thời gian (Time series Data mining). Chuỗi thời gian là một dãy số của các số thực,
biểu diễn các giá trị của một đại lượng nào đó được ghi nhận theo tuần tự thời gian. Ví dụ:
số lượng sản phẩm bán ra của một công ty hằng năm, tỉ lệ bệnh nhân mắc bệnh HIV trong

những thập niên gần đây, giá vàng hăng năm (hình 1-1), lượng mưa hay hạn hán hằng năm.

Trang 1


Tìm tất cả các xu hướng thường xuyên trong dữ liệu chuỗi thời gian | Đỗ Duy Quốc

Hình 1-1 Dữ liệu về giá vàng từ năm 2009 đến 2013

Trong những năm gần đây, có rất nhiều cơng trình nghiên cứu về việc phát hiện
ra xu hướng thường xuyên (frequent trend), tức là một đoạn trong một chuỗi thời gian
xuất hiện lặp đi lặp lại (hình 1-2). Việc phát hiện ra xu hướng thường xuyên như vậy
có rất nhiều ứng dụng trong thực tiễn như dự đoán tăng giảm giá vàng hay giá cổ phiếu.
Ví dụ: trong trường hợp dự báo lượng mưa quan sát được trong hằng năm ở miền nam
bộ, vào những tháng đầu của năm hầu như không có mưa, và có mưa to vào những
tháng 7, 8, 9 và kết thúc vào tháng 10.

Hình 1-2. Xu hướng thường xuyên (repeateing trend) cuả chuỗi thời gian
Trang 2


Tìm tất cả các xu hướng thường xuyên trong dữ liệu chuỗi thời gian | Đỗ Duy Quốc
Hiện nay có nhiều thuật toán để phát hiện xu hướng trong chuỗi thời gian như
Indyk [1] nghiên cứu các vấn đề xác định xu hướng trong chuỗi thời gian, Qu [2] trình
bày một cách tiếp cận để hỗ trợ tìm kiếm xu hướng trong dữ liệu chuỗi thời gian và giải
thuật chiếu ngẫu nhiên để phát hiện motif trên dữ liệu chuỗi thời gian dựa vào xác xuất.
Cậy hậu tố (suffix tree) là một trong những cấu trúc dữ liệu biểu diễn các hậu
tố của một chuỗi ký tự, là một trong những phương pháp giúp tìm kiếm tất cả các chuỗi
con trong một chuỗi và được ứng dụng để tìm kiếm tất cả các xu hướng thường xuyên
trong dữ liệu chuỗi thời gian bằng cách mã hóa sự tăng giảm giá trị của dữ liệu trong

từng điểm thời gian thành một chuỗi ký tự.
1.2 MỤC TIÊU VÀ GIỚI HẠN ĐỀ TÀI
Mục tiêu nghiên cứu đề tài tập trung vào các vấn đề sau:
 Nghiên cứu dữ liệu chuỗi thời gian.
 Nghiên cứu về cách mã hóa xu hướng của dữ liệu thành ký tự.
 Nghiên cứu về cây hậu tố, mảng hậu tố và các vấn đề liên quan.
 Nghiên cứu việc áp dụng mảng hậu tố nâng cao để tìm tất cả các xu hướng
thường xuyên và motif trong dữ liệu chuỗi thời gian.
 So sánh kết quả của phương pháp nêu trên với kết quả của cây hậu tố và giải
thuật brute force
1.3 NHỮNG KẾT QUẢ ĐẠT ĐƯỢC
Thông qua q trình nghiên cứu và thực nghiệm chúng tơi đã có được một số kết
quả mong đợi như sau:
 Mảng hậu tố nâng cao và cây hậu tố rất hữu hiệu cho việc tìm kiếm tất cả các
mẫu xu hướng thường xuyên và motif trong dữ liệu chuỗi thời gian mà không
xác đinh độ dài của chúng.
 Thiết lập mối liên hệ giữa bài toán “phát hiện mẫu xu hướng thường xuyên”
trên dữ liệu chuỗi thời gian với bài toán “phát hiện motif” trên dữ liệu chuỗi
thời gian.
Trang 3


Tìm tất cả các xu hướng thường xuyên trong dữ liệu chuỗi thời gian | Đỗ Duy Quốc
 Chúng tôi cũng đã xây dựng được sự kết hợp mảng hậu tố nâng cao, cây hậu
tố với phương xấp xỉ tuyến tính từng đoạn (PLA) để phát hiện tất cả các mẫu
xu hướng thường xuyên và phương pháp xấp xỉ gộp từng đoạn (PAA) để phát
hiện tất cả các motif với độ dài khác nhau trên dữ liệu chuỗi thời gian.
1.4 CẤU TRÚC CỦA LUẬN VĂN
Đề cương được chia thành 6 phần chính như sau:
CHƯƠNG 1. GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI

Chương này giới thiệu sơ lược về đề tài, mục tiêu và phạm vi nghiên cứu
cũng như cấu trúc của đề tài.
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
Chương này trình bày chi tiết về các vấn đề lý thuyết sẽ được áp dụng trong
đề tài như: dữ liệu chuỗi thời gian, cây hậu tố, mảng hậu tố, mảng hậu tố
nâng cao, mã hóa dữ liệu chuỗi thời gian thành chuỗi xu hướng.
CHƯƠNG 3. NHỮNG CƠNG TRÌNH LIÊN QUAN
Chương này trình bày một số cơng trình nghiên cứu liên quan đến đề tài như
cơng trình phát hiện tất cả các xu hướng thường xun trong dữ liệu chuỗi
thời gian, cơng trình phát hiện motif trên dữ liệu chuỗi thời gian dựa vào xác
xuất, và cơng trình về truy vấn hình dạng dữ liệu chuỗi thời gian.
CHƯƠNG 4. PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ
Chương này trình bày về việc sử dụng mảng hậu tố nâng cao, cây hậu tố cùng
với phương pháp xấp xỉ tuyến tính từng đoạn để phát hiện tất cả các mẫu xu
hướng thường xuyên và phương pháp xấp xỉ gộp từng đoạn để phát hiện tất
cả các motif trong dữ liệu chuỗi thời gian
CHƯƠNG 5. THỰC NGHIỆM VÀ ĐÁNH GIÁ

Trang 4


Tìm tất cả các xu hướng thường xuyên trong dữ liệu chuỗi thời gian | Đỗ Duy Quốc
Chương này trình bày thực nghiệm, đánh giá độ chính xác và thời gian thực
hiện để phát hiện tất cả các mẫu xu hướng và phát hiện tất cả các motif bằng
mảng hậu tố nâng cao và cây hậu tố trong dữ liệu chuỗi thời gian.
CHƯƠNG 6. KẾT LUẬN
Chương này đánh giá kết quả đạt được, các mặt hạn chế và hướng phát triển
của đề tài.

Trang 5



Tìm tất cả các xu hướng thường xuyên trong dữ liệu chuỗi thời gian | Đỗ Duy Quốc

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

Chương này sẽ trình bày về các cơng trình liên quan đến bài tốn tìm tất cả các xu
hướng thường xuyên trong dữ liệu chuỗi thời gian, các cơng trình về cây hậu tố, mảng hậu
tố, mảng hậu tố nâng cao, phương pháp thu giảm số chiều, phương pháp rời rạc hóa dữ
liệu.
2.1 DỮ LIỆU CHUỖI THỜI GIAN
Một chuỗi thời gian (Time Series) chiều dài 𝑚 là một tập hợp có thứ tự gồm 𝑚 giá
trị thực. Ta ký hiệu chuỗi thời gian là 𝑇 = 𝑥1 , 𝑥2 , … , 𝑥𝑚 với 𝑥𝑖 là các số thực, 𝑚 là một số
nguyên.
Việc xác định các xu hướng thường xuyên của một chuỗi thời rất quan trọng trong
bài tốn dự báo chuỗi thời gian. Nó giúp ta lựa chọn được mơ hình dự báo phù hợp hay
giúp cải tiến mơ hình đã có chính xác hơn. Và các mẫu quan sát được theo thời gian dựa
trên các chuỗi thời gian chính là cơ sở để hiểu được đặc tính cũng như là dự báo các hành
vi tương lai của đối tượng đó.
Chuỗi con (𝑠𝑢𝑏𝑠𝑒𝑞𝑢𝑒𝑛𝑐𝑒) 𝐶 có chiều dài 𝑛 của một chuỗi thời gian 𝑇 có chiều dài
𝑚 (𝑚 ≤ 𝑛) là một đoạn các giá trị liên tục nằm trong T. Ta ký hiệu
𝐶 = 𝑥 𝑝 , 𝑥𝑝+1 , … , 𝑥𝑝+𝑛−1 , với 1 ≤ 𝑝 ≤ 𝑚 − 𝑛 + 1.
2.2 CÂY HẬU TỐ
Cho ∑ là một tập hữu hạn các phần tử, với mỗi phần tử là một ký tự trong tập ký tự
(𝑎𝑙𝑝ℎ𝑎𝑏𝑒𝑡), các phần tử thuộc ∑ gọi là ký tự. ∑* là một tập hợp con của ∑ mà không chứa
chuỗi rỗng (∈). Ta có:
∑∗ = ∑ − {∈}
Chiều dài của một chuỗi 𝑥 ký hiệu là |𝑥 |, là số ký tự trong chuỗi 𝑥. Các ký trong
chuỗi 𝑥 được đánh số từ 0 đến|𝑥| – 1:=𝑥 = 𝑥0 𝑥1 𝑥2 … 𝑥|𝑥|−1
Trang 6



Tìm tất cả các xu hướng thường xuyên trong dữ liệu chuỗi thời gian | Đỗ Duy Quốc
Gọi chuỗi 𝑤 là tiền tố của chuỗi 𝑥, ký hiệu 𝑤 ⊏ 𝑥, nếu tồn tại chuỗi 𝑎 để 𝑥 = 𝑤𝑎,
chuỗi 𝑤 là hậu tố của chuỗi 𝑥, ký hiệu 𝑤 ⊐ 𝑥, nếu tồn tại chuỗi 𝑎 để 𝑥 = 𝑎𝑤. Một chuỗi
vừa có thể là tiền tố vừa là hậu tố của một chuỗi khác. Ví dụ chuỗi XYX vừa là tiền tố vừa
là hậu tố của chuỗi XYXYX. Chuỗi rỗng (∈) vừa là tiền tố vừa là hậu tố của tất cả các
chuỗi.

Trie hậu tố
Cho 𝑆 là một tập hợp gồm 𝑛 chuỗi, các chuỗi này không là tiền tố của nhau. Trie là
một cấu trúc dữ liệu dạng cây (hình 2-1) biểu diễn các chuỗi của 𝑆. Trie có các tính chất
sau:
 Mỗi cạnh của Trie có nhãn là một ký tự. Các cạnh đi từ một nút xuống các nút con
có nhãn khác nhau.
 Mỗi nút trên Trie cũng có một nhãn, ký hiệu 𝑣̅ là chuỗi tạo thành bằng cách nối các
ký tự nhãn của cạnh trên đường đi trừ nút gốc xuống nút con. Chiều dài của chuỗi
𝑣̅ được gọi là độ sâu của nút, ký hiệu: 𝑑𝑒𝑝𝑡ℎ(𝑣).
 Hai nút khác nhau có nhãn khác nhau
Ví dụ Trie hậu tố: 𝑆 = {𝐵𝐸𝐴𝑅, 𝐵𝐸𝐿𝐿, 𝐵𝐼𝐷, 𝐵𝑈𝐿𝐿, 𝐵𝑈𝑌, 𝑆𝐸𝐿𝐿, 𝑆𝑇𝑂𝐶𝐾, 𝑆𝑇𝑂𝑃}.

Hình 2-1. Trie hậu tố
Trang 7


Tìm tất cả các xu hướng thường xuyên trong dữ liệu chuỗi thời gian | Đỗ Duy Quốc
Các chuỗi trong tập 𝑆 phải thỏa mãn tính chất phi tiền tố (prefix-free): tức là khơng
có chuỗi nào là tiền tố của một chuỗi khác trong 𝑆. Không thể xây dựng được cây khơng
thỏa mãn tính chất trên. Ví du: 𝑆 = {ABC, AB}, ta không thể xây dựng được trie hậu tố vì
từ nút góc đến các nút lá của Trie ta lần lượt đi qua các nút có nhãn A, AB, ABC. Vì AB

∈ 𝑆 nên ta phải có nút lá của Trie mang nhãn AB, mà ta đã có nhánh của Trie có nhãn AB,
nên khơng thể xây dựng được nút lá có nhãn AB (hình 2.-2)

Hình 2-2. Khơng thể xây dựng được Trie với nút lá có nhãn AB
Tính chất phi tiền tố là một tính chất quan trọng của cây Trie. Để đảm bảo ta ln
có thể xây dựng được cây Trie, ta dùng một kỹ thuật là bổ sung vào mỗi chuỗi của 𝑆 một
ký tự $ ở cuối mỗi chuỗi (hình 2-3)
Cho 𝑆 là một tập chứa các hậu tố của 1 chuỗi 𝑇 (𝑇 ∈ ∑∗ ) được gọi là Trie hậu tố
của T (hình 2-4). Để thỏa mãn tính chất phi tiền tố, ta thêm vào cuối mỗi phần tử của S ký
tự $. Ví dụ: 𝑇 = BANANA$, ta có tập S gồm 7 chuỗi:

𝑆 = {BANANA$, ANANA$, NANA$, ANA$, NA$, A$, $}

Trang 8


×