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

Phát hiện motif trên time series dựa vào giải thuật của mueen luận văn thạc sĩ ngành khoa học máy tính

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.62 MB, 96 trang )

ABSTRACT
Time series is very popular in many fields such as science and technology,
financial economics, environment in the 4.0 period. In these applications, the motif
detection, or iterative pattern search in time series is necessary for higher tasks such as
clustering, classification, association rule mining, etc. The motif discovery algorithm is
actually an improvement of the query string search algorithm to see if it appears in the
time series? There are many proposed motif algorithms, but the models of the optimal
algorithms include the following algorithms MOEN [2], MASS (Mueen's Algorithm for
Similarity Search) [4], HIME (Hierarchical based Motif Enumeration) [3] based on the
common premise that the method of frequency domain transformation (FFT - Fast
Fourier Tranform) and reduction of dimensional dimensions and multidimensional
spatial index structures. This thesis reviews recent studies using specific extraction
methods for the motif detection algorithm on empirically large time series on all data
sets provided by the authors, issued to check the correctness of all the above algorithms.
Keywords: Time series; Motif discovery; Fast Fourier Tranform; Reduction of
dimensional dimensions; Multidimensional spatial index structures

TÓM TẮT
Dữ liệu chuỗi thời gian được ứng dụng rất phổ biến ở rất nhiều lĩnh vực như khoa học
kỹ thuật, kinh tế tài chính, mơi trường trong thời kỳ 4.0. Trong những ứng dụng này,
việc phát hiện motif hay cịn gọi là tìm mẫu lặp trong dữ liệu chuỗi thời gian là công
việc cần thiết để phục vụ các công việc cao hơn như gom cụm, phân lớp, khai phá luật
kết hợp v.v... Thuật tốn phát hiện motif thực ra nó là sự cải tiến của các thuật tốn tìm
kiếm chuỗi con truy vấn xem có xuất hiện trong dữ liệu chuỗi thời gian? Có rất nhiều
thuật tốn phát hiện motif được đề xuất, nhưng mơ hình của những thuật tốn tối ưu
gồm các thuật toán sau MOEN [2], MASS (Mueen’s Algorithm for Similarity Search)
[4], HIME (Hierarchical based Motif Enumeration) [3] dựa vào các tiền đề chung là
phương pháp biến đổi về miền tần số (FFT – Fast Fourier Tranform) và thu giảm số
chiều và các cấu trúc chỉ mục không gian đa chiều. Trong luận văn này điểm qua các
nghiên cứu mới đây sử dụng các phương pháp rút trích đặc trưng phục vụ cho thuật toán
phát hiện motif trên dữ liệu chuỗi thời gian lớn bằng thực nghiệm trên tất cả các bộ dữ


liệu mà các tác giả cung cấp để kiểm tra tính đúng đắn của tất cà các thuật tốn trên.

Từ khóa: Chuỗi thời gian; phát hiện motif; biến đổi nhanh về miền tần số; thu giảm số
chiều; rời rạc hóa; chỉ mục khơng gian đa chiều.

vi


MỞ ĐẦU .............................................................................................................................................. 13
Giới thiệu về motif chuỗi thời gian .................................................................................... 13

1.0

1.1 Tổng quan về chuỗi thời gian và bài toán phát hiện motif trên dữ liệu chuỗi thời gian. .... 15
1.1.1 Tổng quan về chuỗi thời gian. ............................................................................................... 15
1.1.2

Bài toán phát hiện motif trên dữ liệu chuỗi thời gian. ................................................. 16

1.1

Nội dung nghiên cứu đề tài luận văn ................................................................................. 18

1.2

Mục tiêu, đối tượng và phạm vi nghiên cứu ..................................................................... 18

1.3

Nhiệm vụ và hướng tiếp cận. .............................................................................................. 19


1.4

Kết quả đạt được ................................................................................................................. 20

1.5

Cấu trúc đề tài luận văn ..................................................................................................... 20

Chương 1: CƠ SỞ LÝ THUYẾT VÀ CÁC CƠNG TRÌNH LIÊN QUAN .................................... 21
Cơ sở lý thuyết. .................................................................................................................... 21

1.1

1.1.1 Chuỗi thời gian (Time series) ................................................................................................ 21
1.1.2

Motif trong dữ liệu chuỗi thời gian ................................................................................ 21

1.1.3

Các độ đo tương tự. ......................................................................................................... 25

1.1.3.1 Độ đo Euclide. ...................................................................................................................... 26
1.1.3.2 Độ đo xoắn thời gian động (Dynamic Time Warping - DTW). ........................................... 27
1.1.4

Các phương pháp thu giảm số chiều chuỗi thời gian. .................................................. 29

1.1.5


Phương pháp rời rạc hóa ................................................................................................ 34

1.1.6

Rút trích chuỗi con:......................................................................................................... 35

1.1.7

Cửa sổ trượt(Sliding Window):...................................................................................... 36
Các cơng trình liên quan..................................................................................................... 36

1.2

Chương 2: CÁC THUẬT TOÁN PHÁT HIỆN MOTIF TRÊN DỮ LIỆU CHUỖI THỜI GIAN
............................................................................................................................................................... 39
2.1

Tổng quan về các thuật toán: ................................................................................................. 39

2.2

Thuật toán cơ sở ...................................................................................................................... 40

2.2.1

Phát hiện motif với chiều dài chuỗi thời gian cố định:................................................. 41

2.2.2


Phát hiện motif trên chuỗi thời gian với mọi chiều dài khác nhau: ............................ 44

2.3

Các thuật toán liên quan......................................................................................................... 47

2.4

Biến đổi Haar Wavelet và thuật toán .................................................................................... 49

2.5

SAX (Symbolic Aggregate Approximation) .......................................................................... 51

2.6

List Package:............................................................................................................................ 53

2.7

Giải thuật cơ sở Heuristic:...................................................................................................... 55

Chương 3: ĐỀ XUẤT ỨNG DỤNG GIẢI THUẬT HIME TRONG ĐỀ TÀI VÀ SO SÁNH VỚI
GIẢI THUẬT DO A.MUEEN CẢI TIẾN ......................................................................................... 57
Chương 4: THỰC NGHIỆM.............................................................................................................. 59
vii


4.1


Môi trường thực nghiệm: ....................................................................................................... 59

4.2

Datasets:fullEOG, insect_b, LSF5_10 của Mueen [2] và Brain [9] ........................................... 59

4.3
Thực nghiệm dựa trên các thuật toán của tác giả đề xuất như MK, MOEN và MASS so sánh
với thuật toán cải tiến HIME. ............................................................................................................... 59
4.3.1

Thực nghiệm trên bộ dữ liệu Insect_b............................................................................. 60

4.3.1.2

Chiều dài motif 256 điểm của bộ dữ liệu Insect_b 50.000 điểm .................................... 62

4.3.1.3

Chiều dài motif 512 điểm của bộ dữ liệu Insect_b 50.000 điểm ................................... 63

4.3.1.4

Chiều dài motif 1024 điểm của bộ dữ liệu Insect_b 50.000 điểm ................................. 64

4.3.1.5

Chiều dài motif cố định với bộ dữ liệu chiều dài chuỗi thời gian Insect_b thay đổi ..... 66

4.3.2


Thực nghiệm trên bộ dữ liệu fullEOG .................................................................................. 68

4.3.2.1

Chiều dài motif 128 điểm của bộ dữ liệu fullEOG 50.000 điểm ...................................... 68

4.3.2.2

Chiều dài motif 256 điểm của bộ dữ liệu fullEOG 50.000 điểm ...................................... 69

4.3.2.3

Chiều dài motif 512 điểm của bộ dữ liệu fullEOG 50.000 điểm ...................................... 70

4.3.2.4

Chiều dài motif 1024 điểm của bộ dữ liệu fullEOG 50.000 điểm .................................... 71

4.3.2.5

Chiều dài motif cố định với bộ dữ liệu chiều dài chuỗi thời gian fullEOG thay đổi ....... 73

4.3.3

Thực nghiệm trên bộ dữ liệu LSF5_10 ................................................................................. 75

4.3.3.1

Chiều dài motif 128 điểm của bộ dữ liệu LSF5_10 50.000 điểm ..................................... 75


4.3.3.3

Chiều dài motif 512 điểm của bộ dữ liệu LSF5_10 50.000 điểm ..................................... 77

4.3.3.4

Chiều dài motif 1024 điểm của bộ dữ liệu LSF5_10 50.000 điểm ................................... 78

4.3.3.5

Chiều dài motif cố định với bộ dữ liệu chiều dài chuỗi thời gian LSF5_10 thay đổi ...... 79

4.3.4

Thực nghiệm trên bộ dữ liệu Brain ...................................................................................... 81

4.3.4.1

Chiều dài motif 128 điểm của bộ dữ liệu Brain 50.000 điểm.......................................... 81

4.3.4.2

Chiều dài motif 256 điểm của bộ dữ liệu Brain 50.000 điểm.......................................... 83

4.3.4.3

Chiều dài motif 512 điểm của bộ dữ liệu Brain 50.000 điểm.......................................... 84

4.3.4.4


Chiều dài motif 1024 điểm của bộ dữ liệu LSF5_10 50.000 điểm ................................... 85

4.3.4.5

Chiều dài motif cố định với bộ dữ liệu chiều dài chuỗi thời gian Brain thay đổi .......... 87

KẾT LUẬN .......................................................................................................................................... 90
TÀI LIỆU THAM KHẢO .................................................................................................................. 91

viii


DANH MỤC HÌNH ẢNH
Hình 1.1: Đường biểu diễn một chuỗi thời gian..............................................................3
Hình 1.2: Minh họa phát hiện motif trong dữ liệu chuỗi thời gian .................................9
Hình 1.3: Ví dụ về motfi là chuỗi con xuất hiện 3 lần trong chuỗi thời gian dài hơn...10
Hình 1.4: Chuỗi con C và M sinh ra từ cửa sổ trượt và M trùng khớp với C ..............12
Hình 1.5 Chuỗi con C khớp tầm thường với chuỗi con ngay chính vị trí của nó dịch
sang trái hay bên phải một vài điểm giá trị ...................................................................12
Hình 1.6 Khoảng cách hai motif ≤ 2𝑅 (𝐴) khoảng cách hai motif >2𝑅 (B) ...............13
Hình 1.7 minh họa hai chuỗi thời gian giống nhau, nhưng (a) đường cơ bản khác nhau
và (b) biên độ giao động khác nhau...............................................................................14
Hình 1.8 Khoảng cách giữ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. (a) tính theo độ đo Euclidean và (b) tính theo độ đo DTW .....15
Hình 1.9. Cơng thức tính DTW và hình ảnh minh họa .................................................17
Hình 2.0 Minh họa cách tính khoảng cách theo DTW .................................................17
Hình 2.1 Minh họa phương pháp FFT ..........................................................................18
Hình 2.2 Minh họa phương pháp Haar wavelet ............................................................20
Hình 2.3: Các phương pháp thu giảm ...........................................................................21

Hình 2.4:Một chuỗi thời gian biến đổi PAA rồi mã hóa thành ký hiệu SAX. Chuỗi thời
gian mã hóa thành baabcabc .........................................................................................22
Hình 2.5: Phép biến đổi rời rạc hóa SAX ......................................................................23
Hình 2.6: Minh họa chuỗi con C trong chuỗi thời gian T .............................................24
Hình 2.7: Minh họa cửa sổ trượt trong dữ liệu chuỗi thời gian.....................................24
Hình 2.8: Các giải thuật phát hiện motif phổ biến hiện nay..........................................30
Hình 2.9: Điểm tham chiếu trên thuật tốn MK ............................................................32
Hình 3.0: Liệt kê các cặp motif trên dữ liệu chuỗi thời gian chọn ra cặp có vị trí tốt
nhất và khoảng cách tốt nhất .........................................................................................32
Hình 3.1: Cơng thức tính lower bound trong thuật tốn MOEN ...................................35
Hình 3.2: Mơ tả các cặp motif trên khơng gian phẳng là các điểm khi cập nhật có thể
thay đổi ..........................................................................................................................35
Hình 3.3: Biểu diễn phép biến đổi tín hiệu sang miền tần số ........................................37
Hình 3.4: Danh sách cutpoints với số ký tự từ 3 → 10 ..................................................40
ix


Hình 3.5: Một chuỗi thời gian được biến đổi Haar rồi mã hóa thành các ký hiệu SAX.
Chuỗi thời gian được mã hóa thành baabccbc...............................................................41
Hình 3.6: Các chuỗi con được rút trích ra và đưa vào List Package .............................42
Hình 3.7: Lược đồ của hai thuật tốn MK và MOEN ...................................................43
Hình 3.8: Lược đồ của hai thuật toán MASS và HIME ................................................43
Hình 3.9: Các motif hay chuỗi con được rút trích ra và đưa vào List Package ............45
Hình 4.0: So sánh cấu trúc cũng như phương pháp giữa hai thuật toán MASS và HIME
.......................................................................................................................................46
Hình 4.1 Giao diện chương trình………………………………………………………48
Hình 4.2 Kết quả thực nghiệm trên tập dữ liệu insect_b 50000_128…………………50
Hình 4.3 Kết quả thực nghiệm trên tập dữ liệu insect_b 50000_256…………………51
Hình 4.4 Kết quả thực nghiệm trên tập dữ liệu insect_b 50000_512…………………52
Hình 4.5 Kết quả thực nghiệm trên tập dữ liệu insect_b 50000_1024………………...53

Hình 4.6 So sánh thời gian thực thi trên tập dữ liệu insect_b 50000 với chiều dài motif
thay đổi…………………………...…………………………………………………...53
Hình 4.7 So sánh thời gian thực thi trên tập dữ liệu chuỗi thời gian insect_b thay đổi
với motif có chiều dài cố định 512 điểm……………………………………………...55
Hình 4.8 Kết quả thực nghiệm trên tập dữ liệu fullEOG 50000_128…………………57
Hình 4.9 Kết quả thực nghiệm trên tập dữ liệu fullEOG 50000_256…………………58
Hình 5.0 Kết quả thực nghiệm trên tập dữ liệu fullEOG 50000_512…………………59
Hình 5.1 Kết quả thực nghiệm trên tập dữ liệu fullEOG 50000_1024………………..60
Hình 5.2 So sánh thời gian thực thi trên tập dữ liệu fullEOG 50000 với chiều dài motif
thay đổi………………………………………………………………………………..60
Hình 5.3 So sánh thời gian thực thi trên tập dữ liệu chuỗi thời gian fullEOG thay đổi
với motif có chiều dài cố định 512 điểm……………………………………………...62
Hình 5.4 Kết quả thực nghiệm trên tập dữ liệu LSF5_10 50000_128………………..63
Hình 5.5 Kết quả thực nghiệm trên tập dữ liệu LSF5_10 50000_256………….……..64
Hình 5.6 Kết quả thực nghiệm trên tập dữ liệu LSF5_10 50000_512………………...65
Hình 5.7 Kết quả thực nghiệm trên tập dữ liệu LSF5_10 50000_1024……….………66
Hình 5.8 So sánh thời gian thực thi trên tập dữ liệu LSF5_10 50000 với chiều dài motif
thay đổi………………………………………………………………………………..67

x


Hình 5.9 So sánh thời gian thực thi trên tập dữ liệu chuỗi thời gian LSF5_10 thay đổi
với motif có chiều dài cố định 512 điểm………………………………………………68
Hình 6.0 Kết quả thực nghiệm trên tập dữ liệu Brain 50000_128…………………….70
Hình 6.1 Kết quả thực nghiệm trên tập dữ liệu Brain 50000_256……..……………...71
Hình 6.2 Kết quả thực nghiệm trên tập dữ liệu Brain 50000_512…………………….72
Hình 6.3 Kết quả thực nghiệm trên tập dữ liệu Brain 50000_1024………….………..73
Hình 6.4 So sánh thời gian thực thi trên tập dữ liệu Brain 50000 điểm với chiều dài motif
thay đổi……………...………………………………………………………………...74

Hình 6.5 So sánh thời gian thực thi trên tập dữ liệu chuỗi thời Brain thay đổi với motif
có chiều dài cố định 512 điểm…………………………………………………………75
DANH MỤC BẢNG
Bảng 4.3 Kết quả thực nghiệm trên bộ dữ liệu insect_b với độ dài motif 128 điểm….49
Bảng 4.5 Kết quả thực nghiệm trên bộ dữ liệu insect_b với độ dài motif 256 điểm….50
Bảng 4.7 Kết quả thực nghiệm trên bộ dữ liệu insect_b với độ dài motif 512 điểm….51
Bảng 4.9 Kết quả thực nghiệm trên bộ dữ liệu insect_b với độ dài motif 1024 điểm…52
Bảng 5.1 Kết quả thực nghiệm trên bộ dữ liệu chuỗi thời gian insect_b với độ dài motif
512 điểm với chiều dài chuỗi thời gian thay đổi……………………………….……..54
Bảng 5.3 Kết quả thực nghiệm trên bộ dữ liệu chuỗi thời gian fullEOG với độ dài motif
128 điểm………………………………………………………………………………56
Bảng 5.5 Kết quả thực nghiệm trên bộ dữ liệu chuỗi thời gian fullEOG với độ dài motif
256 điểm………………………………………………………………………………57
Bảng 5.7 Kết quả thực nghiệm trên bộ dữ liệu chuỗi thời gian fullEOG với độ dài motif
512 điểm………………………………………………………………………………58
Bảng 5.9 Kết quả thực nghiệm trên bộ dữ liệu chuỗi thời gian fullEOG với độ dài motif
1024 điểm……………………………………………………………………………..59
Bảng 6.1 Kết quả thực nghiệm trên bộ dữ liệu chuỗi thời gian fullEOG với độ dài motif
512 điểm với chiều dài chuỗi thời gian thay đổi...........................................................61
Bảng 6.3 Kết quả thực nghiệm trên bộ dữ liệu chuỗi thời gian LSF5_10 với độ dài motif
128 điểm………………………………………………………………………………63
Bảng 6.5 Kết quả thực nghiệm trên bộ dữ liệu chuỗi thời gian LSF5_10 với độ dài motif
256 điểm……………………………………….……………………………………...64

xi


Bảng 6.7 Kết quả thực nghiệm trên bộ dữ liệu chuỗi thời gian LSF5_10 với độ dài motif
512 điểm………………….…………………………………………………………...65
Bảng 6.9 Kết quả thực nghiệm trên bộ dữ liệu chuỗi thời gian LSF5_10 với độ dài motif

1024 điểm………………………………………………..……………………………66
Bảng 7.1 Kết quả thực nghiệm trên bộ dữ liệu chuỗi thời gian LSF5_10 với độ dài motif
512 điểm với chiều dài chuỗi thời gian thay đổi...........................................................68
Bảng 7.3 Kết quả thực nghiệm trên bộ dữ liệu chuỗi thời gian Brain với độ dài motif
128 điểm………………………………………………………………………………69
Bảng 7.5 Kết quả thực nghiệm trên bộ dữ liệu chuỗi thời gian Brain với độ dài motif
256 điểm…………………………...………………………………………………….71
Bảng 7.7 Kết quả thực nghiệm trên bộ dữ liệu chuỗi thời gian Brain với độ dài motif
512 điểm………………………………………………………………………………72
Bảng 7.9 Kết quả thực nghiệm trên bộ dữ liệu chuỗi thời gian Brain với độ dài motif
1024 điểm……………………………………………………………………………..73
Bảng 8.0 Các thông số đầu vào với chiều dài chuỗi thời gian thay đổi lần lượt là 20.000
điểm, 30.000 điểm và 40.000 điểm, chiều dài chuỗi con là 512 điểm, Alphabets là 3, tỉ
lệ thu giảm 1:1………………………………………………………………………...74
Bảng 8.1 Kết quả thực nghiệm trên bộ dữ liệu chuỗi thời gian Brain với độ dài motif
512 điểm với chiều dài chuỗi thời gian thay đổi............................................................75
DANH MỤC TỪ VIẾT TẮT
Thuật ngữ

Viết tắt

Best- so -far

Bsf

Discrete Fourier Transform

DFT

Fast Fourier Transform


FFT

Discrete Wavelet Transform

DWT

Dynamic Time Wraping

DTW

Mueen -Keogh

MK

MOEN

MOEN

Piecewise Aggregate Approximation

PAA

Symbolic Aggregate Approximation

SAX

Mueen’s Algorithm for Similarity Search

MASS


Hierarchical based Motif Enumeration

HIME
xii


MỞ ĐẦU
1.0 Giới thiệu về motif chuỗi thời gian
Dữ liệu chuỗi thời gian được ứng dụng rất phổ biến ở rất nhiều lĩnh vực như khoa
học kỹ thuật, kinh tế tài chính, mơi trường trong thời kỳ 4.0. Trong những ứng dụng này,
việc phát hiện motif hay còn gọi là phát hiện mẫu lặp trong dữ liệu chuỗi thời gian là công
việc cần thiết để phục vụ các công việc cao hơn trong việc khai phá dữ liệu như gom cụm,
phân lớp, khai phá luật kết hợp v.v...
Phát hiện motif chính là tìm chuỗi con trong dữ liệu chuỗi thời gian sao cho nó tương
đồng với nhau về hình dạng cũng như kích thước.
Thuật tốn phát hiện motif thực ra nó là sự cải tiến của các thuật tốn tìm kiếm chuỗi
con truy vấn xem nó có xuất hiện trong dữ liệu chuỗi thời gian? Có rất nhiều thuật tốn
phát hiện motif được đề xuất, nhưng mơ hình của những thuật toán tối ưu gồm các thuật
toán sau MK, MOEN, MASS (Mueen’s Algorithm for Similarity Search) và thuật toán
HIME (Hierarchical based Motif Enumeration) dựa vào các tiền đề chung là phương pháp
thu giảm số chiều và các cấu trúc chỉ mục không gian đa chiều.
Hiển nhiên, độ phức tạp của phương pháp phát hiện motif chính xác theo kiểu
BruteForce là bậc hai theo chiều dài của chuỗi thời gian mà từ đó các motif được phát hiện
hay các chuỗi con truy vấn được tìm thấy trong dữ liệu chuỗi thời gian và tiêu biểu là thuật
toán MK của Mueen Keogh [1].Tuy nhiên, ở thuật toán này chuỗi truy vấn hay motif có
chiều dài bằng với dữ liệu chuỗi thời gian.
Vì lý do đó, có nhiều thuật tốn phát hiện motif xấp xỉ được giới thiệu và ứng dụng
rất nhiều trong thực tế, nó rất cần thiết để phục vụ cơng việc khai phá dữ liệu cao cấp hơn
như gom cụm, phân lớp, khai phá luật kết hợp v.v... Với cách tiếp cận này thường có độ

phức tạp tính tốn là O(n) hay O(nlogn), với n là số chuỗi trong cơ sở dữ liệu chuỗi thời
gian hay chiều dài của chuỗi thời gian mà từ đó các chuỗi con hay motif được rút trích ra.
Độ phức tạp của các giải thuật này giảm hơn nhiều lần so với phương pháp phát hiện motif
chính xác. Tuy nhiên, các thuật tốn này u cầu nhiều tham số cần phải xác định trước,
làm cho việc tính tốn lớn và khơng mềm dẻo với khối lượng dữ liệu chuỗi thời gian lớn
với các chuỗi truy vấn có chiều dài thay đổi tiêu biểu là thuật tốn MOEN [2] của ơng
Mueen đề xuất năm 2014.
13


Một số thuật toán phát hiện motif xấp xỉ gần đây được đề xuất bằng cách chuẩn hóa
dữ liệu đầu vào, dùng các phương pháp thu giảm số chiều của dữ liệu chuỗi thời gian, rút
trích các đặc trưng như phương pháp biến đổi về miền tần số (FFT – Fast Fourier
Transform), phương pháp rời rạc hóa (DWT – Discrete Wavelet Transform), phương pháp
xấp xỉ gộp từng đoạn (PAA – Piecewise Aggregate Approximation) và phương pháp ký
hiệu hóa dữ liệu (SAX – Symbolic Aggregate Approximation) v.v... sau đó sử dụng phép đo
khoảng cách Euclide để gom cụm các chuỗi con có độ tương đồng từ đó tìm ra motif có
khoảng cách tốt nhất.
Trong số các thuật toán đã được đề xuất, thuật toán phát hiện motif chuỗi thời gian
với chiều dài motif thay đổi do ông Abdullah Mueen và đồng sự giới thiệu trong [2] gọi là
thuật toán MOEN. Thuật tốn này có thể phát hiện motif trong thời gian tuyến tính. Đây là
thuật tốn được trích dẫn nhiều và là cơ sở cho nhiều cách tiếp cận hiện nay trong việc
giải bài toán phát hiện motif trên dữ liệu chuỗi thời gian phục vụ cho việc khai phá dữ liệu.
Tuy nhiên, các kỹ thuật xử lý chuỗi chưa thật sự hữu hiệu khi cập nhật việc đo khoảng cách
dễ dẫn đến việc sai khi phân cụm chuỗi con, vẫn sử dụng thuật toán BruteForce đã được
tối ưu bằng cách bỏ qua việc chuẩn hóa dữ liệu cho mỗi vịng lặp hay sử dụng phương pháp
từ bỏ sớm phục vụ cho thuật tốn của mình nên phức tạp của thuật toán vẫn là bậc hai tuy
nhiên nhanh gấp 2 lần so với thuật tốn MK.
Ngồi ra, để cải thiện thuật tốn MOEN nhanh hơn năm 2015 ơng đề xuất một thuật
toán MASS bằng cách biến đổi dữ liệu đã được chuẩn hóa trước đó về miền tần số áp dụng

Fast Fourier Tranform và cho kết quả chính xác và nhanh hơn rất nhiều lần so với thuật
toán MOEN được giới thiệu năm 2014.
Bên cạnh đó, nhóm Yifeng Gao, Jessica Lin đã dựa vào các thuật toán của Mueen
đưa ra một thuật toán phát hiện motif mang tên HIME [11] bằng phép biến đổi rời rạc hóa
và phương pháp xấp xỉ gộp ký hiệu hóa áp dụng cho thuật tốn của họ. Với thuật toán này
việc xử lý dữ liệu chuỗi thời gian lớn nhanh hơn gấp 25 lần so với thuật toán Bruteforce và
gấp 4 lần so với thuật toán MASS mà ông Abdullah Mueen đề xuất và cho kết quả chính
xác như các thuật tốn trên.

14


1.1 Tổng quan về chuỗi thời gian và bài toán phát hiện motif trên dữ liệu chuỗi
thời gian.
1.1.1 Tổng quan về chuỗi thời gian.
Một chuỗi thời gian (time series) là một chuỗi các điểm dữ liệu đo đạc được theo từng
khoảng thời gian liền nhau theo một tần suất thời gian thống nhất. Hình 1.1 minh họa một
ví dụ về chuỗi thời gian biểu diễn giá cổ phiếu của FPT (đơn vị VNĐ) từ tháng 01/2019
đến tháng 11/2019.

Hình 1.1 Đường biểu diễn một chuỗi thời gian.
Dữ liệu chuỗi thời gian được sử dụng phổ biến trong nhiều ứng dụng thực tế, từ các
lĩnh vực khoa học kỹ thuật cho đến kinh tế, tài chính, mơi trường, thời tiết, địa lý và y học.
Trong những ứng dụng này, việc phát hiện các chuỗi motif có xuất hiện trong cơ sở dữ liệu
chuỗi thời gian là một công việc rất cần thiết. Mặc dù có nhiều cách tiếp cận khác nhau đã
được đề xuất, các thuật tốn trước đây thì thường phát hiện motif cho một chiều dài nhất
định như thuật toán MK sử dụng thuật toán BruteForce được cải tiến. Tuy nhiên, những
năm gần đây các thuật toán phát hiện motif với mọi chiều dài chuỗi con cũng đã được đề
xuất như thuật toán MOEN, MASS, HIME v.v...với kết quả rất ấn tượng
Những khó khăn và thách thức khi nghiên cứu về cơ sở dữ liệu chuỗi thời gian:

15


 Dữ liệu thường rất lớn. Chẳng hạn, trong 1 giờ, dữ liệu điện tâm đồ (ECG) [5] có
thể lên đến hàng GB dữ liệu.
 Phụ thuộc nhiều vào yếu tố chủ quan của người dùng và tập dữ liệu khi đánh giá
mức độ tương tự giữa các cơ sở dữ liệu chuỗi thời gian.
 Dữ liệu không đồng nhất: định dạng của dữ liệu khác nhau, tần số lấy mẫu khác
nhau. Ngồi ra, dữ liệu có thể bị nhiễu, thiếu một vài giá trị. Do giới hạn về bộ nhớ máy
tính và thời gian thực hiện, việc phân tích đúng trên các tập dữ liệu chuỗi thời gian rất lớn
là điều khơng thể. Vì vậy, một trong những vấn đề trọng tâm của việc khai phá dữ liệu
chuỗi thời gian là làm sao để thu giảm số chiều của chuỗi dữ liệu thời gian nhưng vẫn giữ
được các tính chất đặc trưng của chúng.
Bài toán phát hiện motif trong cơ sở dữ liệu chuỗi thời gian đã được nhiều nhà nghiên
cứu quan tâm trong những năm qua vì đây là bài toán cơ bản và là một thành phần nền tảng
của nhiều bài toán khác trong khai phá dữ liệu chuỗi thời gian. Đây là bài tốn khó vì kích
thước dữ liệu chuỗi thời gian thường lớn và vì chúng ta không thể lập chỉ mục dữ liệu chuỗi
thời gian một cách dễ dàng như trong hệ thống cơ sở dữ liệu truyền thống. Một vài thí dụ
về ứng dụng của phát hiện motif trên chuỗi thời gian có thể nêu ra như sau:
 Quản lý làm mát trung tâm dữ liệu của HPE tại Virginia Hoa Kỳ [3].
 Phân tích sự vận động của cơn trùng tìm ra các biến đổi gens [2].
 Dự đốn về giới tính trong sinh lý học, phân tích điện não đồ chứng động kinh
trên người [9].
 Xác định những chứng khốn có giá biến động theo một kiểu cách giống nhau
theo chu kỳ.
1.1.2 Bài toán phát hiện motif trên dữ liệu chuỗi thời gian.
Phát hiện motif chính là tìm chuỗi con trong dữ liệu chuỗi thời gian sao cho nó tương
đồng với nhau về hình dạng cũng như kích thước. Thời gian qua, đã và đang có nhiều quan
tâm của các nhà nghiên cứu về bài toán phát hiện motif trong cơ sở dữ liệu chuỗi thời gian.
Bài toán này là một thành phần quan trọng trong nhiều ứng dụng khai phá dữ liệu.

Faloutsos (1994) [8] đưa ra những tính chất mà một phương pháp phát hiện motif
(hay tìm chuỗi con) trong dữ liệu chuỗi thời gian nên có:
 Nó nên nhanh hơn việc qt tuần tự.
 Tổng phí về khơng gian nhỏ.
16


 Cho phép các câu truy vấn có chiều dài khác nhau.
 Cho phép thực hiện các thao tác chèn và xóa mà khơng phải xây dựng lại chỉ mục.
 Khơng xảy ra lỗi tìm sót (false dismissals).
 Để đạt hiệu quả cao, số lỗi tìm sai (false alarms) cũng nên thấp.
Vì vậy, để việc phát hiện motif hữu hiệu trên không gian đặc trưng, một phương pháp
thu giảm số chiều nên được kết hợp với một cấu trúc chỉ mục đa chiều nào đó.
 Bài tốn phát hiện motif trên dữ liệu chuỗi thời gian được phân làm hai loại: phát
hiện motif với chiều dài chuỗi truy vấn cố định hay motif chính xác(exact motif) và phát
hiện motif với mọi chiều dài của chuỗi truy vấn hay motif xấp xỉ (approximate motif).


Trong trường hợp phát hiện motif với chiều dài chuỗi truy vấn cố định hay

motif chính xác: Sau khi các chuỗi thời gian trong cơ sở dữ liệu và chuỗi truy vấn được
biến đổi vào không gian đặc trưng bằng một phương pháp thu giảm số chiều nào đó, q
trình tìm kiếm sẽ được thực hiện trong khơng gian đặc trưng dựa vào một cấu trúc chỉ mục
đa chiều. Các motif với chuỗi truy vấn được tìm thấy trong không gian đặc trưng sẽ được
hậu kiểm trong không gian gốc để loại bỏ những chuỗi tìm sai. Trong trường hợp này, các
chuỗi truy vấn hay motif và chuỗi thời gian được giả định là có chiều dài bằng nhau và
được giới thiệu đó là thuật tốn MK [1].
 Trong trường hợp phát hiện motif với mọi chiều dài của chuỗi truy vấn hay
motif xấp xỉ: Thủ tục phát hiện motif thực hiện theo các bước sau:



Chúng ta chuẩn hóa dữ liệu đầu vào của chuỗi thời gian biến đổi thành một
điểm trong không gian đặc trưng bao gồm các phép biến đổi được đề xuất
như biến đổi về miền tần số, rời rạc hóa, xấp xỉ gộp ký hiệu hóa v.v...



Sử dụng phép đo khoảng cách Euclide để phân cụm các cặp motif gồm vị trí
bắt đầu và vị trí kết thúc có khoảng cách tốt nhất với việc sử dụng các điểm
tham chiếu để so sánh.



Cuối cùng, chúng ta tiến hành hậu kiểm trên các chuỗi con tương ứng của
chuỗi thời gian nguồn và cập nhật lại các cặp motif có khoảng cách tốt nhất
và có vị trí phát hiện motif tốt nhất.

Gần hai thập kỷ qua từ khi phát hiện motif được giới thiệu có rất nhiều cơng trình
nghiên cứu về bài tốn phát hiện motif được giới thiệu nhưng tiêu biểu nhất đó là thuật
tốn MK, thuật toán MOEN thuật toán MASS và thuật toán HIME trong( [1] , [2], [13],
17


[10]). Các nghiên cứu đi từ bài toán đơn giản nhất đó là thuật tốn Brute Force, hoặc các
thuật tốn tối ưu hơn là thuật toán MK cho đến thuật tốn MOEN mà ơng Abdullah Mueen
đề xuất đã áp dụng việc từ bỏ sớm và sử dụng cận dưới trong phép đo khoảng cách Euclide,
ngồi ra thuật tốn MASS sử dụng phép biến đổi Fast Fourier cũng được ông Abdullah
Mueen giới thiệu năm 2015. Bên cạnh đó nhóm Yifeng Gao, Jessica Lin dựa vào các đề
xuất của Abdullah Mueen và cộng sự đưa ra thuật toán HIME bằng cách rời rạc hóa dữ
liệu, xấp xỉ gộp ký hiệu hóa để phát hiện motif và ứng dụng trong thực tế rất thành công

trong việc khai phá dữ liệu sao cho thuật tốn phải chính xác trong thực thi, khơng bỏ qua
chất lượng của kết quả và dĩ nhiên các thuật toán đề xuất sau phải nhanh hơn các thuật tốn
trước đó.
1.1 Nội dung nghiên cứu đề tài luận văn
Tìm hiểu các thuật toán phát hiện motif với chiều dài cố định với thuật tốn MK và
motif có chiều dài thay đổi trên dữ liệu chuỗi thời gian với các thuật toán mà ông Abdullah
Mueen đề xuất như MOEN, MASS và các thuật toán tương đương như HIME.
Để thực hiện việc này ta cần phải thực hiện hai bước chính sau đây:
 Xây dựng được thuật toán Brute Force, xây dựng thuật tốn đã được tối ưu hóa như
sử dụng các phương pháp biến đổi trong không gian gốc áp dụng Lower Bound cho phép
đo khoảng cách Euclide được gọi là thuật toán MK với các hàm đo khoảng cách được cải
tiến và sử dụng thuật toán này so sánh với các thuật toán MOEN, MASS và thuật toán
HIME
 Thực hiện các thuật toán trên để phát hiện motif chuỗi thời gian trên mọi chiều dài
của motif chuỗi thời gian sao cho các thuật tốn đề xuất phải:
 Nó nên nhanh hơn việc qt tuần tự.
 Tổng phí về khơng gian nhỏ.

1.2 Mục tiêu, đối tượng và phạm vi nghiên cứu

18


Các dữ liệu của chuỗi thời gian đã và đang được sử dụng một cách thường xuyên và
sâu rộng, nó tồn tại trong nhiều ứng dụng thực tế, từ các lĩnh vực khoa học kỹ thuật cho
đến kinh tế, tài chính, y học...
Mục tiêu là kiểm chứng tính đúng đắn của các thuật toán phát hiện motif trong dữ
liệu chuỗi thời gian bằng thực nghiệm trên các bộ dữ liệu mà các tác giả cung cấp, sử dụng
các giải thuật của A.Mueen đề xuất, so sánh với các thuật toán khác như HIME [13] của
Yifeng Gao, Jessica Lin cải tiến kiểm tra thuật tốn HIME nhanh và kết quả chính xác

nhằm phục vụ cho công việc khai phá dữ liệu lớn đạt hiệu quả tốt hơn so với thuật toán của
A.Mueen.
Đối tượng nghiên cứu bao gồm:
 Chuỗi thời gian.
 Thuật toán BruteForce, thuật toán MK của A.Mueen và E.Keogh
 Thuật tốn MOEN, MASS của A.Mueen.
 Thuật tốn HIME của nhóm Yifeng Gao, Jessica Lin
 Các phép đo khoảng cách : Euclide
 Các phương pháp thu giảm số chiều chuỗi thời gian dựa vào rút trích đặc
trưng như: Phương pháp biến đổi Fourier nhanh FFT, phương pháp rời rạc hóa dữ liệu
(DWT), phương pháp gộp ký hiệu hóa PAA và SAX v.v…
-

Phạm vi nghiên cứu
 Các thuật toán phát hiện motif chuỗi thời gian bao gồm thuật toán

BruteForce, MK, MOEN, thuật tốn MASS và thuật tốn HIME.
 Tìm hiểu về phương pháp thu giảm sổ chiều sử dụng phép biến đổi Fast
Forier, phương pháp rời rạc hóa, phương pháp gộp ký hiệu hóa.
1.3 Nhiệm vụ và hướng tiếp cận.
Nhiệm vụ: nghiên cứu về các thuật toán BruteForce, MK, MOEN, thuật toán MASS
và thuật toán HIME so sánh về tốc độ, sự chính xác của phát hiện motif
Nghiên cứu tìm hiểu và cài đặt các thuật toán phát hiện motif trên chuỗi thời gian áp
dụng cho các thuật tốn trên.
Nghiên cứu tìm hiểu và phát hiện motif chuỗi thời gian trên với mọi chiều dài sử dụng
phương pháp biến đổi Fourier nhanh (FFT) và phương pháp biến đổi rời rạc và gộp ký hiệu
hóa giúp thuật tốn tối ưu hơn.
19



1.4 Kết quả đạt được
 Tìm hiểu và cài đặt được các thuật toán MK, MOEN, MASS và HIME
 Cải tiến thuật tốn MASS từ thuật tốn MOEN do ơng Abdullah Mueen đề
xuất bằng cách sử dụng phương pháp FFT.
 Xây dựng và cài đặt thuật toán HIME dựa vào phương pháp SAX để phát hiện
motif.
 So sánh tất cả các thuật toán trên bằng thực nghiệm trên các tập dữ liệu từ các
tác giả và cộng sự cung cấp.
1.5 Cấu trúc đề tài luận văn
Luận văn chia làm 4 chương.
Chương 1: Cơ sở lý thuyết và các cơng trình liên quan.
Chương 2: Các thuật toán phát hiện motif trên chuỗi thời gian.
Chương 3: Kết quả thực nghiệm và Demo.
Chương 4: Kết luận.

20


Chương 1: CƠ SỞ LÝ THUYẾT VÀ CÁC CƠNG TRÌNH
LIÊN QUAN
1.1 Cơ sở lý thuyết.
1.1.1 Chuỗi thời gian (Time series)
Một chuỗi thời gian (time series) là chuỗi trị số thực, mỗi trị số biểu diễn một giá trị
đo tại những thời điểm cách đều nhau. Những tập dữ liệu chuỗi thời gian thông thường là
rất lớn và nhiều loại khác nhau xuất hiện trong nhiều lĩnh vực khác nhau như y học, kỹ
thuật, kinh tế, tài chính, v.v… Như chúng ta đã biết, ngày nay thông tin tham khảo là rất
quan trọng trong các hoạch định công việc của tất cả các bộ, ngành. Vấn đề đặt ra là với
những bộ dữ liệu cực kỳ lớn thì làm cách nào có thể tìm kiếm những thơng tin cần thiết từ
những bộ dữ liệu đó. Chính vì vậy, phát hiện motif hay so trùng chuỗi con là công tác căn
bản nhất để khai thác những cơ sở dữ liệu chuỗi thời gian cho ngành khoa học máy tính

cũng như các ngành khoa học khác.

Hình 1.2: Minh họa phát hiện motif trong dữ liệu chuỗi thời gian
Ví dụ: Các báo cáo tài chính mà ta thấy hằng ngày trên báo chí, tivi hay Internet
về các chỉ số chứng khoán, tỷ giá tiền tệ, điện tim đồ, chỉ số tăng cường hay chỉ số tiêu
dùng, dự báo thời tiết đều là những thể hiện rất thực tế của chuỗi thời gian dạng như hình
1.2 biểu diễn cho dữ liệu chuỗi thời gian màu xanh và các chuỗi con tìm thấy màu đỏ.
1.1.2 Motif trong dữ liệu chuỗi thời gian
Motif trong chuỗi dữ liệu thời gian là mẫu xuất hiện với tần suất cao nhất. Cũng có
thể hiểu như sau: Motif của một chuỗi dữ liệu thời gian là một tập hợp các chuỗi con của
nó có chiều dài, độ lớn và hình dạng trực quan tương tự nhau. Trong thực tế, một motif có
thể là sự tập hợp của 2 hay nhiều hơn không hạn chế các chuỗi con miễn là chúng tương
21


tự nhau. Hình 1.3 minh họa ví dụ về motif là chuỗi con xuất hiện ba lần trong chuỗi thời
gian dài hơn.

Hình1.3: Ví dụ về motif là chuỗi con xuất hiện 3 lần trong chuỗi thời gian dài hơn ([2])
Mục đích phát hiện motif trong chuỗi dữ liệu thời gian nhằm phục vụ cho việc khai
phá (Data Mining) hoặc phân tích dữ liệu khơng giám sát (Unsupervise Learning) bao gồm
phân cụm dữ liệu chuỗi thời gian (Time series Clustering), khám phá luật (Rule discovery),
xây dựng từ điển (Dictionary building) v.v...
Phát hiện motif trong dữ liệu chuỗi thời gian cũng được sử dụng trong các nghiên cứu
khoa học khác như quản lý việc làm mát trung tâm dữ liệu của HPE tại Virginia [3], Phân
tích các hoạt động của sâu bọ [2], dự đoán trong tin sinh học và ghi nhận các hoạt động
của các loài động vật của ngành sinh học.Tóm lại, nó đã và đang được dùng để giải quyết
các bài toán trong nhiều lĩnh vực đa dạng như: y học, giải trí, sinh học, dự báo thời tiết, tài
chính, khoa học kỹ thuật….
Những dữ liệu được quan sát liên tục cho một hiện tượng (vật lý, kinh tế, không gian,

thiên văn, y học, khoa học kỹ thuật…) trong một khoảng thời gian sẽ tạo nên một chuỗi
thời gian. Ví dụ, doanh số của cơng ty FPT trong 10 năm gần đây, hoặc nhiệt độ ghi nhận
tại một trạm quan trắc khí tượng tại TP.HCM trong 10 tháng qua, hoặc công suất điện năng
tiêu thụ trong một nhà máy theo mùa, đó là các ví dụ điển hình cho một chuỗi thời gian.
Với chuỗi thời gian ta thường biểu diễn trong một mặt phẳng với trục hoành biểu thị thời
gian và trục tung biểu thị giá trị biến quan sát.

22


Định nghĩa 1: Chuỗi thời gian (Time series): Một chuỗi thời gian 𝑇 = 𝑡1 , 𝑡2 , . . , 𝑡𝑛 là
một tập hợp có thứ tự của n mẫu giá trị thực được đo đạc tại những khoảng thời gian liên
tục bằng nhau [3]. Như vậy chuỗi thời gian được định nghĩa như sau:
-

Chuỗi thời gian là tập các mẫu giá trị được quan sát tuần tự theo thời gian.

-

Chuỗi thời gian là các dãy giá trị thay đổi trên các khoảng cách thời gian bằng
nhau

-

Chuỗi thời gian là một dãy các điểm dữ liệu được đo ở các thời điểm liên tiếp
nhau, cách nhau một khoảng thời gian cố định. Chuỗi thời gian thì rất phổ biến
như: giá chứng khoán hàng ngày trên sàn giao dịch HOSE TP.HCM, mực nước
hàng ngày của sông Đồng Nai, dữ liệu điện tâm đồ, mức độ ô nhiễm bụi mịn
hàng ngày ở các thành phố lơn như Hà Nội, TP.HCM v.v...


Chuỗi thời gian có thể được xem xét như tập dữ liệu hai chiều với các giá trị tương
ứng là (T,X), với T là thời điểm mà giá trị X được xác định hay X là giá trị quan tại thời
điểm T.
Định nghĩa 2: Motif hay chuỗi con (Subsequence): Cho một chuỗi thời gian T có
chiều dài là n, một chuỗi con C trong T có chiều dài m là một mẫu của những giá trị liên
tục trích từ T sao cho 𝐶 = 𝑡𝑝 , … , 𝑡𝑝+𝑚−1 𝑣ớ𝑖 1 ≤ 𝑝 ≤ 𝑛 − 𝑚 + 1 [1]
Định nghĩa 3: Cơ sở dữ liệu chuỗi thời gian (Time series database): là một tập khơng
có thứ tự của nhiều chuỗi thời gian. Ký hiệu 𝐷 = {𝑇1 , … , 𝑇𝑛 } [16]. Vì tất cả các chuỗi con
đều có khả năng là ứng viên motif cần tìm nên tất các các giải thuật nào cũng phải rút trích
tất cả những chuỗi con có thể có trong dữ liệu chuỗi thời gian. Điều này có thể đạt được
bằng cách sử dụng cửa sổ trượt (Sliding Window).
Định nghĩa 4: Cửa sổ trượt (Sliding Window): cho một chuỗi thời gian T có chiều
dài n, một cửa sổ có kích thước w do người dùng định nghĩa (thường thì 𝑤 ≪ 𝑛) sẽ trượt
qua từng điểm giá trị trên chuỗi T, kết quả là ta thu được một danh sách 𝑛 − 𝑤 + 1 các
chuỗi con có kích thước w được rút trích từ T [17].
Một chuỗi con được sinh ra từ cửa sổ trượt cần được kiểm tra xem có tương tự với
một chuỗi con khác trong cơ sở dữ liệu chuỗi thời gian hay khơng dựa vào một hàm tính
khoảng cách xem có trùng khớp (Match) với nhau hay khơng.
Định nghĩa 5: Trùng khớp (Match): cho một số thực R và một dữ liệu chuỗi thời gian
T chứa một chuỗi con C bắt đầu tại vị trí p và một chuỗi con bắt đầu từ vị trí q nào đó, nếu

23


hàm tính khoảng cách từ C đến M ký hiệu là 𝐷 (𝐶, 𝑀) ≤ 𝑅 thì ta nói là một chuỗi con M
trùng khớp với chuỗi con C [17], Hình ()

Hình 1.4: Chuỗi con C và M sinh ra từ cửa sổ trượt và M trùng khớp với C ([17])
Định nghĩa về trùng khớp của hai chuỗi con thì nhìn rất rõ ràng và trực quan. Tuy
nhiên, cần phải làm rõ khái niệm trùng khớp tầm thường (Trivial Match). Dĩ nhiên chúng

ta thấy một chuỗi con trùng khớp tốt nhất (best match) với một chuỗi con khác mà gần như
là chính nó cả về kích thước cũng như hình dạng, là chuỗi con được sinh ra từ cửa sổ trượt
khi trượt về bên trái hay bên phải của chính nó chỉ một vài điểm giá trị. Do vậy, trong việc
phát hiện motif thì cần loại bỏ trường hợp này.
Định nghĩa 6: Trùng khớp tầm thường (Trivial match): cho một dữ liệu chuỗi thời
gian T và một chuỗi con C bắt đầu tại vị trí p và một chuỗi con M khớp được với C bắt đầu
tại vị trí q. Chúng ta nói chuỗi con M là trùng khớp tầm thường với chuỗi con C nếu 𝑝 = 𝑞
hoặc không tồn tại chuỗi M’ nào bắt đầu từ vị trí q’ sao cho
𝐷 (𝐶, 𝑀′ ) > 𝑅 𝑣à 𝑞 < 𝑞′ < 𝑝 hoặc 𝑝 < 𝑞′ < 𝑞 (Hình 1.5)

Hình 1.5: Chuỗi con C khớp tầm thường với chuỗi con ngay chính vị trí của nó
dịch sang trái hay bên phải một vài điểm giá trị [1]
Ví dụ: xem chuỗi sau : “talaiuyuiuiouioDADADAnbxvjkdjgsltala”. Ta thấy các cặp
{DADA,DADA} là một motif. Chúng chia sẻ 50% chiều dài của nhau. Do vậy, motif này
được gọi là motif trùng khớp tầm thường.

24


Định nghĩa 7: Trùng khớp không tầm thường (Time Series Discords) nếu và chỉ nếu
chúng là các cặp chuỗi không giao nhau. Trong ví dụ trên ta thấy cặp chuỗi {“tala”,”tala”}
là một motif trùng khớp không tầm thường.
Cho chuỗi thời gian T, chứa chuỗi con C với độ dài n bắt đấu tại điểm p và một chuỗi
con gần giống chuỗi C là M bắt đầu tại q. Ta nói M khớp không tầm thường với C nếu |p
− q| ≥ n
Định nghĩa 8: 𝐾 − 𝑚𝑜𝑡𝑖𝑓: cho một chuỗi thời gian T có chiều dài n và một số thực
R, motif tốt nhất trong T (1 − 𝑚𝑜𝑡𝑖𝑓) là chuỗi con 𝐶𝑖 nào đó trong T có số lượng chuỗi con
trùng khớp khơng tầm thường với nó tốt nhất. Motif bậc K ( 𝐾 − 𝑚𝑜𝑡𝑖𝑓) là chuỗi con 𝐶𝑘
nào đó trong T có số lượng chuỗi con trùng khớp khơng tầm thường với nó cao thứ K phải
thỏa mãn điều kiện sau

𝐷 (𝐶𝑘 , 𝐶𝑖 ) > 2𝑅, 𝑣ớ𝑖 𝑚ọ𝑖 1 ≤ 𝑖 ≤ 𝐾 ( [7]) (Hình 1.6)

Hình 1.6: Khoảng cách hai motif ≤ 2𝑅 (A) khoảng cách hai motif > 2𝑅 (B)
Định nghĩa này nhấn mạnh rằng các chuỗi con trong tập các motif phải tách biệt nhau. Điều
này rất quan trọng vì nếu hai motif có chuỗi con chung, hay các chuỗi con bao phủ nhau
thì motif bao phủ được xem như một motif tốt nhất [2] Hình A.
1.1.3 Các độ đo tương tự.
Trong việc phát hiện motif hay bài toán so trùng chuỗi con trong dữ liệu chuỗi thời
gian, để so sánh hai chuỗi con các tác giả phải sử dụng các độ đo tương tự. Hai chuỗi so
sánh được coi là giống nhau khi độ đo tương tự giữa chúng bằng 0. Hai chuỗi con được coi
25


là tương tự nếu độ đo giữa chúng phải nhỏ hơn một giá trị 𝜀 đã được quy ước trước đó và
để dụng được phép so sánh này thì độ đo phải được biểu diễn thành các số thực và thỏa các
tính chất sau:
-

𝐷 (𝑥, 𝑦) = 0 𝑛ế𝑢 𝑣à 𝑐ℎỉ 𝑛ế𝑢 𝑥 = 𝑦

-

𝐷 (𝑥, 𝑦) = 𝐷(𝑦, 𝑥)

-

𝐷 (𝑥, 𝑦) ≥ 0 𝑣ớ𝑖 𝑚ọ𝑖 𝑥, 𝑦

-


𝐷 (𝑥, 𝑦) < 𝐷 (𝑥, 𝑧) + 𝐷(𝑦, 𝑧)

Có nhiều độ đo tương tự đã được sử dụng như: độ đo Euclide, độ đo Minkowski, độ
đo xoắn thời gian động (DTW). Việc chọn một độ đo tương tự tùy thuộc rất nhiều vào lĩnh
vực ứng dụng. Trong nhiều trường hợp thì độ đo khoảng cách Euclide là đủ tốt để dùng.
1.1.3.1 Độ đo Euclide.
Ký hiệu là D(X,Y) độ tương tự giữa hai chuỗi X và Y có chiều dài n và được định
nghĩa như sau:
D( X , Y ) 

n

 x
i 1

i

 yi  , với xi  X, yi  Y, i = 1, …, n
2

Độ đo Euclide có ưu điểm tính tốn dễ dàng, dễ mở rộng cho nhiều bài toán khai
phá dữ liệu khác như gom cụm, phân lớp, phát hiện motif và được sử dụng cho các thuật
toán được giới thiệu trong luận văn này như MK, MOEN, MASS, HIME. 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 các cặp giá trị tương
ứng trong hai chuỗi 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 3 minh họa trường hợp này.

(a)


(b)

Hình 1.7 Minh họa hai chuỗi thời gian giống nhau, nhưng (a) đường cơ bản khác
nhau và (b) biên độ giao động khác nhau [1].

26


Để khắc phục trường hợp này trước khi áp dụng hàm đo khoảng cách Euclide các
tác giả cần thực hiện chuẩn hóa dữ liệu. Các phương pháp chuẩn hóa thường được dùng là:
-

Chuẩn hóa trung bình zero (Zero-Mean normalization)
Chuỗi Q được biến đổi thành chuỗi Q’ theo công thức:
𝑄′ [𝑖] = (𝑄 [𝑖] − 𝑚𝑒𝑎𝑛(𝑄))/𝑣𝑎𝑟(𝑄 )
𝑉ớ𝑖 𝑚𝑒𝑎𝑛(𝑄) là giá trị tring bình của 𝑄 và 𝑣𝑎𝑟(𝑄) là độ lệch chuẩn của 𝑄

-

Chuẩn hóa Min- Max (Min-Max normalization)
Chuỗi Q được biến đổi thành chuỗi Q’ theo công thức:
𝑄 ′ [𝑖 ] =

𝑄 [𝑖] − 𝑀𝑖𝑛𝑜𝑙𝑑
(𝑀𝑎𝑥𝑛𝑒𝑤 − 𝑀𝑖𝑛𝑛𝑒𝑤 ) + 𝑀𝑖𝑛𝑛𝑒𝑤
𝑀𝑎𝑥𝑜𝑙𝑑 − 𝑀𝑖𝑛𝑜𝑙𝑑

Với 𝑀𝑖𝑛𝑜𝑙𝑑 𝑣à 𝑀𝑎𝑥𝑜𝑙𝑑 là giá trị nhỏ nhất và lớn nhất của chuỗi ban đầu và
𝑀𝑖𝑛𝑛𝑒𝑤 𝑣à 𝑀𝑎𝑥𝑛𝑒𝑤 là giá trị nhỏ nhất và lớn nhất sau khi đã được chuẩn hóa.
1.1.3.2 Độ đo xoắn thời gian động (Dynamic Time Warping - DTW).

Trong trường hợp hai chuỗi con 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 mẫu 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 1.8) 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.

Hình 1.8: Khoảng cách giữ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. (a) tính theo độ đo Euclidean và (b) tính theo độ đo
DTW [2]
Trong trường hợp này, nếu tính khoảng cách bằng cách ánh xạ 1-1 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, một điểm có thể ánh xạ với nhiều điểm và ánh xạ
27


này không thẳng hàng. Phương pháp này gọi là xoắn thời gian động (Dynamic Time
Warping - DTW).
Độ đo tương tự DTW có ưu điểm là cho kết quả chính xác hơn so với độ đo Euclide
và cho phép nhận dạng mẫu có hình dạng giống nhau nhưng chiều dài hình dạng về thời
gian có thể khác nhau. Độ đo tương tự này có nhược điểm là thời gian chạy lâu, tuy nhiên
đã có một số thuật tốn áp dụng phép đo DTW cải tiến cho thuật tốn của mình tiêu biểu
nhất là cơng trình của Keogh và các cộng sự năm 2002 [1].
Cách tính DTW: cách đơn giản nhất để tính DTW của 2 đường X và Y là xây dựng
một ma trận 𝐷𝑚 𝑥 𝑛 với 𝑚 = |𝑋 | và 𝑛 = |𝑌|. Khi đó, 𝐷𝑖𝑗 = 𝑑(𝑥𝑖 , 𝑦𝑗 ).
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.
 Ô (i,j) thuộc đường đi phải thỏa yêu cầu |𝑖 − 𝑗| ≤ 𝑤
Giả sử có K ơ đi từ ơ (0,0) đến ô (m,n) thỏa những điều kiện trên ta có công thức:

𝐾

𝐷𝑇𝑊 (𝑄, 𝐶 ) = 𝑚𝑖𝑛 {√∑

𝑤𝑘 /𝐾}

𝑘=1

Chi tiết hơn ta có:

Hình 1.9 Cơng thức tính DTW và hình ảnh minh họa ([3])

28


Tuy nhiên chúng ta có thể dùng quy hoạch động để giải quyết bài tốn này. Trong
đó, cơng thức truy hồi để tính D(i,j):
𝐷 (𝑖, 𝑗) = |𝑥𝑖 − 𝑦𝑗 | + 𝑚𝑖𝑛{𝐷 (𝑖 − 1, 𝑗), 𝐷 (𝑖 − 1, 𝑗 − 1), 𝐷 (𝑖, 𝑗 − 1)}

Hình 2.0 Minh họa cách tính khoảng cách theo DTW ([3]).
1.1.3.3 Phép đo Minkowski
Phép đo Minkowski ký hiệu 𝐷 (𝑋, 𝑌) là dạng tổng quát của phép đo khoảng cách
Euclide và cho bởi công thức:
𝐷(𝑋, 𝑌) = √∑𝑛𝑖=1(𝑥𝑖 , 𝑦𝑖 )2 với xi  X, yi  Y, i = 1, …, n
𝑝

 Khi 𝑝 = 1 ta có khoảng cách Manhattan
 Khi 𝑝 = 2 ta có khoảng cách Euclide
 Khi 𝑝 = ∞ ta có khoảng cách Max
Tuy nhiên, trong các thuật toán giới thiệu trong luận văn này chỉ sử dụng phép đo

khoảng cách Euclide.
1.1.4 Các phương pháp thu giảm số chiều chuỗi thời gian.
Có nhiều phương pháp thu giảm số chiều đã được đề xuất. Dữ liệu chuỗi thời gian
thường cực kỳ lớn. Tìm kiếm trực tiếp trên những dữ liệu này sẽ rất phức tạp và không
hữu hiệu. Để khắc phục vấn đề này, ta nên áp dụng một số phương pháp biến đổi để thu
giảm độ lớn của dữ liệu. Những phương pháp biến đổi này thường được gọi là những kỹ
thuật thu giảm số chiều (dimensionality reduction).
Nó là phương pháp biểu diễn chuỗi thời gian n chiều X={ 𝑥1 , 𝑥2 , 𝑥𝑛 } về dạng cơ bản
m chiều Y={ 𝑦1 , 𝑦2 , 𝑦𝑚 } sao cho 𝑛 ≫ 𝑚 nhưng vẫn giữa các đặc trưng của chuỗi thời gian
gốc với m càng lớn thì sự khơi phục về trạng thái gốc càng chính xác.
29


Phương pháp tổng quát để thu giảm số chiều có thể tóm tắt như sau:


Thiết lập một độ đo tương tự d



Thiết kế một kỹ thuật thu giảm số chiều để rút trích một đặc trưng có chiều

dài k (tức là một đặc trưng gồm k (giá trị), với k có thể được xử lý một cách hữu hiệu nhờ
một cấu trúc chỉ mục không gian (đa chiều).


Cung cấp một độ đo tương tự dk trên một không gian đặc trưng k chiều và

chứng tỏ rằng nó tuân thủ điều kiện sau đây:
𝑑𝑘(𝑋 ′ , 𝑌 ′ ) ≤ 𝑑 (𝑋, 𝑌)


(1)

Điều kiện (1) có nghĩa là hàm khoảng cách tính trên khơng gian đặc trưng (hay khơng
gian thu giảm) của hai chuỗi thời gian đã được biến đổi X’, Y’ từ hai chuỗi thời gian ban
đầu X, Y phải chặn dưới khoảng cách thật giữa chúng trên không gian ngun
thủy. Có ba nhóm phương pháp chính để thu giảm số chiểu là phương pháp biến đổi sang
miền tần số, phương pháp rời rạc hóa và phương pháp gộp ký hiệu hóa.
1.1.4.1

Phương pháp biến đổi Fourier rời rạc: Kỹ thuật thu giảm số chiều

áp dụng phương pháp DFT do Agrawal và cộng sự đề xuất năm 1993 [13]. Ý tưởng cơ bản
của phương pháp này là thu giảm số chiều một chuỗi thời gian X có chiều dài n vào không
gian đặc trưng N chiều Y (N << n) dữ liệu chuỗi thời gian ban đầu được biến đổi thành tập
các hệ số (gọi là hệ số Fourier), các hệ số này có dạng sóng hình sin (và/hoặc cosin) và
được tính theo cơng thức sau:

𝐶𝑘 =

1

𝑛−1

∑ 𝑥𝑡 𝑒 −𝑗2𝜋𝑘𝑡

√𝑛 𝑡=0

Trong đó, 𝐶𝑘 là số phức với k =0, …, n-1, 𝑥𝑡 là giá trị thứ t của chuỗi thời gian,
t =0, …, n-1 và j = √−1.


Hình 2.1 Minh họa phương pháp FFT ([13])
30


×