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

Nhận dạng chuỗi con bất thường nhất 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.18 MB, 98 trang )

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

HUỲNH THỊ THU THỦY

NHẬN DẠNG
CHUỖI CON BẤT THƯỜNG NHẤT
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 2009


CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

Cán bộ hướng dẫn khoa học : PGS. TS. Dương Tuấn Anh ---------------------------

Cán bộ chấm nhận xét 1 : PGS. TS. Đỗ Phúc-------------------------------------------

Cán bộ chấm nhận xét 2 : TS. Võ Thị Ngọc Châu -------------------------------------

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 08 tháng 03 năm 2010.


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

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

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ và tên học viên : Huỳnh Thị Thu Thủy-----Giới tính : Nam …/ Nữ ; --------Ngày, tháng, năm sinh : 11/12/1974 ------------Nơi sinh : TP HCM ---------------Chuyên ngành : Khoa học Máy tính ----------------------------------------------------Khố : 2007---------------------------------------------------------------------------------1- TÊN ĐỀ TÀI :
NHẬN DẠNG CHUỖI CON BẤT THƯỜNG NHẤT TRONG TẬP DỮ LIỆU
CHUỖI THỜI GIAN
2- NHIỆM VỤ LUẬN VĂN :
- Tìm hiểu các cơng trình liên quan như: Các phương pháp thu giảm số chiều,
các phương pháp rời rạc hóa dữ liệu, các phương pháp nhận dạng chuỗi con bất thường
nhất.

- Cải tiến giải thuật chân phương của nhóm Keogh, cải tiến giải thuật tìm chuỗi
con bất đồng trên đĩa của nhóm Yankov. Hiện thực các giải thuật chân phương của
nhóm Keogh, giải thuật thuật tìm chuỗi con bất đồng trên đĩa của nhóm Yankov và
những giải thuật đã được cải tiến.
3- NGÀY GIAO NHIỆM VỤ : 05/09/2008 ------------------------------------------4- NGÀY HOÀN THÀNH NHIỆM VỤ : 30/11/2009 -----------------------------5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN : PGS. TS. Dương Tuấn Anh -------Nội dung và đề cương Luận văn thạc sĩ đã được Hội Đồng Chun Ngành thơng
qua.
CÁN BỘ HƯỚNG DẪN

CN BỘ MƠN

(Học hàm, học vị, họ tên và chữ ký)

QL CHUYÊN NGÀNH

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



Nhận dạng chuỗi con bất thường nhất 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 21 tháng 11 năm 2009
Huỳnh Thị Thu Thủy

Huỳnh Thị Thu Thủy

i


Nhận dạng chuỗi con bất thường nhất 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 q trình học cao học và tạo mọi
điều kiện để tơi có thể hồn thành luận văn này.
Tơi cũng xin cảm ơn gia đình đã độ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 tất cả những người thân trong gia đình tơi. Tơi xin hứa sẽ tiếp
tục cố gắng phấn đấu để vươn cao hơn nữa.

Huỳnh Thị Thu Thủy


ii


Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian

TĨM TẮT
Bài tốn tìm kiếm chuỗi dữ liệu thời gian bất thường ngày càng được nhiều nhà
nghiên cứu quan tâm. Với sự xuất hiện 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 chuỗi con bất thường trong dữ liệu chuỗi thời gian 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 chuỗi con bất thường nhất trên dữ liệu
chuỗi thời gian có kích thước lớn hàng terabyte. 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 tìm kiếm chuỗi con bất
thường nhất.
Chúng tôi sử dụng khoảng cách Euclid làm độ đo tương tự giữa các chuỗi con trên
dữ liệu chuỗi thời gian và đề ra giải pháp để tìm kiếm chuỗi con bất thường nhất
trên dữ liệu chuỗi thời gian có dung lượng hàng terabyte chứa trên đĩa cứng. Ngồi
ra chúng tơi cịn đề nghị một giải pháp tìm chuỗi con bất thường nhất mà không cần
tạo tập cơ sở dữ liệu để chứa các chuỗi con. Giải pháp này có ưu điểm là không cần
tạo tập cơ sở dữ liệu chứa chuỗi con nên không tốn nhiều dung lượng đĩa.
Qua việc thực nghiệm trên nhiều bộ dữ liệu mẫu cho thấy, những kỹ thuật tìm kiếm
chuỗi con bất thường mà chúng tơi đề nghị đều hiệu quả trên dữ liệu có dung lượng
từ vài kilobyte đến dữ liệu có dung lượng lớn hàng terabyte.

Huỳnh Thị Thu Thủy

iii



Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian

ABSTRACT
The problem of finding unusual time series has recently attracted much attention.
With the increasing amount of time-series data in many application, from financial
to scientific, it is important to study methods of finding the most unusual
subsequence in Time series effciently and user friendly for business decission
making.
The thesis proposes method of efficient finding the most unusual subsequence in
multi-terabyte time series. Two kinds of the methods, similarity measures and
finding the most unusual subsequence techniques, are designed and implemented.
We use Euclidean distance as the basis for similarity measurement on subsequences
in time-series data and design an innovative finding technique which detects the
most subsequences in multi-terabyte time series. Moreover we propose a method of
finding the most unusual subsequence that do not create a file of subsequences
database. The advantage of this method is the file of subsequences database must
not be created, so can save disk space.
The experiments show that the finding unusual subsequence techniques we propose
are also efficient with multi-kilobyte data to multi-terabyte.

Huỳnh Thị Thu Thủy

iv


Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian

MỤC LỤC
LỜI CAM ĐOAN .......................................................................................................... i
LỜI CẢM ƠN............................................................................................................... ii

TĨM TẮT.................................................................................................................... iii
ABSTRACT................................................................................................................. iv
MỤC LỤC .....................................................................................................................v
DANH MỤC HÌNH .................................................................................................... ix
DANH MỤC BẢNG .................................................................................................. xi
Chương 1: GIỚI THIỆU ................................................................................................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 nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi
thời gian .........................................................................................................................2
1.3. Mục tiêu và giới hạn của đề tài ...............................................................................3
1.4. Tóm lược kết quả đạt được .....................................................................................5
1.5. Cấu trúc của luận văn..............................................................................................6
Chương 2: Cơ sở lý thuyết.............................................................................................7
2.1. Dữ liệu chuỗi thời gian ...........................................................................................7
2.2. Độ đo tương tự .......................................................................................................8
2.2.1. Độ đo Minkowski ................................................................................................8
2.2.2. Phương pháp xoắn thời gian động .....................................................................10
2.3. Thu giảm số chiều.................................................................................................11
2.4. Rời rạc hóa dữ liệu................................................................................................13
2.5. Nhận dạng bất thường ..........................................................................................14

Huỳnh Thị Thu Thủy

v


Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian

Chương 3: NHỮNG CƠNG TRÌNH LIÊN QUAN ....................................................16
3.1. Các phương pháp thu giảm số chiều.....................................................................16

3.1.1. Phương pháp biến đổi Fourier rời rạc ................................................................16
3.1.2. Phương pháp biến đổi Wavelet rời rạc ..............................................................17
3.1.3. Phương pháp phân rã giá trị riêng......................................................................18
3.1.4. Phương pháp xấp xỉ gộp từng đoạn ...................................................................19
3.2. Các phương pháp rời rạc hóa dữ liệu....................................................................19
3.2.1. Phương pháp xấp xỉ gộp ký hiệu hóa.................................................................20
3.2.2. Phương pháp rời rạc hóa dựa trên góc nghiêng .................................................21
3.2.3. Phương pháp xấp xỉ gộp ký hiệu hóa khả chỉ mục ............................................22
3.3. Các phương pháp nhận dạng chuỗi con bất thường nhất..................................... 22
3.3.1. Phương pháp HOT SAX ....................................................................................23
3.3.2. Phương pháp biến đổi wavelet và sử dụng cây gia tố........................................25
3.3.3. Phương pháp cửa sổ thích nghi..........................................................................26
3.3.4. Phương pháp phát hiện chuỗi con bất đồng trên đĩa..........................................27
3.3.5. Các phương pháp nhận dạng bất thường khác...................................................29
Chương 4: CẢI TIẾN PHƯƠNG PHÁP PHÁT HIỆN CHUỖI CON BẤT THƯỜNG
NHẤT TRÊN ĐĨA.......................................................................................................31
4.1. Các khái niệm dùng trong nhận dạng chuỗi bất thường .......................................31
4.1.1. Dữ liệu chuỗi thời gian ......................................................................................31
4.1.2. Chuỗi con...........................................................................................................31
4.1.3. Cửa sổ trượt .......................................................................................................31
4.1.4. Hàm tính khoảng cách .......................................................................................32
4.1.5. Sự trùng khớp ....................................................................................................33
4.1.6. Sự trùng khớp không tầm thường ......................................................................33

Huỳnh Thị Thu Thủy

vi


Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian


4.1.7. Chuỗi con bất đồng ............................................................................................33
4.1.8. K chuỗi con bất đồng nhất ................................................................................ 34
4.2. Phương pháp cải tiến giải thuật tìm chuỗi con bất đồng.......................................35
4.3. Phát hiện mới ........................................................................................................47
Chương 5: KẾT QUẢ THỰC NGHIỆM.....................................................................52
5.1. Bộ dữ liệu điện tâm đồ ECG- 218c3_ipnoman.................................................... 53
5.1.1. Bảng tổng kết thời gian thực hiện......................................................................53
5.1.2. Biểu đồ so sánh chi phí CPU và đồ thị biểu diễn chuỗi con bất đồng...............54
5.2. Bộ dữ liệu tỉ giá EURUSD ...................................................................................56
5.2.1. Bảng tổng kết thời gian thực hiện......................................................................56
5.2.2. Biểu đồ so sánh chi phí CPU và đồ thị biểu diễn chuỗi con bất đồng...............57
5.3. Bộ dữ liệu điện năng power_data .........................................................................59
5.3.1. Bảng tổng kết thời gian thực hiện......................................................................59
5.3.2. Biểu đồ so sánh chi phí CPU và đồ thị biểu diễn chuỗi con bất đồng...............60
5.4. Bộ dữ liệu chứng khoán Stock..............................................................................61
5.4.1. Bảng tổng kết thời gian thực hiện......................................................................61
5.4.2. Biểu đồ so sánh chi phí CPU và đồ thị biểu diễn chuỗi con bất đồng...............62
5.5. So sánh giữa giải thuật DADD cải tiến và giải thuật DADD truy xuất những chuỗi con
trực tiếp trên đĩa ...........................................................................................................64
5.5.1. Bộ dữ liệu tỉ giá Eurusd .....................................................................................64
5.5.2. Bộ dữ liệu điện năng power data .......................................................................66
Chương 6: KẾT LUẬN ...............................................................................................69
6.1. Tổng kết ................................................................................................................69
6.2. Đóng góp của đề tài ..............................................................................................70
6.3. Hướng phát triển ...................................................................................................71

Huỳnh Thị Thu Thủy

vii



Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian

THƯ MỤC THAM KHẢO..........................................................................................72
PHỤ LỤC A.................................................................................................................76
A.1. Mã giả cho giải thuật BFDD................................................................................76
A.2. Mã giả cho giải thuật HDD ..................................................................................77
A.3. Hai cấu trúc dữ liệu hỗ trợ cho vòng lặp Inner Loop và Outer Loop trong giải thuật
HDD.............................................................................................................................78
A.4. Mã giả cho giải thuật AWDD ..............................................................................79
PHỤ LỤC B: CHỨNG MINH TÍNH ĐÚNG CỦA GIẢI THUẬT DADD ...............80
PHỤ LỤC C: BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH - VIỆT ..............................82

Huỳnh Thị Thu Thủy

viii


Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian

DANH MỤC HÌNH
Hình 1.1: Minh họa đồ thị biểu diễn dữ liệu chuỗi thời gian.........................................1
Hình 2.1: Minh họa dữ liệu chuỗi thời gian...................................................................7
Hình 2.2: Các trường hợp tính chất của hai chuỗi là giống nhau nhưng giá trị khác nhau thì
khoảng cách hai chuỗi sẽ rất khác nhau.........................................................................9
Hình 2.3: Hai đường biểu diễn giống nhau về hình dạng nhưng lệch nhau về thời gian10
Hình 2.4: Cách tính khoảng cách theo DTW...............................................................11
Hình 2.5: Minh họa các phương pháp thu giảm số chiều DFT, DWT, SVD và PAA.12
Hình 2.6: Minh họa cho phương pháp rời rạc hóa dữ liệu chuỗi thời gian SAX.........13

Hình 3.1: Các phương pháp biểu diễn dữ liệu DFT, DWT, SVD và PAA..................17
Hình 3.2: Phương pháp SAX ...................................................................................... 20
Hình 3.3: Minh họa phương pháp rời rạc hóa dữ liệu dựa trên góc nghiêng...............21
Hình 3.4 Phương pháp biểu diễn dữ liệu iSAX (nguồn 29) ........................................22
Hình 3.5: Kích thước cửa sổ trượt theo chiều dài của 1 nhịp tim................................26
Hình 4.1: Các chuỗi con Ci chiều dài n được trích từ chuỗi thời gian T.....................32
Hình 4.2: Minh họa hình ảnh cửa sổ trượt kích thước n..............................................32
Hình 4.3: Minh họa chuỗi con M là trùng khớp với chuỗi con C................................33
Hình 4.4: Các chuỗi con M là trùng khớp không tầm thường với chuỗi con C và chuỗi con
U không là một chuỗi con trùng khớp khơng tầm thường của C.................................34
Hình 4.5: Minh họa những chuỗi con bất đồng Ci ......................................................35
Hình 4.6: Chuỗi con bất đồng Ci có chiều dài n trong chuỗi thời gian T ...................35
Hình 4.7: Minh họa tập cơ sở dữ liệu tăng dần theo thời gian ...................................39
Hình 4.8: Phân bố khoảng cách đến lân cận gần nhất ứng với hai tập dữ liệu gồm 103 và
104 điểm .....................................................................................................................40

Huỳnh Thị Thu Thủy

ix


Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian

Hình 4.9: Hình ảnh hai tập điểm gồm 1000 điểm và 10000 điểm ..............................41
Hình 4.10: Mã giả cho giải thuật PDD .......................................................................43
Hình 4.11: Minh họa ý tưởng tìm K khoảng cách của K chuỗi bất đồng nhất ...........44
Hình 4.12: Mã giả cho lần quét đĩa thứ 1 (phase 1) của giải thuật DADD .................45
Hình 4.13: Mã giả cho lần quét đĩa thứ 2 (phase 2) của giải thuật DADD .................46
Hình 5.1: Biểu đồ thời gian thực hiện của các giải thuật: DADD dùng PDD, DADD dùng
BFDD chưa cải tiến và giải thuật BFDD của nhóm Keogh.........................................54

Hình 5.2: Biểu diễn các chuỗi con bất đồng tìm được trên bộ dữ liệu điện tâm đồ
ECG_218c3_ipnoman..................................................................................................54
Hình 5.3: Biểu đồ thực nghiệm về chi phí CPU các giải thuật trên bộ dữ liệu tỉ giá Eurusd
.....................................................................................................................................57
Hình 5.4: Biểu diễn kết quả chuỗi con bất đồng trên bộ dữ liệu tỉ giá Eurusd............58
Hình 5.5: Chi phí CPU của các giải thuật trên bộ dữ liệu điện năng power_data .......60
Hình 5.6: Biểu diễn kết quả chuỗi con bất đồng trên bộ dữ liệu điện năng power_data 60
Hình 5.7: Chi phí CPU của giải thuật DADD dùng BFDD chưa cải tiến và DADD dùng
BFDD cải tiến trên bộ dữ liệu chứng khốn Stock .....................................................62
Hình 5.8: Chi phí CPU của giải thuật BFDD của nhóm Keogh và DADD dùng BFDD cải
tiến trên bộ dữ liệu chứng khốn Stock ......................................................................63
Hình 5.9: Biểu diễn kết quả chuỗi con bất đồng trên bộ dữ liệu chứng khốn Stock 63
Hình 5.10: Chi phí CPU của các giải thuật trên bộ dữ liệu tỉ giá Eurusd ...................66
Hình 5.11: Chi phí CPU của các giải thuật trên bộ dữ liệu điện năng power_data ...67

Huỳnh Thị Thu Thủy

x


Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian

DANH MỤC BẢNG
Bảng 3.1: Phân phối Gauss ..........................................................................................21
Bảng 5.1: Kết quả thực nghiệm về chi phí CPU của các giải thuật trên bộ dữ liệu điện tâm
đồ ECG- 218c3_ipnoman ............................................................................................53
Bảng 5.2: Chi phí CPU của các giải thuật trên bộ dữ liệu tỉ giá Eurusd......................56
Bảng 5.3: Chi phí CPU của các giải thuật trên bộ dữ liệu điện năng power_data...... 59
Bảng 5.4: Chi phí CPU của các giải thuật trên bộ dữ liệu chứng khoán Stock ...........61
Bảng 5.5: Chi phí CPU của giải thuật DADD dùng tập dữ liệu chứa chuỗi con và giải thuật

DADD truy xuất trực tiếp đĩa trên bộ dữ liệu tỉ giá Eurusd ........................................64
Bảng 5.6: Chi phí CPU của giải thuật DADD dùng tập dữ liệu chứa chuỗi con và giải thuật
DADD truy xuất trực tiếp đĩa trên bộ dữ liệu điện năng power_data..........................66

Huỳnh Thị Thu Thủy

xi


Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian

Chương 1: GIỚI THIỆU
Chương này giới thiệu tổng quan về dữ liệu chuỗi thời gian, những yêu cầu đòi hỏi
khi nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian và tóm lược
những kết quả đề tài đã thực hiện được.

1.1. Dữ liệu chuỗi thời gian
Dữ liệu chuỗi thời gian (time series data) là dữ liệu về đối tượng nào đó đáng quan
tâm được quan sát và ghi nhận tại những điểm đều nhau trên trục thời gian. Dữ liệu
này thường rất lớn, có thể lên đến hàng tỷ điểm, ví dụ các dữ liệu về tài chính,
chứng khốn, y học, thiên văn, thời tiết, mơi trường, địa lý, … Phân tích những dữ
liệu này là điều rất cần thiết nhằm phục vụ cho việc phân tích thơng tin, hỗ trợ ra
các quyết định,...
Tuy nhiên, do vấn đề về độ lớn của những dữ liệu này nên rất cần sự hỗ trợ của
công cụ máy tính giúp cho việc phân tích được tiến hành nhanh chóng nhằm đạ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 chuỗi thời
gian là một lĩnh vực được nhiều người quan tâm nghiên cứu cả trong lĩnh vực khoa
học máy tính lẫn các lĩnh vực khác.
Phạm vi nghiên cứu của đề tài này tập trung vào dữ liệu chuỗi 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ụ về đồ thị biểu diễn dữ liệu chuỗi thời gian điện tâm đồ.

Hình 1.1: Minh họa đồ thị biểu diễn dữ liệu chuỗi thời gian

Huỳnh Thị Thu Thủy

1


Nhận dạng chuỗi con bất thường nhất trong 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 đồ (ECG) là 1 gigabyte
+ Phụ thuộc vào nhiều yếu tố chủ quan:
Thí dụ, việc xác định chuỗi con bất thường nhất phụ thuộc vào yếu tố chủ quan của
người dùng, tập dữ liệu và tất cả những việc này đều phải thực hiện bằng tay.
+ 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

1.2. Những yêu cầu đòi hỏi phải nhận dạng chuỗi con bất thường nhất
trong dữ liệu chuỗi thời gian
Bài toán nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian là tập
trung vào việc thiết kế một phương pháp tìm kiếm nhanh, chính xác và hiệu quả
chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian với dung lượng lớn hàng
terabyte.
Bài toán tìm kiếm chuỗi con bất thường nhất gần đây đã thu hút rất nhiều sự quan
tâm của giới nghiên cứu. Những lĩnh vực thường quan tâm đến việc tìm kiếm chuỗi
con bất thường như chẩn đoán lỗi (fault diagnostics), phát hiện việc đột nhập

(intrusion detection), và làm sạch dữ liệu (data cleansing). Đặc biệt gần đây bài tốn
tìm kiếm chuỗi con bất thường nhất đang là nhu cầu rất cần thiết cho các nhà phân
tích dữ liệu về tài chính.
Một số ví dụ về nhu cầu xác định chuỗi con bất thường nhất:
Lĩnh vực tài chính:
+ Cần xác định xem thời khoảng nào thị trường chứng khoán thay đổi
đột biến nhất.

Huỳnh Thị Thu Thủy

2


Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian

+ Tìm thời khoảng mà giá vàng tăng hay giảm đột biến nhất.

Lĩnh vực y học:
+ Xác định khoảng nhịp tim nào của bệnh nhân là bất thường nhất và bất
thường như thế nào.
+ Tìm thời khoảng điện não đồ bất thường nhấ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 tháng nào trong q khứ mà lượng mưa nhiều nhất, thấp nhất
+ Tìm những năm khô hạn, mực nước các sông ở mức thấp nhất.
Đối với những lĩnh vực không phải là thời gian, có thể biến đổi từ dữ liệu này sang
dạng dữ liệu chuỗi thời gian. Như các bài toán trong nhận dạng ảnh những chiếc
cánh của côn trùng nào bị lỗi, đoạn video bị nhiễu, hay tìm thao tác thực hành sai
khi huấn luyện bắn súng, ...
Việc tìm được giải thuật nhận dạng chuỗi bất thường nhất sẽ rất hữu ích, vì nó cịn

có thể áp dụng được vào các cơng việc khai phá dữ liệu (data-mining): cải thiện
chất lượng của việc gom cụm (clustering), làm sạch dữ liệu (data cleansing),v.v.

1.3. Mục tiêu và giới hạn của đề tài
Mục tiêu chính của luận văn là xác định chuỗi con bất thường nhất trên dữ liệu
chuỗi thời gian có kích thước lớn hàng terabyte. 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ạo ra một tập tin cơ sở dữ liệu chứa tất cả các chuỗi con và tìm trong tập tin cơ
sở dữ liệu này chuỗi con nào là bất thường nhất.
Chuỗi con bất thường nhất là chuỗi con có khoảng cách lớn nhất so với tất cả các
chuỗi con khác trong chuỗi dữ liệu thời gian. Hình 1.1 minh họa chuỗi con bất
thường nhất là chuỗi con P.
Huỳnh Thị Thu Thủy

3


Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian

Bài toán xác định chuỗi con bất thường nhất là bài tốn tìm kiếm, mà thơng thường
kích thước dữ liệu để tìm kiếm là rất lớn. Vì vậy, đòi hỏi phải sử dụng phương pháp
nào nhằm nâng cao tốc độ tìm kiếm và có thể hiện thực trên dữ liệu lớn hàng
terabyte.
Mặc dù việc tìm kiếm chuỗi con bất thường nhất trong dữ liệu thời gian là quan
trọng, nhưng việc phát hiện chuỗi bất thường đa phần các giải thuật như HOTSAX
[16], WAT (Wavelet Augmented Trie) [5], AWDD (Adaptive window-based
Discord Discovey) [21]… chỉ nghiên cứu trong phạm vi xử lý dữ liệu nội (trong bộ
nhớ chính- main memory), hầu như không được nghiên cứu để xử lý dữ liệu bên
ngoài (trên đĩa – disk), ngoại trừ giải thuật DADD (Disk Aware Discord
Discovery).

Đa số các giải thuật trên đều chứng minh tính hiệu quả của việc phát hiện chuỗi
con bất thường nhất với giả sử là dữ liệu chuỗi thời gian có thể được chứa trọn
trong bộ nhớ chính (main memory). Tuy nhiên, với nhiều ứng dụng thì điều này là
khơng thể.
Ví dụ như dữ liệu về thiên văn, về web logs thì dung lượng dữ liệu có thể lớn đến
hàng terabyte, khó có thể thu giảm đến mức vừa với bộ nhớ được. Ngồi ra, theo
thời gian thì dữ liệu được ghi nhận sẽ ngày càng phình to ra.
Như vậy, trong tất cả những giải thuật nổi tiếng trên thế giới chỉ có giải thuật
DADD (Disk Aware Discord Discovery) là phát hiện chuỗi con bất thường nhất
trong dữ liệu chuỗi thời gian bằng cách tìm trực tiếp trên đĩa. Với cách tìm trực tiếp
trên đĩa sẽ giúp giải quyết được vấn đề khó khăn khi kích thước dữ liệu chuỗi thời
gian nếu có thu nhỏ mà vẫn cịn lớn hơn kích thước bộ nhớ .
Vấn đề cịn lại là giải thuật DADD làm việc có hiệu quả khơng?
Theo giải thuật DADD thì chỉ cần 2 lần quét đĩa tuyến tính sẽ tìm ra được chuỗi con
bất đồng (discord) trong tập cơ sở dữ liệu chứa tất cả các chuỗi con của chuỗi thời
gian ban đầu với một ngưỡng bất đồng cho trước. Độ phức tạp thời gian tính tốn
tuyến tính với dung lượng của dữ liệu chuỗi thời gian trên đĩa.
Huỳnh Thị Thu Thủy

4


Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian

Tuy nhiên giải thuật cần tham số đầu vào là ngưỡng bất đồng r (threshold), đây là
giá trị chặn dưới của khoảng cách từ chuỗi con được xem là bất đồng so với chuỗi
con lân cận gần nhất của nó. Chuỗi Ci được gọi là lân cận gần nhất của một chuỗi
Ck nếu như với mọi chuỗi Cj mà khoảng cách của Ck đối với Ci là lớn nhất so với
khoảng cách của Ck đối với Cj. Theo tác giả của giải thuật DADD, giá trị r này sẽ có
thể tìm được bằng giải thuật WAT(wavelet augmented trie) [5]. Nhưng giải thuật

này hiện thực khá phức tạp nên ứng cử thứ hai được chọn là giải thuật heuristic
(Heuristic Discord Discovery-HDD) của nhóm Keogh [16].
Ban đầu xét thấy giải thuật HDD nhanh hơn giải thuật BFDD, nhưng sau khi hiện
thực chúng tôi đã phát hiện giải thuật HDD áp dụng trên dữ liệu thô ban đầu không
hữu hiệu, lý do dữ liệu cung cấp cho giải thuật HDD là dữ liệu số thực, không phải
là dữ liệu rời rạc hóa thành dạng chuỗi các kí tự nên việc áp dụng heuristic cho các
vòng lặp trong (Inner Loop) và vòng lặp ngồi (Outer Loop) khơng dùng được cấu
trúc cây gia tố (Augment Trie) như tác giả của giải thuật HDD đã đề nghị.
Nên cuối cùng giải thuật chân phương (Brute Force Discord Discovery - BFDD)
của nhóm Keogh [16] đã được chọn để cải tiến lại mà không phải là HDD. Nhưng
giải thuật BFDD này cũng có nhược điểm là phải được thực hiện nhiều lần thì mới
xác định được thơng số r cho giải thuật DADD. Do vậy giải thuật BFDD sẽ cần
phải được cải tiến lại thì mới cải thiện được tốc độ tìm kiếm chuỗi con bất đồng.
Nhiệm vụ của đề tài là cải tiến lại giải thuật BFDD để xác định chuỗi con bất đồng
thứ K, đó là thông số đầu vào cho giải thuật DADD nhằm tìm ra chuỗi con bất đồng
trên tập dữ liệu chuỗi thời gian có dung lượng lớn hàng terabyte.

1.4. Tóm lược 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 đã
đạt được những kết quả sau:
” Xây dựng hệ thống tách dữ liệu chuỗi thời gian ban đầu thành tập cơ sở dữ
liệu bao gồm tất cả các chuỗi con có chiều dài n bằng phương pháp cửa sổ trượt, với

Huỳnh Thị Thu Thủy

5


Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian


n là chiều dài chuỗi con cần tìm. Chiều dài chuỗi con là do người sử dụng nhập vào,
tùy mức độ chi tiết của người sử dụng mong muốn đối với dữ liệu chuỗi thời gian
hoặc tùy theo lĩnh vực ghi nhận các giá trị dữ liệu chuỗi thời gian mà chiều dài này
có thể thay đổi khác nhau.
” Tìm ra một giải thuật xác định chuỗi con bất thường nhất so với tất cả các
chuỗi con khác trong dữ liệu chuỗi thời gian. Giải thuật này có ưu điểm là tìm được
chuỗi con bất đồng trên dữ liệu lớn hàng terabyte với thời gian tìm kiếm rất nhanh.
” Thực nghiệm trên nhiều bộ dữ liệu khác nhau nhằm đo đạc kết quả thực
nghiệm về những chi phí IO, CPU và Memory.
Như vậy, với hệ thống đã hiện thực sẽ được trình bày chi tiết ở những chương sau
đáp ứ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 những phần còn lại của luận văn theo cấu trúc sau đây:
- Chương 2 giới thiệu cơ sở lý thuyết nền tảng liên quan đến lĩnh vực dữ liệu chuỗi
thời gian.
- Chương 3 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 chuỗi con bất thường nhất và được tiến hành ở khía cạnh
đánh giá độ tương tự giữa 2 chuỗi con bất kỳ.
- Chương 4 là bài toán phát hiện chuỗi con bất thường nhất và phương pháp giải
quyết bài toán. Chương 4 trình bày vấn đề đặt ra khi tìm chuỗi con bất thường nhất,
phân tích vấn đề chính mà hệ thống cần phải giải quyết, đó là làm thế nào để tìm
được chuỗi con bất thường nhất trên dữ liệu lớn hàng terabyte với thời gian tìm
nhanh nhất.
- Chương 5 là một số kết quả thực nghiệm.
- Chương 6 là một số kết luận sau khi thực hiện đề tài.

Huỳnh Thị Thu Thủy

6



Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian

Chương 2: CƠ SỞ LÝ THUYẾT
Chương này trình bày một số khái niệm về dữ liệu chuỗi thời gian, những giải pháp
cần thực hiện trước khi giải quyết bài tốn nhận dạng bất thường. Ngồi ra trong
chương này cũng trình bày sơ lược về các độ đo tương tự, điều này hỗ trợ rất nhiều
cho bài toán nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian.

2.1. Dữ liệu chuỗi thời gian
Có rất nhiều lĩnh vực cần phải lưu trữ dữ liệu của các đối tượng được ghi nhận theo
thời gian như tài chính, chứng khốn, web blogs, y học, thiên văn, thời tiết, mơi
trường, địa lý, … Dữ liệu trong những lĩnh vực này thường rất lớn, dung lượng lên
đến hàng terabyte. Hình 2.1 minh họa hình ảnh dữ liệu chuỗi thời gian.

Hình 2.1: Minh họa dữ liệu chuỗi thời gian

Việc xử lý và phân tích những dữ liệu này là điều rất cần thiết nhằm phục vụ cho
việc phân tích thơng tin, hỗ trợ ra các quyết định,... Việc xử lý và phân tích dữ liệu
chuỗi thời gian với dung lượng lớn sẽ rất cần sử dụng đến các phương pháp độ đo
tương tự, thu giảm số chiều và rời rạc hóa dữ liệu. Những phần còn lại trong
chương 2 sẽ giúp hiểu rõ các phương pháp này.

Huỳnh Thị Thu Thủy

7


Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian


2.2. Độ đo tương tự
Để giải quyết các bài toán về dữ liệu chuỗi thời gian cần đo độ tương tự giữa hai
chuỗi bằng cách đo khoảng cách giữa hai chuỗi này. Nếu hai chuỗi hoàn toàn giống
nhau thì khoảng cách bằng khơng. Ngược lại, nếu hai chuỗi càng khác nhau thì
khoảng cách càng lớn. Để có thể thực hiện 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.
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), với D(x,y) là khoảng cách giữa hai chuỗi x và y.
Tính chất này tương tự định lý tổng chiều dài hai cạnh trong một tam giác ln lớn
hơn chiều dài cạnh cịn lại. Sau đây là một số cơng trình về độ đo đã có:
2.2.1. Độ đo Minkowski
Trong phương pháp này thì Sim(X,Y) (độ tương tự giữa X và Y) được định nghĩa như
sau:
n

Sim(X,Y)= p ∑ ( xi − yi ) p
i =1

Trong đó:
p = 1 (Manhattan)
p = 2 (Euclid)
p = ∞ (Max)
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).
Ưu điểm: Độ đo Euclid tính tốn dễ dàng.

Huỳnh Thị Thu Thủy


8


Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian

Nhược điểm: Trường hợp tính chất của hai chuỗi 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 độ đo tương tự giữa hai chuỗi sẽ rất khác nhau (hình 2.2).

Hình 2.2: Các trường hợp tính chất của hai chuỗi là giống nhau nhưng giá trị khác
nhau thì khoảng cách hai chuỗi sẽ rất khác nhau

Khắc phục nhược điểm:
a/. Trước khi áp dụng các giải thuật ta cần thực hiện chuẩn hóa dữ liệu sử dụng
phương pháp giá trị trung bình và độ lệch chuẩn [23], 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
Để dữ liệu có cùng biên độ dao động, ta dùng phép biến đổi:
Q’ = (Q- mean(Q)) / var(Q)
Với mean(Q) là giá trị trung bình của Q và var(Q) là độ chệch chuẩn của Q.
b/. Dùng phương pháp trung bình di chuyển (moving average) [6] để làm trơn các
đường biểu diễn dữ liệu chuỗi thời gian. Với phương pháp này thì Q được biến đổi
thành Q’ - trong đó điểm ở vị trí i bằng trung bình cộng giá trị tại điểm i và k điểm
lân cận.
Huỳnh Thị Thu Thủy

9



Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian

2.2.2. Phương pháp xoắn thời gian động
Trường hợp hai chuỗi cần so sánh có hai đường biểu diễn khơng hồn tồn giống
nhau nhưng hình dạng biến đổi rất giống nhau thì khi so sánh độ tương tự giữa hai
chuỗi bằng cách so sánh từng cặp điểm 1-1 (so điểm thứ i của đường thứ nhất và
điểm thứ i của đường thứ hai) là khơng phù hợp.
Hình 2.3 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. Trong trường hợp này, nếu tính khoảng cách bằng cách ánh xạ 11 giữa hai đường thì kết quả rất khác nhau và có thể dẫn đến kết quả cuối cùng
không giống như mong muốn. Vì vậy, để khắc phục nhược điểm này thì một điểm
có thể ánh xạ với nhiều điểm và ánh xạ này không thẳng hàng. Phương pháp này là
xoắn thời gian động(Dynamic Time Warping - DTW) [3].

Hình 2.3: Hai đường biểu diễn giống nhau về hình dạng nhưng lệch nhau về thời gian

Cách tính DTW:
Cách đơn giản nhất để tính DTW của hai đường X và Y là ta xây dựng ma trận Dm x n
với m = |X| và n= |Y|. Khi đó, Dij = d(xi , yj ).
Sau khi xây dựng ma trận D, ta tìm đường đi từ ô (0,0) đến ô (m,n) thỏa mãn những
ràng buộc sau:
- Không được đi qua trái hay đi xuống
- Đường đi phải liên tục

Huỳnh Thị Thu Thủy

10


Nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian


- Ô (i,j) thuộc đường đi phải thỏa |i - j| <= w
Giả sử có K ơ đi từ ô (0,0) đến ô (m,n) thỏa mãn những điều kiện trên, khi đó:



DTW (Q, C ) = min 




K

∑w
k =1

k

K

Hình 2.4 sẽ minh họa cách tính khoảng cách theo DTW. Tuy nhiên, có thể dùng quy
hoạch động để giải quyết bài tốn này. Với cơng thức truy hồi để tính D(i, j):
D (i, j ) = xi − y i + min{D (i − 1, j ), D (i − 1, j − 1), D (i, j − 1)}

Ưu điểm: Phương pháp DTW hiệu quả hơn phương pháp Euclid
Nhược điểm: Tốn nhiều thời gian thực thi hơn.

Hình 2.4: Cách tính khoảng cách theo DTW

2.3. Thu giảm số chiều
Dữ liệu chuỗi thời gian trong những lĩnh vực cần ghi nhận dữ liệu của các đối tượng

theo thời gian thường có dung lượng rất lớn. Ví dụ như trong lĩnh vực thiên văn
học, chứng khoán, web blog,.. dữ liệu cần lưu trữ theo thời gian có dung lượng lớn
đến hàng terabyte. Việc tìm kiếm trên dữ liệu này là rất phức tạp và không hiệu quả,
hơn nữa cũng không thể nào phân tích nổi dữ liệu lớn hàng terabyte. Vì vậy, vấn đề

Huỳnh Thị Thu Thủy

11


×